JP4814090B2 - コンピュータプログラムの更新をするコンテンツ利用装置及び更新制御方法 - Google Patents
コンピュータプログラムの更新をするコンテンツ利用装置及び更新制御方法 Download PDFInfo
- 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
Links
- 238000004590 computer program Methods 0.000 title claims abstract description 154
- 238000000034 method Methods 0.000 title claims description 321
- 238000012545 processing Methods 0.000 claims abstract description 86
- 230000008569 process Effects 0.000 claims description 236
- 238000003860 storage Methods 0.000 claims description 109
- 238000004519 manufacturing process Methods 0.000 claims description 8
- 238000004891 communication Methods 0.000 description 132
- 238000009434 installation Methods 0.000 description 110
- 238000012795 verification Methods 0.000 description 108
- 238000004422 calculation algorithm Methods 0.000 description 79
- 238000007726 management method Methods 0.000 description 61
- 230000006835 compression Effects 0.000 description 37
- 230000008859 change Effects 0.000 description 33
- 238000007906 compression Methods 0.000 description 31
- 230000006870 function Effects 0.000 description 30
- 239000000725 suspension Substances 0.000 description 18
- 230000006837 decompression Effects 0.000 description 15
- 238000013478 data encryption standard Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 11
- 230000004048 modification Effects 0.000 description 7
- 238000012986 modification Methods 0.000 description 7
- 238000003825 pressing Methods 0.000 description 7
- 238000001514 detection method Methods 0.000 description 5
- 238000011900 installation process Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 230000007547 defect Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 238000009826 distribution Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000013524 data verification Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000009469 supplementation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/00086—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
- G11B20/0021—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/656—Updates while running
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/00086—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/00086—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
- G11B20/00166—Circuits 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/00181—Circuits 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]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/00086—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
- G11B20/00188—Circuits 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/00195—Circuits 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/00086—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
- G11B20/00855—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a step of exchanging information with a remote server
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing 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/2137—Time limited access, e.g. to a computer or data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing 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/2151—Time stamp
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software 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
しかし、コンピュータプログラムの更新は、基本的には装置を有している利用者に任されているため、コンピュータプログラム中の重大な不具合が発見された場合、更新用のプログラムが利用者に配布されたとしても、利用者により装置に記憶されているコンピュータプログラムの更新がされないことがある。
このような問題に対して、特許文献1では、ネットワークを介して端末装置と接続されたバージョンアップ管理サーバにより、端末装置のコンピュータプログラムの自動更新を行う技術が開示されている。この技術によると、前記バージョンアップ管理サーバは、前記コンピュータプログラムの更新用ファイルと最新バージョン情報とを記憶しており、端末装置は起動するたびに自身が記憶しているコンピュータプログラムのバージョン情報を前記バージョンアップ管理サーバに送信し、前記バージョンアップ管理サーバは、受信したバージョン情報と記憶している最新バージョン情報を比較し、必要に応じて更新ファイルを端末装置に送信する。端末装置は受信した更新ファイルをもとに、前記コンピュータプログラムを更新する。
この問題を解決するために、本発明は、価値の高いコンテンツの保護と利用者の利便性の調整を図りつつ、確実にコンピュータプログラムの更新を行うコンテンツ利用装置、更新制御方法及び更新制御プログラムを提供することを目的とする。
この構成によると、前記コンピュータプログラムが適切でなく、前記コンテンツの価値が一定基準を満たさないとき、前記更新手段は、前記更新よりも前記コンテンツの利用を優先する。従って、この場合、利用者を、前記更新が終了するまで待たせることはなく、利用者にとっての利便性を向上させることができる。
本発明において、前記価値判断手段は、前記価値を示す情報として、前記コンテンツが制作された制作時期を取得し、取得した前記制作時期が、現時点から所定期間内であれば、取得した価値が一定基準を満たすと決定し、取得した前記制作時期が、現時点から所定期間よりも前であれば、取得した価値が一定基準を満たさないと決定することを特徴とする。
例えば、地域や国ごとに、発売日をずらして、コンテンツを販売するような場合、先に発売を開始された地域での、販売数量が多ければ、後に発売される地域でもある程度の販売数量が期待できる。従って、このような場合を想定すると、販売数量の多いコンテンツは保護価値が高いと考えられる。
前記コンテンツ利用装置を構成する前記価値判断手段は、前記価値を示す情報として、前記コンテンツの品質を取得し、取得した前記品質が、所定値以上であれば、取得した価値が一定基準を満たすと決定し、所定値未満であれば、取得した価値が一定基準を満たさないと決定することを特徴とする。
前記コンテンツ利用装置を構成する前記更新手段は、前記コンピュータプログラムを更新する内容が定義された更新プログラムを取得し、取得した更新プログラムを用いて、前記記憶手段に記憶されている前記コンピュータプログラムを更新することを特徴とする。
ネットワークを介して前記コンテンツ利用装置に接続されているサーバ装置は、前記更新プログラムをあらかじめ記録しており、前記コンテンツ利用装置に含まれる前記更新手段は、ネットワークを介して前記サーバ装置から前記更新プログラムを取得することを特徴とする。
前記コンテンツを記録しているコンテンツ記録媒体は、前記更新プログラムをあらかじめ記録しており、前記コンテンツ利用装置において、前記更新手段は、前記コンテンツ記録媒体から前記更新プログラムを読み出すことにより、取得することを特徴とする。
前記コンテンツ利用装置は、さらに、前記コンテンツを記録しているコンテンツ記録媒体が装着されたことを検出する検出手段を備え、前記価値判断手段及び適性判断手段は、それぞれ、前記コンテンツ記録媒体が装着されたことが検出された場合に、判断を行うことを特徴とする。
当該コンテンツ利用装置は、前記正当性の検証プロセスにより、正当な前記更新プログラムを取得することができる。また、前記更新プログラムを圧縮しておくことで、前記更新プログラムを効率よく取得することができる。
これにより、利用者は、前記プロセス実行のために前記所定時間以上に、前記コンピュータプログラムの実行を待たされることはない。
この構成により、利用者は、前記取得プロセスの実行のために前記所定時間以上に前記コンピュータプログラムの実行を待たされることはない。
前記コンテンツ利用装置に含まれる前記支障判断部は、前記更新プロセスの実行に要すると予測される予測時間と、所定時間とを比較することを特徴とする。
前記コンテンツ利用装置は、マイクロプロセッサを内蔵し、各手段は、前記マイクロプロセッサにより、動作し、前記コンテンツ利用装置は、前記マイクロプロセッサの稼働率を算出し、前記支障判断部は、前記稼働率が一定値以上の場合に、支障を来すと判断することを特徴とする。
本発明において、前記終了判断部は、前記コンピュータプログラムによる処理の完了を検出し、前記完了を検出した場合に、前記コンピュータプログラムによる処理が終了したと判断することを特徴とする。
また、前記終了判断部は、利用者による前記コンテンツ利用装置の電源offの操作を検出し、前記操作を検出した場合に、前記コンピュータプログラムによる処理が終了したと判断する。
本発明は、コンテンツの価値を提供するサーバ装置であって、コンテンツの価値を記憶している記憶手段と、コンテンツの価値判断の要求元からコンテンツの識別子を受信する受信手段と、受信した識別子により識別されるコンテンツの価値を読み出し、読み出した価値が一定基準を満たすか否かを判断する価値判断手段と、判断結果を要求元に送信する送信手段とを備えることを特徴とする。
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個の実施の形態としてのアップデートシステム10について説明する。
1.1 アップデートシステム10の構成
アップデートシステム10は、図1に示すように端末装置100、サーバ装置400、証明書管理装置600から構成され、これらはインターネットを介して接続されている。
前記コンテンツ視聴プログラムは、開発メーカーにより繰り返し改良が重ねられ、改良される都度、古い世代のコンテンツ視聴プログラムを新しい世代に更新するための更新プログラムが利用者に配布される。このように、最初にコンテンツ視聴プログラムが開発されてから、現時点における最新のコンテンツ視聴プログラムが開発されるまでには、複数の世代のコンテンツ視聴プログラムが存在し、各世代のコンテンツ視聴プログラムを識別するために、各世代を示すバージョン情報が用いられる。
サーバ装置400は、前記コンテンツ視聴プログラムを新しい世代に更新するための更新プログラムを記憶しており、端末装置100からの要求に応じて更新プログラムを端末装置100へ送信する。
更新プログラムのダウンロードプロセス、検証プロセス及びインストールプロセスを含む1連の処理をアップデートと呼称する。ただし、更新プログラムを取得してくる相手先により、アップデートには、前記のプロセスに加えて取得した更新プログラムの検証プロセス及び圧縮された更新プログラムの解凍プロセスが加わる場合、また、ダウンロードプロセスが存在しない場合がある。
更新すると判断される場合に、端末装置100は、ダウンロードに要する時間を算出する。
端末装置100は、内部に利用者又は端末装置100の生産メーカにより設定されたダウンロード許容時間、検証許容時間及びインストール許容時間を記憶しており、算出したダウンロード時間と、ダウンロード許容時間とを比較し、計算したダウンロード時間が許容時間以内であると判断すれば、即実行し、許容時間を超えていると判断すればダウンロード以降の処理を保留する。
保留した処理は、例えば、利用者が前記コンテンツの視聴を終えてから実行する。
1.2 DVD500a、DVD500b及びDVD500c
端末装置100に装着されるDVDには、DVD500a、500b及び500cの3種類あり、DVD500a、500b及び500cは、大容量のデータを記録することができる可搬型の光ディスク媒体である。
DVD500aが装着された場合は、端末装置100は、自身が記憶しているコンテンツ視聴プログラムのバージョン情報をサーバ装置400へ送信し、サーバ装置400は、送信されたバージョン情報とサーバ装置400が記憶している最新バージョン情報とを比較し、サーバ装置400に記憶されている最新バージョン情報の方が新しい場合には、サーバ装置400は、更新プログラムを送信し、端末装置100は、更新プログラムを受信する。
ここで、DVD500a、500b及び500cに記憶されているプログラム及びデータの構成について、図2を用いて説明する。
DVD500bは、コンテンツ501bとバージョン情報505b及びプログラムサイズ表530bとを記憶している。
バージョン情報505bは、コンテンツ501bの再生に適した前記コンテンツ視聴プログラムの世代を示している。ここでは、バージョン情報505bは、サーバ装置400が記憶している最新バージョン情報と同一であるとする。
なお、図示されていないが、DVD500a、500b及び500cは、自身が記憶しているコンテンツを再生するためのコンテンツ視聴プログラムを示すプログラム識別子を記憶している。
サーバ装置400は、図3に示すように通信暗号復号部401、認証部402、通信部403、入力部405、制御部407、情報記憶部410及び表示部413から構成される。
(1)情報記憶部410
情報記憶部410はハードディスクユニットから構成され、コンテンツ記憶部412とプログラム記憶部415を含む。
プログラム記憶部415は、一例として、図4に示すように、プログラム更新テーブル420と、プログラムフォルダAI430とプログラムフォルダB440を含む。
プログラムフォルダB440は、一例として、コンピュータプログラムの開発メーカーにより作成された更新プログラム441、445を記憶している。
暗号化圧縮更新プログラム432は、更新プログラム441に圧縮アルゴリズムPを施して生成された圧縮更新プログラムに、プログラム鍵を用いて暗号化アルゴリズムE1を施して生成する。暗号化アルゴリズムE1は一例として、DES(Data Encryption Standard)によるものである。DESについては公知の技術であるので説明を省略する。
プログラムファイル435は、更新プログラム445から生成された暗号化圧縮更新プログラム436とチェックデータ437とから構成される。
通信部403は、インターネット20に接続されており、インターネット20に接続されている外部装置と、制御部407又は認証部402との間で情報の送受信を行う。
ここで、前記外部装置は、具体的には、端末装置100である。
(3)認証部402
認証部402は、図6に示すように、認証制御部471と内部メモリ472から構成される。
認証制御部471は、制御部407の端末装置100との通信に先だって、以下のようにして外部装置とセッション鍵を共有しSACを確立する。
ここで、Gen()を鍵生成関数とし、Yをシステム固有のパラメータとする。鍵生成関数Gen()は、Gen(x,Gen(z,Y))=Gen(z,Gen(x,Y))の関係を満たすものとする。鍵生成関数は任意の公知技術で実施可能なため、詳細についてここでは説明しない。その1例として、非特許文献1及び非特許文献2に公開鍵配送法が開示されている。
登録されていると判断すると、認証部471は、SAC確立の処理を終了する。
登録されていないと判断する場合、認証制御部471は、内部メモリ472から公開鍵証明書Cert_B_480を読み出し、読み出した公開鍵証明書Cert_B_480を通信部403を介して端末装置100へ送信する。
次に、認証制御部471は、通信部403を介して端末装置100から署名データSig_Aを受け取り、公開鍵証明書Cert_Aに含んで受け取った公開鍵PK_Aを用いて、受け取った署名データSig_Aに署名検証アルゴリズムVを施して署名検証し、検証結果が失敗の場合、SAC確立の処理を終了する。
認証制御部471は、乱数「b」を生成し、生成した乱数「b」を用いてKey_B=Gen(b,Y)を生成する。次に、生成したKey_Bを、通信部403を介して端末装置100へ送信する。
次に、生成したセッション鍵を通信暗号復号部401へ出力し、制御部407へSAC確立成功を示す制御信号を出力する。
(4)制御部407
制御部407は、具体的には図示していないマイクロプロセッサ、RAM及びROMから構成され、前記RAM及びROMにはコンピュータプログラムが記憶されており、前記マイクロプロセッサが前記コンピュータプログラムに従って動作することにより、制御部407はその機能を達成する。
また、制御部407は、通信部403を介して、端末装置100から暗号化タイトルと暗号化バージョン情報とを受け取る。これらの情報を受け取ると、受け取った暗号化タイトルと暗号化バージョン情報とを通信暗号復号部401に出力し、復号を指示する。通信暗号復号部401からタイトルとバージョン情報を受け取り、受け取ったタイトルを含むプログラム情報から最新バージョン情報を読み出し、読み出した最新バージョン情報と、受け取ったバージョン情報とを比較する。受け取ったバージョン情報と最新バージョン情報が同じ世代を示していると、比較結果「0」を生成する。
通信暗号復号部401は、認証部402からセッション鍵を受け取り、受け取ったセッション鍵を記憶する。新しくセッション鍵を受け取ると、記憶しているセッション鍵を削除し、新しく受け取ったセッション鍵を記憶する。
通信暗号復号部401は、制御部407から暗号化タイトルと暗号化バージョン情報とを受け取り復号を指示されると、セッション鍵を用いて、受け取った暗号化タイトルと暗号化バージョン情報とに、復号アルゴリズムD2を施して、タイトルとバージョン情報とを生成し、生成したタイトルとバージョン情報とを制御部407へ出力する。
ここで、復号アルゴリズムD2は、暗号化アルゴリズムE2による暗号化データを復号するアルゴリズムである。暗号化アルゴリズムE2、E3は一例として、DES(Data Encryption Standard)によるものである。DESについては公知の技術であるので説明を省略する。
入力部405は、サーバ装置400の操作者によるデータ又は指示の入力を受け付け、受け付けたデータ又は指示を制御部407へ出力する。
表示部413は、制御部407の制御の基に、各種情報を表示する。
1.4 端末装置100
端末装置100は、図7に示すように、通信暗号復号部101、認証部102、通信部103、入出力部104、外部操作受付部105、更新制御部106、主制御部107、主記憶部110、ハードディスクユニット111、時間管理部112、映像生成部113、電源制御部115及び電力供給部116から構成される。
端末装置100は、装着されているDVDの有無及び装着されるDVDの種類により、内部に記憶しているコンテンツ視聴プログラムのアップデートの方法が異なる。
(i)DVDの装着無し又はDVD500aが装着されている場合
端末装置100は、サーバ装置400が記憶している最新バージョン情報と端末装置100が記憶しているコンテンツ視聴プログラムのバージョン情報との比較結果をサーバ装置400から取得する。
・比較結果が「1」、つまり、端末装置100の記憶しているバージョン情報がサーバ装置400の記憶している最新バージョン情報より古い世代であることを示していれば、サーバ装置400から更新プログラムを取得する。
・比較結果が「0」、つまり、端末装置100の記憶しているバージョン情報とサーバ装置400が記憶している最新バージョン情報とが同じ世代であることを示していればアップデートを行わない。
この場合、コンテンツ視聴プログラムが「適切である」とは、最新の世代であることを指す。
端末装置100は、DVD500bが記憶しているバージョン情報505bと端末装置100が記憶しているコンテンツ視聴プログラムのバージョン情報とを比較する。
・比較結果が、端末装置100の記憶しているバージョン情報がDVD500bの記憶しているバージョン情報505bより古い世代であることを示していれば、サーバ装置400から更新プログラムを取得する。
・比較結果が、端末装置100の記憶しているバージョン情報とDVD500bが記憶しているバージョン情報505bとが同じ世代であることを示していればアップデートを行わない。
なお、DVD500bが記憶しているバージョン情報505bはサーバ装置400が記憶している最新バージョン情報と同一であり、端末装置100の記憶しているバージョン情報がDVD500bの記憶しているバージョン情報505bの記憶している最新バージョン情報より新しい世代を示すことはありえないものとする。
端末装置100は、DVD500cが記憶しているバージョン情報505cと端末装置100が記憶しているコンテンツ視聴プログラムのバージョン情報とを比較する。
・比較結果が、端末装置100の記憶しているバージョン情報がDVD500cの記憶しているバージョン情報505cより古い世代であることを示していれば、DVD500cから更新プログラムを取得する。
・比較結果が、端末装置100の記憶しているバージョン情報とDVD500cの記憶しているバージョン情報505cとが同じ世代であることを示していればアップデートを行わない。
ただし、端末装置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)の詳細は後述する。
電力供給部116は、外部電源(コンセントなど)に接続されており、電源制御部115から電力供給の指示を受け、端末装置100を構成する各部へ電力供給を開始し、電力供給停止の指示を受けると、各部への電力供給を停止する。
(2)入出力部104
入出力部104は、主制御部107の制御により、DVD500a、DVD500b又はDVD500cからコンテンツ501a、501b又は501cを読み出し、読み出したコンテンツ501a、501b又は501cを主制御部107へ出力する。
また、入出力部104は、更新制御部106の制御により、DVD500cからプログラムファイル503cを読み出し、読み出したプログラムファイル503cを更新制御部106へ出力する。
外部操作受付部105は、利用者による再生ボタンなどの押下を検出する。前記押下を検出すると、検出したボタンに対応する操作指示情報を主制御部107へ出力する。
(4)主記憶部110及びハードディスクユニット111
主記憶部110は、RAMから構成され、一例として図8に示すよう保留情報131、コンテンツ視聴プログラム132及び並行フラグ133を記憶している。
並行フラグ133は、端末装置100に搭載されているマイクロプロセッサが、アップデートとその他の処理(コンテンツの再生など)とを並行して実行可能か否かを示しており、「1」は並行処理可能であることを示しており、「0」は並行処理ができないことを示している。
コンテンツ視聴プログラム142は、タイトル143とバージョン情報144とプログラム部145とを含む。タイトル143は、コンテンツ視聴プログラム142を識別する名称であり、バージョン情報144は、コンテンツ視聴プログラム142の世代を示している。プログラム部145は、コンテンツの再生手順を示す複数のコンピュータ命令から構成される。
また、ハードディスクユニット111は、各種の画面データを記憶している。これらの画面データは、図11に示すスタート画面310及び設定変更画面320を生成するために用いられる。
通信部103は、インターネット20に接続されており、インターネット20に接続されている外部の装置と、主制御部107、更新制御部106又は認証部との間で情報の送受信を行う。
ここで、前記外部の装置は、具体的には、サーバ装置400である。
認証部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を記憶している。
公開鍵証明書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は、SAC確立の処理を終了する。
登録されていないと判断する場合、認証制御部171は、通信部103を介して、サーバ装置400から乱数Cha_Bを受信し、内部メモリ172から端末秘密鍵SK_A174を読み出し、端末秘密鍵SK_A174を用いて、受信した乱数Cha_Bに署名生成アルゴリズムSを施して署名データSig_Aを生成し、生成した署名データSig_Aを通信部103介してサーバ装置400へ送信する。
次に、認証制御部171は、通信部103を介してサーバ装置400から署名データSig_Bを受け取り、公開鍵証明書Cert_Bに含んで受け取った公開鍵PK_Bを用いて、受け取った署名データSig_Bに署名検証アルゴリズムVを施して署名検証し、検証結果が失敗の場合、SAC確立の処理を終了する。
次に、サーバ装置400から、鍵生成関数G()とシステム固有のパラメータYを用いて生成されたKey_Bを受け取る。次に受け取ったKey_Bと乱数「a」を用いてセッション鍵Key_AB=Gen(a,Key_B)を生成する。
なお、認証部102は、アップデートに関する通信時は、更新制御部106から制御され、それ以外の通信時(コンテンツのダウンロードなど)は、主制御部107による制御を受けるが、認証部102の行う処理は、いずれの場合も同じであるので、簡略のため前頁からの説明はアップデートに関する通信時についてのみ述べた。
モニタ120は、映像信号生成部116から垂直帰線期間及び水平帰線期間を含む映像信号を受け取り、受け取った映像信号に基づいて、映像を表示する。
図11は、モニタ120が表示する画面の1例である。スタート画面310には、スタート311と設定変更312の2つの選択肢が含まれる。設定変更画面320は、後述するダウンロード許容時間、検証許容時間及びインストール許容時間の設定変更とアップデートのためにサーバ装置400と通信を行うスケジュールを示すアップデート頻度の設定変更と通信速度の設定変更を受け付ける画面である。
主制御部107は、電源制御部115から電源ボタンONを示す操作指示情報を受け取ると、スタート画面310を生成し、生成したスタート画面310を映像生成部113に出力し、スタート画面310の表示を指示する。利用者のボタン操作によりスタート画面310中のスタート311を選択する選択操作指示情報を外部操作受付部105から受け取ると、アップデート処理の開始を更新制御部106へ指示する。
次に、更新制御部106から、並行処理可能、アップデートの処理終了又はアップデート保留を示す制御信号を受け取ると、主制御部107は、外部操作受付部105を介して利用者のボタン操作を受け付け、再生ボタンの押下を示す操作指示情報を受け取ると、ハードディスクユニット111から、コンテンツ視聴プログラム142を読み出し、読み出したコンテンツ視聴プログラム142を主記憶部110へ書き込み、主記憶部110に書きこんだコンテンツ視聴プログラムに含まれるコンピュータ命令に従って、DVD500a、500b、500cからコンテンツを取得し、取得したコンテンツを再生する。また、ハードディスクユニット111に記憶されているコンテンツを再生するとしてもよい。
次に、電源制御部115から電源ボタンOFFを示す操作指示情報を受け取ると、主制御部107は、コンテンツ視聴プログラムの処理を終了し、主記憶部110から保留情報131を読み出す。読み出した保留情報131が、保留されている処理が無いことを示す「E」であれば、電源制御部115へ電源OFFを指示する。
(9) 更新制御部106
更新制御部106は、インターネットを介したアップデート頻度「毎週月曜日」を記憶している。アップデート頻度「毎週月曜日」は、DVDの装着がされていない又はDVD500aが装着された状態で、電源ボタンONが押された場合、現在の日時及び曜日からなる日付情報に含まれる曜日が「月曜日」であれば、インターネット20を介してサーバ装置400にコンテンツ視聴プログラム142が、最新の世代になっているか否かを問い合わせることを示している。
(アップデートの開始)
更新制御部106は、主制御部107から、アップデート開始を指示されると、主記憶部110の保留情報に、保留しているプロセスが無いことを示す「E」を書き込む。
次に、更新制御部106は入出力部104を介して、DVDが装着されているか否かを判断する。DVDが装着されていれば、さらにDVDの内容を確認し、DVD500a、500b又は500cのいずれのDVDが装着されているかを判断し、上記の(i)、(ii)又は(iii)の処理を行う。
(i)DVDの装着無し又はDVD500aが装着されている場合
更新制御部106は、以下の(i−a)〜(i−g)の手順でアップデート処理を完了又は保留する。
(i−a) アップデートの必要性の判定
更新制御部106は、現在日時及び曜日を示す日付情報を取得し、取得した日付情報に含まれる曜日と記憶しているアップデート頻度「毎週月曜日」とを比較する。日付情報に含まれる曜日が「月曜日」以外であれば、主制御部107へアップデートの処理終了を示す制御信号を出力し、アップデートの処理を終了する。
(i−b)ダウンロード時間の予測
更新制御部106は、時間管理部112へサーバ装置400から受け取ったプログラムサイズを出力し、ダウンロード時間の予測を指示する。次に、時間管理部112から、時間管理部112の予測したダウンロード時間とダウンロード許容時間との比較結果を受け取る。比較結果が、時間管理部112の予測したダウンロード時間がダウンロード許容時間以内であることを示していれば、更新制御部106は、(i−c)の処理へ移る。
(i−c)ダウンロード
次に、更新制御部106は、認証部102にSAC確立を指示する。認証部102からSAC確立成功を示す制御信号を受け取ると、更新制御部106は、ハードディスクユニット111からコンテンツ視聴プログラム142のタイトル143とバージョン情報144とを読み出し、読み出したタイトル143とバージョン情報144とを通信暗号復号部101へ出力し、暗号化を指示する。通信暗号復号部101から暗号化タイトルと暗号化バージョン情報とを受け取ると、受け取った暗号化タイトルと暗号化バージョン情報とを通信部103を介してサーバ装置400へ送信し、ダウンロードを要求する。
更新制御部106は、受信した暗号化プログラム鍵を通信暗号復号部101へ出力し、復号を指示する。通信暗号復号部101から、プログラム鍵を受け取ると、受け取ったプログラム鍵とプログラムファイルとを主記憶部110へ書き込む。
(i−d)検証時間の予測
更新制御部106は、時間管理部112へプログラムファイルに含んで受け取ったチェックデータの検証に要する検証時間の予測を指示する。時間管理部112から、時間管理部112の予測した検証時間と検証許容時間の比較結果を受け取る。受け取った比較結果が、時間管理部112の予測した検証時間が検証許容時間以内であることを示していると、(i−e)の処理へ移る。
(i−e)検証
次に、更新制御部106は、プログラムファイルに含んで受け取ったチェックデータを以下の手順で検証する。
次に、主記憶部110から、プログラムファイルに含んで受信したチェックデータを読み出し、算出したハッシュ値と、読み出したチェックデータとを比較する。算出したハッシュ値と読み出したチェックデータとが一致しなければ、チェックデータの検証の失敗と判断する。算出したハッシュ値と読み出したチェックデータとが一致すると、チェックデータの検証の成功と判断する。
次に、更新制御部106は、時間管理部112へインストール時間の予測を指示する。次に、時間管理部112から予測されるインストール時間とインストール許容時間との比較結果を受け取る。受け取った比較結果が、予測されるインストール時間がインストール許容時間以内であることを示していると、(i−g)へ処理を移す。受け取った比較結果が、予測されるインストール時間がインストール許容時間を超えることを示していると、主記憶部110の保留情報に復号及びインストールのプロセスを保留することを示す「C」を書き込み、主制御部107へアップデート保留を示す制御信号を出力する。次に主記憶部110から暗号化圧縮更新プログラムとプログラム鍵とを読み出し、ハードディスクユニット111に書き込む。
更新制御部106は、プログラム鍵と暗号化圧縮更新プログラムとを主記憶部110から読み出し、読み出したプログラム鍵を用いて、暗号化圧縮更新プログラムに復号アルゴリズムD1を施し圧縮更新プログラムを生成する。ここで、復号アルゴリズムD1は、後述する暗号化アルゴリズムE1により生成された暗号文を復号するアルゴリズムである。また、暗号化アルゴリズムE1は、一例として、DES(Data Encryption Standard)によるものである。
インストールが完了すると、更新制御部106は、アップデートの処理終了を示す制御信号を主制御部107へ出力し、アップデートの処理を終了する。
DVD500bが装着されていると判断すると、以下に示す手順でアップデートを行う。
(ii−a)アップデートの必要性の判定
更新制御部106は、DVD500bから、バージョン情報505bを読み出し、ハードディスクユニット111に記憶されているコンテンツ視聴プログラム142に含まれるバージョン情報144を読み出し、読み出したバージョン情報505bとバージョン情報144とを比較する。バージョン情報144とバージョン情報505bとが同じ世代を示していると、更新制御部106は、アップデートの必要が無いと判断し、主制御部107へアップデートの処理終了を示す制御信号を出力して、アップデートの処理を終了する。
並行フラグが「0」であると判定すると、(ii−b)へ処理を移す。
(ii−b)ダウンロード時間の予測
更新制御部106は、入出力部104を介してDVD500bから、プログラムサイズ表530bを読み出し、読み出したプログラムサイズ表530bから、バージョン情報144と一致する旧バージョン情報を含むプログラムサイズ情報531bを選択し、選択したプログラムサイズ情報531bに含まれるプログラムサイズ507bを時間管理部112へ出力し、ダウンロード時間の予測を指示する。次に、時間管理部112から予測されるダウンロード時間とダウンロード許容時間の比較結果を受け取る。比較結果が予測されるダウンロード時間がダウンロード許容時間以内であることを示していると、更新制御部106は、(ii−c)の処理へ移る。
次に、(ii−c)ダウンロードから(ii−g)インストールまでの処理を行うが、(i−c)〜(i−g)と同一の手順であるので、説明を省略する。
DVD500cが装着されていると判断すると、以下に示す(iii−a)〜(iii−c)の手順でアップデートを行う。
なお、ここでは、DVD500cが装着される度に、以下に説明するような処理を行っているが、毎週水曜、毎月10日というように、定期的に行ってもよい。
更新制御部106は、DVD500cからプログラムファイル503cを読み出し、ハードディスクユニット111からコンテンツ視聴プログラム142に含まれるバージョン情報144を読み出し、読み出したバージョン情報144とプログラムファイル503cに含まれるバージョン情報505cとを比較する。
バージョン情報144がバージョン情報505cよりも古い世代を示していると判断すると、次に、並行フラグを判定する。並行フラグが「0」であると判定すると、(iii−b)へ処理を移す。
(iii−b)インストール時間の予測
次に、更新制御部106は、プログラムファイル503cに含まれるプログラムサイズ507cを時間管理部112へ出力し、インストール時間の予測を指示する。次に、時間管理部112から、予測されるインストール時間とインストール許容時間との比較結果を受け取る。受け取った比較結果が、予測されるインストール時間がインストール許容時間内であることを示していると、(iii−c)へ処理を移す。比較結果が、予測されるインストール時間がインストール許容時間を超えることを示していると、主記憶部110の保留情報にインストールを保留することを示す「D」を書き込み、主制御部107へアップデート保留を示す制御信号を出力する。次に、DVD500cから読み出したプログラムファイル503cをハードディスクユニット111に書き込む。
次に、更新制御部106は、プログラムファイル503cに含まれる、圧縮更新プログラム506cに解凍アルゴリズムZを施し、更新プログラムを生成する。解凍アルゴリズムZは圧縮アルゴリズムPにより圧縮されたデータを解凍するアルゴリズムである。ここで、圧縮アルゴリズムPは、一例として、ランレングス法、ハフマン法などを用いる。
次に、主制御部107へアップデートの処理終了を示す制御信号を出力し、アップデートの処理を終了する。
(アップデートの再開)
更新制御部106は、主制御部107から保留情報を受け取り、アップデート再開を指示される。更新制御部106は、受け取った保留情報が、「A」〜「D」のいずれであるかによって、以下に説明する(A)、(B)、(C)又は(D)のいずれかの手順でアップデートを完了する。
受け取った保留情報が、ダウンロード以降の処理の保留を示す「A」であれば、更新制御部106は、以下に説明する(A−a)〜(A−c)の手順でアップデートの処理を完了する。
(A−a)ダウンロード
更新制御部106は、認証部102にSAC確立を指示する。認証部102からSAC確立成功を示す制御信号を受け取ると、更新制御部106は、ハードディスクユニット111からコンテンツ視聴プログラム142のタイトル143とバージョン情報144とを読み出し、読み出したタイトル143とバージョン情報144とを通信暗号復号部101へ出力し、暗号化を指示する。通信暗号復号部101から暗号化タイトルと暗号化バージョン情報とを受け取ると、受け取った暗号化タイトルと暗号化バージョン情報とを通信部103を介してサーバ装置400へ送信し、ダウンロードを要求する。
更新制御部106は、受信した暗号化プログラム鍵を通信暗号復号部101へ出力し、復号を指示する。通信暗号復号部101から、プログラム鍵を受け取ると、受け取ったプログラム鍵とプログラムファイルとを主記憶部110へ書き込む。
次に、更新制御部106は、サーバ装置400からプログラムファイルに含んで受け取ったチェックデータを以下の手順で検証する。チェックデータは、一例として、ハッシュ関数を用いて暗号化圧縮更新プログラムから生成される160バイトのハッシュ値から構成される。このチェックデータ生成方法及びチェックデータの検証方法は、一例であり、他の方法を用いてもよい。
次に、主記憶部110から、プログラムファイルに含んで受信したチェックデータを読み出し、算出したハッシュ値と、読み出したチェックデータとを比較する。算出したハッシュ値と読み出したチェックデータとが一致しなければ、チェックデータの検証の失敗と判断する。算出したハッシュ値と読み出したチェックデータとが一致すると、チェックデータの検証の成功と判断する。
(A−c)インストール
更新制御部106は、主記憶部110からプログラム鍵と暗号化圧縮更新プログラムとを読み出し、読み出したプログラム鍵を用いて、暗号化圧縮更新プログラムに復号アルゴリズムD1を施し圧縮更新プログラムを生成する。ここで、復号アルゴリズムD1は、暗号化アルゴリズムE1により生成された暗号文を復号するアルゴリズムである。また、暗号化アルゴリズムE1は、一例として、DES(Data Encryption Standard)によるものである。
インストールが完了すると、更新制御部106は、アップデートの処理終了を示す制御信号を主制御部107へ出力し、アップデートの処理を終了する。
受け取った保留情報が検証以降の処理を保留していることを示す「B」であれば、更新制御部106は、ハードディスクユニット111からプログラムファイル150とプログラム鍵160とを読み出し、読み出したプログラムファイル150とプログラム鍵160とを主記憶部110に書き込む。
(C)保留情報「C」
受け取った保留情報が復号及びインストールの保留を示す「C」であれば、ハードディスクユニット111から暗号化圧縮更新プログラムとプログラム鍵とを読み出し、主記憶部110に書き込む。
(D)保留情報「D」
受け取った保留情報がインストールの保留を示す「D」であれば、更新制御部106は、ハードディスクユニット111からプログラムファイルを読み出す。読み出したプログラムファイルに含まれる、圧縮更新プログラムに解凍アルゴリズムZを施して解凍し、更新プログラムを生成する。ここで、読み出したプログラムファイルは、DVD500cから取得したものであり、最新バージョン情報と圧縮更新プログラムとプログラムサイズとを含む。
インストールが完了すると、更新制御部106は、アップデートの処理終了を示す制御信号を主制御部107へ出力し、アップデートの処理を終了する。
時間管理部112は、図12に示すように時間管理制御部200と記憶部210から構成される。
(i)記憶部210
記憶部210は、図12に示すように、許容時間設定表215と通信速度220とCPU能力225を記憶している。
通信速度220は、利用者により設定される通信回線の伝送速度であり、単位はbpsである。
時間管理制御部200は、主制御部107から各許容時間の設定変更又は通信速度の設定変更の情報を受け取り、受け取った変更情報に従って、記憶部210の許容時間設定表215又は通信速度220を書き換える。
また、時間管理制御部200は、内部にRAMを備えており、更新制御部106から、プログラムサイズを受け取り、ダウンロード時間の予測を指示されると、受け取ったプログラムサイズを前記RAMに記憶する。次に、記憶部210から通信速度220を読み出し、プログラムサイズの通信速度220に対する商を求めることにより、ダウンロード時間を予測する。次に、記憶部210から、ダウンロード許容時間216を読み出し、読み出したダウンロード許容時間216と予測したダウンロード時間を比較し、比較結果を更新制御部106へ出力する。
また、更新制御部106からインストール時間の検討を指示されると、時間管理制御部200は、インストール時間はプログラムサイズに比例するものとして、プログラムサイズとインストール基準時間227とからインストール時間を予測する。次に記憶部210からインストール許容時間218を読み出し、読み出したインストール許容時間218と予測したインストール時間とを比較し、比較結果を更新制御部106へ出力する。
また、上記のダウンロード時間、検証時間及び検証時間の予測方法は1例であり、他の方法を用いてもよい。
通信暗号復号部101は、認証部102からセッション鍵を受け取り、受け取ったセッション鍵を記憶する。また、新しくセッション鍵を受け取る度に、記憶しているセッション鍵を破棄し、新しく受け取ったセッション鍵を記憶する。
通信暗号復号部101は、更新制御部106からコンテンツ視聴プログラムのタイトル143、バージョン情報144及び暗号化の指示を受け取ると、記憶しているセッション鍵を用いて受け取ったタイトル143とバージョン情報144とに暗号化アルゴリズムE2を施して暗号化タイトルと暗号化バージョン情報とを生成し、生成した暗号化タイトルと暗号化バージョン情報とを更新制御部106へ出力する。ここで用いられる暗号化アルゴリズムE2は、サーバ装置400で用いられる復号アルゴリズムD2と対応している。
ここで暗号化アルゴリズムE2及びE3は一例として、DES(Data Encryption Standard)によるものである。DESについては、公知の技術であるので、説明を省略する。
映像生成部113は、主制御部107から画面を受け取り、表示を指示されると、受け取った画面から画像信号を生成し、垂直同期信号と水平同期信号に合わせて生成した画像信号を、モニタ120へ出力する。
(13)電源制御部115
電源制御部115は、電源ボタンのON/OFFの押下を検出する。電源ボタンONの押下を検出すると、電源制御部115は、電力供給部116へ、電力供給の開始を制御し、主制御部107へ電源ONを示す操作指示情報を出力する。
主制御部107から電源OFFを示す制御信号を受け取ると、電源制御部115は、電力供給部116へ電力供給停止を指示する。
1.5 証明書管理装置600
証明書管理装置600は、認証局(Certificate Authority)の管理のもと、X.509バージョン1形式認証基づいて、端末装置100とサーバ装置400それぞれの公開鍵を証明する公開鍵証明書Cert_A及びCert_Bを生成し、発行する。
また、証明書管理装置600は定期的に、廃棄が決まった公開鍵証明書のシリアルNoを記載した証明書廃棄リストCRL(Certificate Revocation List)を作成し、作成したCRLをインターネット上の機知のURL又はディレクトリサービスを用いて配布する。
端末装置100の動作について、以下に説明する。
(1)端末装置100の動作
端末装置100の動作について図13〜図23に示すフローチャートを用いて説明する。
DVD500cが装着されていると判断すると(ステップS111)、更新制御部106は、DVD500cから、プログラムファイル503cを読み出し(ステップS241)、読み出したプログラムファイル503cに含まれるバージョン情報505cと、ハードディスクユニット111に記憶されているバージョン情報144とを比較する(ステップS242)。バージョン情報144とバージョン情報505cの示す世代が同一であれば(ステップS242のNO)、アップデートする必要が無いと判断し、ステップS195へ処理を移す。
次に、更新制御部106は、並行フラグが「1」であれば、さらに、コンテンツ再生が実行中であるか否かを判断し(ステップS245)、実行中でなければ、ステップS251へ処理を移す。実行中であれば(ステップS245)、主記憶部110の保留情報にインストールを保留することを示す「D」を書き込み(ステップS246)、プログラムファイル503cをハードディスクユニット111へ書き込み(ステップS247)、ステップS195へ処理を移す。
比較結果が、予測されるインストール時間がインストール許容時間以内であることを示していると(ステップS253のYES)、更新制御部106は、プログラムファイル503cに含まれる圧縮更新プログラム506cに解凍アルゴリズムZを施して更新プログラムを生成する(ステップS255)。
DVD500bが装着されていると判断すると(ステップS111)、更新制御部106は、DVD500bからバージョン情報505bを読み出し(ステップS112)、ハードディスクユニット111に記憶されているバージョン情報144とバージョン情報505bとを比較する(ステップS113)。
バージョン情報144がバージョン情報505bよりも古い世代を示していれば(ステップS113のYES)、更新制御部106は、アップデートの必要があると判断し、次に、並行フラグを判断する(ステップS135)。
DVDが装着されていない又はDVD500aが装着されていると判断すると(ステップS111)、更新制御部106は、日付情報に含まれる曜日が利用者により設定されているアップデート頻度「毎週月曜日」と一致するか否かを判断し(ステップS115)、一致しなければ、アップデートする必要がないと判断し、ステップS195へ処理を移す。一致しすれば(ステップS115)、更新制御部106は、認証部102にSAC確立を指示する。
次に、更新制御部106は、ハードディスクユニット111からコンテンツ視聴プログラム142のタイトル143とバージョン情報144とを読み出し(ステップS121)通信暗号復号部101へ読み出したタイトル143とバージョン情報144を出力し、暗号化を指示する。通信暗号復号部101は、タイトル143とバージョン情報144を受け取り、セッション鍵を用いて、受け取ったタイトル143とバージョン情報144とに暗号化アルゴリズムE2を施し、暗号化タイトルと暗号化バージョン情報とを生成し、生成した暗号化タイトルと暗号化バージョン情報とを更新制御部106へ出力する(ステップS122)。
サーバ装置400を構成する制御部407は、端末装置100から暗号化タイトルと暗号化バージョン情報とを受け取ると、通信暗号復号部401に指示して、セッション鍵を用いて、受け取った暗号化タイトルと暗号化バージョン情報とに復号アルゴリズムD2を施し、タイトルとバージョン情報とを生成する(ステップS124)。生成されたタイトルを基にプログラム更新テーブル420からプログラム情報を選択し、選択したプログラム情報に含まれる最新バージョン情報を読み出し(ステップS125)、読み出した最新バージョン情報と通信暗号復号部401により生成されたバージョン情報とを比較する(ステップS126)。
次に、タイトルとバージョン情報を基にプログラム更新テーブル420からプログラム情報421を選択し、選択したプログラム情報に含まれるプログラムサイズを読み出す(ステップS129)。
通信部103を介して比較結果とプログラムサイズとを受信すると、更新制御部106は、受信した比較結果を判断し(ステップS138)、比較結果が「0」であれば、アップデートの必要が無いと判断し、ステップS195へ処理を移す。比較結果が「1」であれば(ステップS138)アップデートする必要があると判断し、次に、並行フラグを判断する(ステップS139)。
SACが確立すると、ハードディスクユニット111に記憶されているタイトル143とバージョン情報144とを通信暗号復号部101に出力し暗号化を指示する。通信暗号復号部101は、タイトル143とバージョン情報144とを受け取ると、セッション鍵を用いて受け取ったタイトル143とバージョン情報144とに暗号化アルゴリズムE2を施し、暗号化タイトルと暗号化バージョン情報とを生成し、生成した暗号化タイトルと暗号化バージョン情報とを更新制御部106へ出力する(ステップS146)。
サーバ装置400の制御部407は、暗号化タイトルと暗号化バージョン情報とダウンロード要求とを受け取ると、通信暗号復号部401において、セッション鍵を用いて受け取った暗号化タイトルと暗号化バージョン情報とに復号アルゴリズムD2を施し、タイトルとバージョン情報とを生成する(ステップS151)。
次に、セッション鍵を用いて、読み出したプログラム鍵に暗号化アルゴリズムE3を施して暗号化プログラム鍵を生成する(ステップS153)。次に、選択したプログラム情報421を基にプログラムファイル431を読み出し(ステップS154)、読み出したプログラムファイル431と、生成した暗号化プログラム鍵とをインターネット20を介して端末装置100へ送信する(ステップS155)。
次に、更新制御部106は、並行フラグを判定する(ステップS162)。並行フラグが「1」であると判定すると、ステップS170へ処理を移す。並行フラグが「0」であると判定すると(ステップS162)、時間管理部112へ検証時間の予測を指示する。
算出したハッシュ値と読み出したチェックデータとが一致しなければ(ステップS173のNO)、検証の失敗と判断し、更新制御部106は並行フラグを判定する(ステップS174)。並行フラグが「1」であれば(ステップS174)、ステップS145へ戻って処理をやり直す。並行フラグが「0」であれば(ステップS174)、主記憶部110の保留情報にダウンロード以降のプロセスを保留することを示す「A」を書き込み、主制御部107へアップデート保留の制御信号を出力し(ステップS175)、ステップS195へ処理を移す。
主制御部107は、利用者のボタン押下による操作指示情報を受け付け(ステップS195)、再生ボタンが押下されると(ステップS196)、コンテンツ視聴プログラムに従ってコンテンツの再生を行う(ステップS197)。また、その他のボタンが押下されると(ステップS196)、その他の処理を行う(ステップS198)。以下、電源ボタンOFFが押下されるまで、ボタンの受け付けと、コンテンツの再生又はその他の処理を繰り返す。
保留情報が「E」以外であると判断すると(ステップS201)、読み出した保留情報を更新制御部106へ出力し、アップデート再開を指示する。更新制御部106は、受け取った保留情報を判別する(ステップS202)。受け取った保留情報が、検証以降のプロセスを保留することを示す「B」であれば(ステップS202)、ハードディスクユニット111からプログラム鍵とプログラムファイルとを読み出し、読み出したプログラム鍵とプログラムファイルとを主記憶部110へ書き込み(ステップS205)、ステップS223へ処理を移す。
受け取った保留情報が、インストールの保留を示す「D」であれば(ステップS202)、ハードディスクユニット111から圧縮更新プログラムを読み出し、読み出した圧縮更新プログラムを主記憶部110へ書き込み(ステップS207)、ステップS231へ処理を移す。
SACが確立すると、更新制御部106は、ハードディスクユニット111に記憶されているタイトル143とバージョン情報144とを読み出し、読み出したタイトル143とバージョン情報144とを通信暗号復号部101へ出力し暗号化を指示する。通信暗号復号部101は、タイトル143とバージョン情報144とを受け取り、セッション鍵を用いて、受け取ったタイトル143とバージョン情報144とに暗号化アルゴリズムE2を施し、暗号化タイトルと暗号化バージョン情報とを生成し、生成した暗号化タイトルと暗号化バージョン情報とを更新制御部106へ出力する(ステップS211)。
サーバ装置400を構成する制御部407は、暗号化タイトルと暗号化バージョン情報とダウンロード要求とを受け取ると、通信暗号復号部401において、セッション鍵を用いて受け取った暗号化タイトルと暗号化バージョン情報とに復号アルゴリズムD2を施し、タイトルとバージョン情報とを生成する(ステップS213)。
次に、主記憶部110から、プログラムファイルに含まれる暗号化圧縮更新プログラムを読み出す(ステップS223)。次に、読み出した暗号化圧縮更新プログラムをハッシュ関数に代入してハッシュ値を算出する(ステップS226)。次に、プログラムファイルに含まれるチェックデータを読み出し、読み出したチェックデータと算出したハッシュ値とを比較する(ステップS227)。
算出したハッシュ値と読み出したチェックデータとが一致しなければ(ステップS227のNO)、検証の失敗と判断し、ステップS210に戻って処理をやり直す。
検証が成功すると、更新制御部106は、プログラム鍵を用いて、暗号化圧縮更新プログラムに復号アルゴリズムD1を施して圧縮更新プログラムを生成する(ステップS230)。次に、圧縮更新プログラムに解凍アルゴリズムZを施して、更新プログラムを生成し(ステップS231)、生成した更新プログラムをインストールする(ステップS232)。インストールが終了すると、主制御部107へアップデートの処理終了の制御信号を出力する。
(2)端末装置100及びサーバ装置400によるSAC確立
端末装置100とサーバ装置400によるSAC確立の手順を図25〜26のフローチャートを用いて説明する。これは、図13のステップS116、図16のステップS145及び図21のステップS210の詳細である。
端末装置100は公開鍵証明書Cert_Aを読み出し(ステップS401)、サーバ装置400へ送信する(ステップS402)。
検証結果が成功の場合(ステップS404)、CRLを読み出し(ステップS405)、公開鍵証明書Cert_Aに含んで受け取ったシリアルNoが、読み出したCRLに登録されているか否かを判断し(ステップS406)、登録されている判断すると(ステップS406)、処理を終了する。登録されていないと判断すると(ステップS406)、サーバ装置400自身の公開鍵証明書Cert_Bを読み出し(ステップS407)、端末装置100に送信する(ステップS408)。
端末装置100は、乱数Cha_Bを受け取ると、受け取った乱数Cha_Bに、端末装置100の秘密鍵SK_Aを用いて、署名生成アルゴリズムSを施して署名データSig_Aを生成し(ステップS415)、生成した署名データSig_Aをサーバ装置400へ送信する(ステップS416)。
サーバ装置400は、受け取った乱数Cha_Aに、サーバ装置400の秘密鍵SK_Bを用いて、署名生成アルゴリズムSを施し、署名データSig_Bを生成し(ステップS421)、生成した署名データSig_Bを端末装置100へ送信する(ステップS422)。
端末装置100は、Key_Bを受け取ると、受け取ったKey_Bと、乱数「a」とからKey_AB=Gen(b,Key_B)=Gen(a,Gen(b,Y))を生成する(ステップS432)。Key_ABをセッション鍵として記憶する(ステップS434)。
以上のようにして、端末装置100とサーバ装置400の間でセッション鍵を共有し、SACを確立する。
以上説明したように、本発明によると、コンピュータプログラムのアップデートの際、まず、端末装置100に搭載されているマイクロプロセッサのクロック周波数から、アップデートの処理とコンテンツ再生の処理とを並行に行うことができるか否かを判断し、並行して処理可能であれば、即アップデートの処理を開始する。
1.7 実施の形態1に関する変形例
以上、実施の形態1について、説明してきたが、本発明は、これに限るものではなく、以下のような実施の形態1に関する変形例も含む。
しかし、現実には、サーバ装置400に記憶されている最新バージョン情報は、随時更新されるため、バージョン情報505b及び5003cが、サーバ装置400の記憶している最新バージョン情報よりも古い世代を示しており、端末装置100は、最新の更新プログラムを取得できない状態が発生する可能性がある。
(i)DVD500bが装着されている場合
DVD500bは、さらに、DVD500b自身の発売日を記憶しており、端末装置100は、DVD500bから発売日を読み出し、発売後一定期間が経過していると判断すると、無条件に上記の実施の形態においてDVD500aが装着された場合と同様にして、サーバ装置400から最新の更新プログラムを取得する。
DVD500cは、さらに、DVD500c自身の発売日を記憶しており、端末装置100は、DVD500bから発売日を読み出し、発売後一定期間が経過していると判断すると、以下の(a)、(b)又は(c)ようにして最新の更新プログラムを取得する。
(a)バージョン情報144<バージョン情報505c
端末装置100が記憶しているバージョン情報144とDVD500cが記憶しているバージョン情報505cとを比較し、バージョン情報144がバージョン情報505cよりも古い世代を示していると判断すると、端末装置100は、ハードディスクユニット111が記憶しているタイトル143とDVD500cから読み出したバージョン情報505cを暗号化してサーバ装置400へ送信する。
端末装置100は、受信した比較結果が1、つまりサーバ装置400が記憶している最新バージョン情報がDVD500cの記憶しているバージョン情報505cよりも新しい世代を示していると判断すると、サーバ装置400から最新の更新プログラムを取得する。
(b)バージョン情報144=バージョン情報505c
端末装置100が記憶しているバージョン情報144とDVD500cが記憶しているバージョン情報505cとを比較し、バージョン情報144とバージョン情報505cが同一の世代を示していると判断すると、ハードディスクユニット111からタイトル143を読み出し、読み出したタイトル143とバージョン情報144とを送信する。
端末装置100は、受信した比較結果を判別し、比較結果が1、つまりバージョン情報144がサーバ装置400記憶している最新バージョン情報より古い世代を示している場合、サーバ装置400から最新の更新プログラムを取得しアップデートを行う。
(c)バージョン情報144>バージョン情報505c
端末装置100が記憶しているバージョン情報144とDVD500cが記憶しているバージョン情報505cとを比較し、バージョン情報144がバージョン情報505cよりも新しい世代を示していると判断すると、上記の実施の形態においてDVD500aが装着された場合と同様にして、サーバ装置400から最新の更新プログラムを取得する。
2. 実施の形態2
本発明に係る1個の実施の形態としてのアップデートシステム11について説明する。
アップデートシステム11は、図26に示すように端末装置1100、サーバ装置1400、証明書管理装置600から構成され、これらはインターネット20を介して接続されている。以下の説明において、実施の形態1と同一の部分の説明は省略し、実施の形態1との相違点を中心に説明する。
サーバ装置1400は、前記コンテンツ視聴プログラムを新しい世代に更新するための更新プログラムを記憶しており、端末装置1100からの要求に応じて更新プログラムを端末装置1100へ送信する。
具体的には、
A.アップデートの重要性が低い場合は、コンテンツの新旧にかかわらず、アップデートに係る各プロセスの所要時間を算出し、算出した所要時間に応じて、各プロセスをすぐに行うか保留するかを決定する。
C.アップデートの重要性が高く、かつ、コンテンツが新作である場合、所要時間にかかわらず、全てのプロセスをすぐに実行する。
端末装置1100に装着されるDVDには、DVD1500a、1500b及び1500cの3種類あり、DVD1500a、1500b及び1500cは、大容量のデータを記録することができる可搬型の光ディスク媒体である。
実施の形態1の場合と同様に、端末装置1100に装着されるDVDの種類により、端末装置1100に記憶されているコンテンツ視聴プログラムの更新プログラムの取得方法が変わる。具体的には、実施の形態1において、端末装置100に、DVD500a、500b及び500cを装着した場合の更新プログラムの取得方法と同様であるので、説明を省略する。
DVD1500aは、コンテンツ501aと作成日1502aとを記憶している。コンテンツ501aは、実施の形態1のDVD500aの記憶しているコンテンツ501aと同一である。作成日1502aは、コンテンツ501aの作成日が「2005年1月24日」であることを示している。
プログラムサイズは、暗号化圧縮更新プログラムの容量を示している。暗号化圧縮更新プログラムは、コンテンツ視聴プログラムを旧バージョン情報の示す世代から、バージョン情報505bの示す世代へ更新する手順を含む更新プログラムを圧縮し暗号化して生成されたものである。
作成日1502cは、コンテンツ501cの作成日が「2005年1月24日」であることを示している。更新重要度表1530cは、複数の重要度情報1531c、1532c・・・から構成され、各重要度情報は、旧バージョン情報と重要度とを含む。重要度は、旧バージョン情報の示す世代から、バージョン情報505cの示す世代への更新の重要性を示しており「2」又は「1」の値である。具体的には、DVD500bに記憶されている更新データ表1530bに含まれる重要度と同様である。
2.3 サーバ装置1400
サーバ装置1400は、図28に示すように通信暗号復号部401、認証部402、通信部403、入力部405、制御部1407、情報記憶部1410及び表示部413から構成される。
情報記憶部1410は、図28に示すように、コンテンツ記憶部412とプログラム記憶部1415から構成される。コンテンツ記憶部412は、実施の形態1のサーバ装置400を構成する情報記憶部410に含まれるコンテンツ記憶部412と同一である。
プログラム記憶部1415は、プログラム更新テーブル1420と、プログラムフォルダAI430、プログラムフォルダB440・・・を記憶している。プログラムフォルダAI430及びプログラムフォルダB440は、実施の形態1のサーバ装置400の有するプログラムフォルダAI430及びプログラムフォルダB440と同一であるので、説明を省略する。
制御部1407は、具体的には図示していないマイクロプロセッサ、RAM及びROMから構成され、前記RAM及びROMにはコンピュータプログラムが記憶されており、前記マイクロプロセッサが前記コンピュータプログラムに従って動作することにより、制御部407はその機能を達成する。
また、制御部1407は、通信部403を介して、端末装置1100から暗号化タイトルと暗号化バージョン情報とを受信する。暗号化タイトルと暗号化バージョン情報とを受信すると、受信した暗号化タイトルと暗号化バージョン情報とを通信暗号復号部401に出力し、復号を指示する。次に、通信暗号復号部401からタイトルとバージョン情報を受け取る。
受け取ったバージョン情報が最新バージョン情報よりも古い世代を示していると、制御部1407は、プログラム更新テーブル1420において、受け取ったタイトルを含み、受け取ったバージョン情報が更新パターンの更新前のバージョン情報と一致するプログラム情報1421を選択し、選択したプログラム情報1421に含まれるプログラムサイズと重要度とを読み出し、読み出した重要度とプログラムサイズとを通信部403を介して、端末装置1100へ送信する。
また、制御部1407は、端末装置1100から、暗号化タイトルと暗号化バージョン情報とダウンロード要求とを受け取る。暗号化タイトルと暗号化バージョン情報とダウンロード要求とを受け取ると、受け取った暗号化タイトルと暗号化バージョン情報とを通信暗号復号部401に出力し、復号を指示する。次に、通信暗号復号部401から、タイトルとバージョン情報とを受け取り、受け取ったタイトルとバージョン情報を基に、プログラム更新テーブル1420からプログラム情報1421を選択し、選択したプログラム情報1421に含まれるプログラム鍵を読み出す。読み出したプログラム鍵を通信暗号復号部401に出力し、暗号化を指示する。
2.4 端末装置
端末装置1100は、図30に示すように、通信暗号復号部101、認証部102、通信部103、入出力部104、外部操作受付部105、更新制御部1106、主制御部107、主記憶部110、ハードディスクユニット111、時間管理部112、映像生成部113、電源制御部115及び電力供給部116から構成される。
(1)更新制御部1106
更新制御部1106は、アップデート頻度「毎週月曜日」と新作期間「3ヶ月」とを記憶している。アップデー度頻度は、実施の形態1において説明した通りであるので、ここでは、説明を省略する。新作期間は、DVDに記憶されているコンテンツが新作であるか否かを判断する基準であり、作成日から「3ヶ月」を経過していないコンテンツは、新作であり保護価値が高く、作成日から「3ヶ月」を経過したコンテンツは、旧作であり保護価値が低い。
(アップデートの開始)
更新制御部1106は、主制御部107から、アップデート開始を指示される。アップデート開始を指示されると、以下に説明する手順でコンテンツ視聴プログラムのアップデートの処理を行う。
次に、更新制御部1106は自身が記憶している端末装置1100に搭載されているマイクロプロセッサのクロック周波数を読み出し、読み出したクロック周波数が400MHz以上であるか否かを判断し、判断結果に応じて並行フラグ「1」又は「0」を主記憶部110へ書き込む。並行フラグについては、実施の形態1において説明したとおりである。
DVDが装着されていない場合、更新制御部1106は、主記憶部110に記憶されている並行フラグを読み出し、読み出した並行フラグが「1」であれば、主制御部107へ、並行処理可能を示す制御信号を出力する。並行フラグが「0」であれば、前記制御信号の出力は行わない。
更新制御部1106は、DVD1500aから作成日1502aを読み出す。次に、現在日時を取得し、取得した現在日時から読み出した作成日を減算して、作成日からの経過期間を算出する。算出した経過期間と更新制御部1106自身が記憶している新作期間「3ヶ月」とを比較し、経過期間が3ヶ月より長ければ、更新制御部1106は、上記の(1−1)と同様にして、アップデート処理を完了又は保留する。
(1−2−a)重要度の取得
更新制御部1106は、認証部102にSAC確立を指示する。認証部102からSAC確立成功を示す制御信号を受け取ると、ハードディスクユニット111からコンテンツ視聴プログラム142に含まれるタイトル143とバージョン情報144とを読み出し、読み出したタイトル143とバージョン情報144とを通信暗号復号部101へ出力し、暗号化を指示する。
次に、更新制御部1106は、通信部103を介して、サーバ装置1400から重要度又は、重要度とプログラムサイズとを受信する。
(1−2−b)重要度に応じたアップデートの開始
受信した重要度が、「0」であれば、更新制御部1106は、主制御部107へ、アップデートの処理終了を示す制御信号を出力し、アップデートの処理を終了する。
次に、更新制御部1106は、実施の形態1の、(i−b)〜(i−g)において、説明した手順と同様の手順で、ダウンロード時間の予測、ダウンロード、検証時間の予測、検証、インストール時間の予測、インストールの処理を行う。
受信した重要度が「2」であれば、更新制御部1106は、認証部102へSAC確立を指示し、SAC確立後、サーバ装置1400へ暗号化タイトル、暗号化バージョン情報及びダウンロード要求をサーバ装置1400へ送信し、サーバ装置1400からプログラムファイルと暗号化プログラム鍵とを取得する。
次に、更新制御部1106は、受信したプログラムファイルに含まれているチェックデータを検証し、検証が成功すると、暗号化圧縮更新プログラムに復号及び解凍を施して、更新プログラムを生成し、生成した更新プログラムをインストールする。インストールが終了すると、主制御部107へアップデートの完了を示す制御信号を出力する。
(1−3)DVD1500bが装着された場合
更新制御部1106は、DVD1500bから作成日1502bを読み出す。次に、現在日時を取得し、取得した現在日時から読み出した作成日を減算して、作成日からの経過期間を算出する。算出した経過期間と更新制御部1106自身が記憶している新作期間「3ヶ月」とを比較する。
次に、更新制御部1106は、DVD1500bからバージョン情報505bを読み出し、読み出したバージョン情報505bとハードディスクユニット111に記憶されているバージョン情報144とを比較する。
バージョン情報505bがバージョン情報144と同一の世代を示していると、更新制御部1106は、主制御部107へアップデート完了を示す制御信号を出力しアップデートの処理を終了する。
次に、生成した又は読み出した重要度に応じて、アップデートを行う。具体的には、上記の(1−2−b)重要度に応じたアップデートにおいて説明した手順と同様であり、DVD1500aをDVD1500bと読み替えればよいので、ここでは説明を省略する。
(1−4)DVD1500cが装着された場合
更新制御部1106は、DVD1500cから作成日1502cを読み出す。次に、現在日時を取得し、取得した現在日時から読み出した作成日を減算して、作成日からの経過期間を算出する。算出した経過期間と更新制御部1106自身が記憶している新作期間「3ヶ月」とを比較する。
次に、更新制御部1106は、実施の形態1の(iii−a)〜(iii−c)に記載した手順で、アップデートの必要性の判定、インストール時間の予測及びインストールを行う。これらの処理手順については、実施の形態1において、記載したとおりであるので、ここでは説明を省略する。
バージョン情報505cがバージョン情報144よりも新しい世代を示していれば、更新制御部1106は、読み出した更新重要度表1530cから、自身の記憶しているコンテンツ視聴プログラムを示すバージョン情報144と一致する旧バージョン情報を含む重要度情報を選択し、選択した重要度情報に含まれる重要度を抽出する。
次に、更新制御部1106は、生成した、又は抽出した重要度に応じて、以下の処理を行う。
重要度が「0」であれば、主制御部107へ、アップデートの処理終了を示す制御信号を出力し、アップデートの処理を終了する。
次に、主制御部107の制御によりコンテンツの再生がされていないことを確認し、再生がされていれば、主記憶部110の保留情報に、インストールのプロセスを保留することを示す「D」を書き込み、DVD1500cから読み出したプログラムファイル1503cをハードディスクユニット111に書き込む。
インストール時間の予測からインストールの実行又は保留までの具体的な処理手順は、実施の形態1の更新制御部106の説明において、(iii−b)及び(iii−c)に記載したとおりであるので、ここでは簡単な説明に留める。
インストールが完了すると、更新制御部1106は、アップデート完了を示す制御信号を主制御部107へ出力する。
(アップデートの再開)
更新制御部1106は、主制御部107から保留情報を受け取りアップデート再開を指示される。アップデートの再開を指示されると、受け取った保留情報に応じたプロセスから、アップデートの処理を再開し、アップデートを完了させる。
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)。
DVDが装着されていれば(ステップS1116のYES)、更新制御部1106は、入出力部104を介して、DVDから作成日を読み出し(ステップS1117)、読み出した作成日からの経過期間が、新作期間「3ヶ月」以内であるか否かを判断する(ステップS1119)。
経過期間が3ヶ月以内であり(ステップS1119のYES)、装着されているDVDが、DVD1500aである場合(ステップS1121の1500a)、更新制御部1106は、認証部102にSAC確立を指示する。
次に、更新制御部1106は、ハードディスクユニット111からコンテンツ視聴プログラム142のタイトル143とバージョン情報144とを読み出し(ステップS1127)通信暗号復号部101へ読み出したタイトル143とバージョン情報144を出力し、暗号化を指示する。通信暗号復号部101は、タイトル143とバージョン情報144を受け取り、セッション鍵を用いて、受け取ったタイトル143とバージョン情報144とに暗号化アルゴリズムE2を施し、暗号化タイトルと暗号化バージョン情報とを生成し、生成した暗号化タイトルと暗号化バージョン情報とを更新制御部1106へ出力する(ステップS1128)。
サーバ装置1400の制御部1407は、インターネット20を介して、端末装置1100から暗号化タイトルと暗号化バージョン情報とを受信し、これらの復号を通信暗号復号部401へ指示する。通信暗号復号部401は、セッション鍵を用いて、受け取った暗号化タイトルと暗号化バージョン情報とに復号アルゴリズムD2を施し、タイトルとバージョン情報とを生成し、生成したタイトルとバージョン情報を制御部1407へ出力する(ステップS1132)。制御部1407は、受け取ったタイトルを基にプログラム更新テーブル1420最新バージョン情報を読み出し(ステップS1134)、読み出した最新バージョン情報と通信暗号復号部401により生成されたバージョン情報とを比較する(ステップS1136)。
端末装置1100の更新制御部1106は、通信部103及びインターネット20を介して、サーバ装置1400からプログラムサイズと重要度、又は重要度を受信する。受信した重要度が「0」であれば(ステップS1151の「0」)、更新制御部1106は、主制御部107へアップデート終了を示す制御信号を出力する。
受信した重要度が「1」の場合(ステップS1151の「1」)、更新制御部1106は、主記憶部110から並行フラグを読み出し、読み出した並行フラグが「0」であれば、実施の形態1と同様に、アップデートの各プロセスの所要時間に応じたアップデートの制御を行う。以後の、端末装置1100の動作は、図16のステップS139以降の動作と同様であるので、ここでは、説明を省略する。
また、並行処理可能を示す制御信号を出力した後、更新制御部1106は、図16のステップS139へ処理を移し、所要時間によるアップデートの制御を行う。
次に、更新制御部1106は、ダウンロードした暗号化プログラム鍵を、通信暗号復号部101へ出力して復号を指示し、通信暗号復号部101からプログラム鍵を受け取る(ステップS1156)。
検証が成功であると(ステップS1158のYES)、更新制御部1106は、ダウンロードしたプログラムファイルに含まれる暗号化圧縮更新プログラムを復号及び解凍して更新プログラムを生成し、生成した更新プログラムをインストールする(ステップS1159)。インストールが完了すると、更新制御部1106は、アップデート完了を示す制御信号を主制御部107へ出力しアップデート処理を終了する。
ステップS1121において、DVD1500bが装着されていると判断すると、更新制御部1106は、DVD1500bからバージョン情報505bを読み出し(ステップS1144)、読み出したバージョン情報505bとハードディスクユニット111に記憶されているバージョン情報144とを比較する(ステップS1146)。DVD1500bから読み出したバージョン情報505bが、バージョン情報144よりも新しい世代を示している場合(ステップS1146のYES)、更新制御部1106は、DVD1500bに記憶されている更新データ表1530bを構成する更新情報のうち、ハードディスクユニット111から読み出したバージョン情報144と一致する旧バージョン情報を含むものを選択し、選択した更新情報に含まれるプログラムサイズと重要度とを読み出し(ステップS1149)、ステップS1151へ処理を移す。
ステップS1121において、DVD1500cが装着されていると判断すると、更新制御部1106は、入出力部104を介してDVD1500cから、プログラムファイル503cと更新重要度表1530cとを読み出し(ステップS1166)、読み出したプログラムファイル503cに含まれるバージョン情報505cと、ハードディスクユニット111に記憶されているバージョン情報144とを比較する(ステップS1167)。バージョン情報505cがバージョン情報144よりも新しい世代を示している場合(ステップS1167のYES)、読み出した更新重要度表1530cを構成する重要度情報のうち、ハードディスクユニット111から読み出したバージョン情報144と一致する旧バージョン情報を含むものを選択し、選択した重要度情報から重要度を抽出する(ステップS1168)。
生成又は抽出した重要度が「0」であれば(ステップS1172の「0」)、更新制御部1106は、主制御部107へアップデート終了を示す制御信号を出力し、アップデートの処理を終了する。アップデート終了を示す制御信号を受け取った主制御部107は、利用者による操作の受付を開始する。以後の、端末装置1100の動作は、図19のステップS195以降の動作と同様である。
また、並行処理可能を示す制御信号を出力した後、更新制御部1106は、ステップS243へ処理を移す。
2.6 まとめ・効果
以上、説明してきたように、実施の形態2のアップデートシステム11を構成する端末装置1100は、装着されたDVDに記憶されているコンテンツの新旧と、端末装置1100が、現在記憶しているコンテンツ視聴プログラムの最新の世代へのアップデートの重要性とを基にアップデートのタイミングを決定する。
コンテンツが旧作の場合は、アップデートの重要性にかかわらず、アップデートの各プロセスの所要時間によって、各プロセスを即実行するか保留するかを決定する。
新作のコンテンツは、発売されてからの期間が短いため、今後の販売数が伸びるという潜在的価値がある。そのため、コンテンツを不正コピーや不正改ざんといった、不正利用から保護する価値が高い。
コンテンツの保護価値が低い場合、又は、アップデートの重要性が低い場合は、アップデートの各プロセスの所要時間に応じて、アップデートを保留し、利用者の利便性を優先する。
2.7 実施の形態2に関する変形例
以上、実施の形態2について、説明してきたが、本発明は、これに限るものではなく、以下のような実施の形態2に関する変形例も含む。
ここでは、端末装置1100は、DVDのみならず、ハイブリットディスクから情報を読み取ることができる。
更新制御部1106は、アップデート開始を指示されると、入出力部104を介して、装着されているディスクの内容を確認し、HD映像のコンテンツが記憶されているか否かを判別する。SD映像のコンテンツのみ記憶されていれば、実施の形態1と同様にして、アップデートの各プロセスの所要時間に応じて、アップデートを完了又は保留する。
(3)また、コンテンツの新旧に代わって、コンテンツのヒット度によって判断しても良い。ヒット度とは、コンテンツの人気の度合いを示す値であり、一例として、コンテンツを記録したDVDの売り上げ枚数である。
サーバ装置1400は、コンテンツ識別子とコンテンツ識別子の示すコンテンツのヒット度とを対応付けて記憶している。
端末装置1100の更新制御部1106は、予めヒット基準値「20,000」を記憶している。アップデートの開始に先立って、コンテンツのタイトル、コンテンツ識別子及びヒット度の送信要求をサーバ装置1400へ送信する。
端末装置1100の更新制御部1106は、サーバ装置1400からヒット度を受信する。受信したヒット度がヒット基準値「20,000」未満であれば、実施の形態1と同様に、アップデートに係る各プロセスの所要時間に応じたアップデートの制御を行う。
(4)ヒット度は、販売枚数に限らず、ラジオ局へのリクエスト数、放送回数などであってもよいし、これらを総合的に数値化したものでも良い。
端末装置1100にDVD1500aが装着されている場合、実施の形態1と同様にサーバ装置1400は、最新バージョン情報と端末装置1100から受信したバージョン情報を比較し、比較の結果に応じて比較結果を生成して、端末装置1100に送信する。
端末装置1100にDVD1500b又はDVD1500cが装着されている場合も、DVDに記憶されているバージョン情報と端末装置1100の記憶しているバージョン情報とを比較し、前者の示す世代が後者の示す世代よりも新しければ、アップデートの必要があると判断し、DVDに記憶されているコンテンツの新旧により、アップデートのタイミングを決定する。
この場合、端末装置1100は、サーバ装置1400へ、暗号化タイトルのみを送信する。
端末装置1100は、受信した最新バージョン情報と自身が記憶しているバージョン情報とを比較し、最新バージョン情報が、自身の記憶しているバージョン情報よりも新しい世代を示していると、次に、インターネット20を介して、サーバ装置1400へ、暗号化タイトルと暗号化バージョン情報とを送信し、重要度とプログラムサイズとを要求する。
これに代わって、サーバ装置1400が、アップデート必要性の有無及びアップデートのタイミングを判断し、端末装置1100に指示しても良い。
サーバ装置1400は、予め、図35に示すようなコンテンツテーブル1470を記憶している。コンテンツテーブル1470は、複数のコンテンツ情報1471、1472、1473・・・から構成されている。各コンテンツ情報は、コンテンツ識別子と作成日と新作期限とを含む。作成日はコンテンツ識別子の示すコンテンツの作成された日を示しており、新作期限は、コンテンツ識別子の示すコンテンツが新作であるか否かを判定する基準となる日付である。
コンテンツテーブル1470において、受信したコンテンツ識別子と一致するコンテンツ識別子を含むコンテンツ情報を選択し、選択したコンテンツ情報に含まれる新作期限を読み出し、読み出した新作期限と現在日時とを比較する。
読み出した重要度が「1」の場合、新作期限と現在日時との比較結果に関わらず、判定結果「1」を生成する。判定結果「1」は、アップデートは必要であるが、端末装置1100において、設定されている許容時間と、アップデートの各プロセスの所要時間に応じてアップデートの各プロセスをすぐに実行するか保留するかを判断し、アップデートすれば良いことを示す。次に、選択したプログラム情報に含まれるプログラムサイズを読み出す。
判定結果を生成し終えると、制御部1407は、インターネット20を介して、端末装置1100へ生成した判定結果(判定結果「1」の場合は、判定結果「1」とプログラムサイズ)を端末装置1100へ送信する。
受信した判定結果が「0」であれば、更新制御部1106は、アップデート終了を示す制御信号を主制御部107へ出力してアップデートの処理を終了する。
受信した判定結果が「1」であれば、受信したプログラムサイズを時間管理部112へ出力し、ダウンロード時間の予測を指示する。以下、実施の形態1と同様にして、アップデートに係る各プロセスの所要時間によって、アップデートの処理を完了又は保留する。
このように、コンテンツテーブル1470をサーバ装置1400が記憶しており、アップデートのタイミングをサーバ装置1400において、判定することで、後発的に新作期限を変更し、コンテンツの権利者の意思をコンテンツの保護に柔軟に反映させることができる。
3. その他の変形例
なお、本発明を上記の実施の形態に基づいて説明してきたが、本発明は、上記の実施の形態に限定されないのはもちろんである。以下のような場合も本発明に含まれる。
(2)上記の実施の形態1及び2において、ダウンロード許容時間、検証許容時間及びインストール許容時間をそれぞれ設定しているが、ダウンロードからインストールまでを終了しアップデートを完了するまでの、アップデート許容時間を設定してもよい。
具体的には、先ず、プログラムサイズをもとに、ダウンロード時間、検証時間及びインストール時間を算出する。
次に、アップデート許容時間と算出したダウンロード時間とを比較し、ダウンロード時間がアップデート許容時間を超えていれば、ダウンロード以降の処理を全て保留する。
算出したダウンロード時間と検証時間の和がアップデート許容時間内であれば、
次に、ダウンロード時間、検証時間及びインストール時間の和を算出し、算出した和とアップデート許容時間とを比較する。算出した和がアップデート許容時間を超えると判断すると、ダウンロードと検証とを即実行し、インストールを保留する。算出した和がアップデート許容時間内であれば、ダウンロードからインストールまでを行う。
カウンタの値が猶予回数「3」と等しい場合は、上記の和の算出及びアップデート許容時間と和の比較は省略し、すぐにアップデートを実行する。
この場合、端末装置100は、自身が記憶しているコンテンツ視聴プログラム142のバージョン情報144にかかわらず、DVD500dに記憶されているプログラムを読み出し、インストールする。
(6)本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
(7)また、上記の実施の形態及び上記の変形例を組み合わせてもよい。
(10)前記端末装置において、前記プログラム導入は、取得した前記更新プログラムの正当性の検証プロセス及び取得した前記更新プログラムの伸張プロセスの両方又はいずれか一方を含む。
(12)前記端末装置は、前記コンピュータプログラムの世代を示す端末側プログラム版数を記憶しており、前記サーバ装置は、前記更新プログラムを用いた更新により新たに生成されるコンピュータプログラムの世代を示すサーバ側プログラム版数を記憶しており、前記更新判断手段は、前記端末側プログラム版数と前記サーバ側プログラム版数とを比較し、前記端末側プログラム版数により示される世代が、前記サーバ側プログラム版数により示される世代と一致する場合に、前記更新プログラムによる更新を行わないと判断し、前記端末側プログラム版数により示される世代が、前記サーバ側プログラム版数により示される世代より古い場合には、前記更新プログラムによる更新を行うと判断する。
(14)前記端末装置は、さらに、デジタル著作物であるコンテンツを記録している記録媒体が装着されたことを検出する検出手段と、前記記録媒体から前記コンテンツを読み出す読出手段とを備え、前記コンピュータプログラムは、前記コンテンツを再生する手順を含み、前記処理手段は、前記コンピュータプログラムに従って動作することにより、読み出された前記コンテンツを再生し、前記更新判断手段は、前記検出手段により前記記録媒体の装着が検出された場合に、前記比較を行う。
(17)前記端末装置は、前記コンピュータプログラムの世代を示す端末側プログラム版数を記憶しており、前記記録媒体は、前記更新プログラムを用いた更新により新たに生成されるコンピュータプログラムの世代を示す媒体版数を記憶しており、前記更新判断手段は、前記端末側プログラム版数と前記媒体版数とを比較し、前記端末側プログラム版数により示される世代が、前記媒体版数により示される世代と一致する場合に、前記更新プログラムによる更新を行わないと判断し、前記端末側プログラム版数により示される世代が、前記媒体版数により示される世代より古い場合には、前記更新プログラムによる更新を行うと判断する。
(19)前記端末装置は、さらに、前記記録媒体が装着されたことを検出する検出手段を備え、前記更新判断手段は、前記検出手段により前記記録媒体の装着が検出された場合に、前記比較を行う。
(20)前記端末装置を構成する前記支障判断手段は、前記プロセスの実行に要すると予測される予測時間と、所定時間とを比較し、前記予測時間が前記所定時間より長いと判断する場合に、支障を来すと判断する。
(22)ネットワークを介して前記端末装置と接続されているサーバ装置は、前記更新プログラムをあらかじめ記録しており、前記端末装置を構成する前記通常実行手段は、前記取得プロセスを実行する場合、ネットワークを介して前記サーバ装置から前記更新プログラムを取得し、前記支障判断手段は、前記サーバ装置からの前記更新プログラムの取得に要すると予測される前記予測時間と、前記所定時間とを比較する。
(24)記録媒体は、前記更新プログラムをあらかじめ記録しており、前記端末装置を構成する前記通常実行手段は、前記取得プロセスを実行する場合、前記記録媒体から前記更新プログラムを取得し、前記支障判断手段は、前記記録媒体からの前記更新プログラムの読出しに要すると予測される前記予測時間と、前記所定時間とを比較する。
(26)前記端末装置を構成する前記支障判断手段は、前記更新プロセスの実行に要すると予測される予測時間と、所定時間とを比較する。
(27)前記端末装置は、マイクロプロセッサを内蔵し、前記マイクロプロセッサの速度性能を記憶しており、各手段は、前記マイクロプロセッサにより、動作し、前記支障判断手段は、前記速度性能を用いて、前記予測時間を算出する。
(29)前記端末装置は、マイクロプロセッサを内蔵し、前記マイクロプロセッサの速度性能を記憶しており、各手段は、前記マイクロプロセッサにより、動作し、前記端末装置は、前記マイクロプロセッサの稼働率を算出し、前記支障判断手段は、前記稼働率が一定値以上の場合に、支障を来すと判断する。
(31)ネットワークを介して前記端末装置と接続されているサーバ装置は、前記更新プログラムをあらかじめ記録しており、前記保留実行手段は、前記取得プロセスを実行する場合、ネットワークを介して前記サーバ装置から前記更新プログラムを取得する。
(33)前記端末装置を構成する前記終了判断手段は、前記コンピュータプログラムによる処理の完了を検出し、前記完了を検出した場合に、前記コンピュータプログラムによる処理が終了したと判断する。
(35)必要に応じて、コンピュータプログラムを更新する内容が定義された更新プログラムの取得プロセス及び前記コンピュータプログラムの更新プロセスを少なくとも含むプログラム導入を経て、前記コンピュータプログラムを更新する端末装置であって、前記コンピュータプログラムに従ってユーザデータを処理する処理手段と、前記更新プログラムによる更新を行うか否かを判断する更新判断手段と、前記更新判断手段により更新すると判断される場合に、前記プログラム導入を構成する各プロセスの実行が、前記コンピュータプログラムに従った動作に支障を来すか否かを判断する支障判断手段と、前記支障判断手段により支障を来すと判断する場合に、当該プロセスの実行を保留し、支障を来さないと判断する場合に、当該プロセスを実行する通常実行手段と、前記コンピュータプログラムに従った前記処理が終了したか否かを判断する終了判断手段と、前記終了判断手段により終了したと判断される場合に、保留されたプロセスが存在すれば、当該プロセスを実行する保留実行手段とを備える。
(38)前記記録媒体に記録されているプログラム識別子は、前記コンピュータプログラムの世代を示すプログラム版数を含み、前記プログラム版数により世代が示されるコンピュータプログラムは、前記コンピュータデータを処理するために適切なものである。
(40)コンピュータプログラムを更新する内容が定義された更新プログラムの取得プロセス及び前記コンピュータプログラムの更新プロセスを少なくとも含むプログラム導入を経て、前記コンピュータプログラムを更新する端末装置で用いられる制御方法であって、前記コンピュータプログラムに従ってユーザデータを処理する処理ステップと、前記プログラム導入を構成する各プロセスの実行が、前記コンピュータプログラムに従った動作に支障を来すか否かを判断する支障判断ステップと、前記支障判断ステップにより支障を来すと判断する場合に、当該プロセスの実行を保留し、支障を来さないと判断する場合に、当該プロセスを実行する通常実行ステップとを含む。
Claims (22)
- コンテンツ記録媒体に記録されているコンテンツを利用するコンテンツ利用装置であって、
コンテンツの利用を制御するコンピュータプログラムを記憶している記憶手段と、
利用対象のコンテンツの新旧、品質又はヒット度を示す価値を取得し、取得した価値が一定基準を満たすか否かを判断する価値判断手段と、
前記コンピュータプログラムの世代が、前記コンテンツ記録媒体に記録されているバージョン情報の示す世代より古いか否かを判断することにより、前記記憶手段に記憶されている前記コンピュータプログラムが、前記コンテンツに適切でないか否かを判断する適性判断手段と、
前記コンピュータプログラムの世代が、前記コンテンツ記録媒体に記録されているバージョン情報の示す世代より古いと判断されることにより、前記コンピュータプログラムが適切でないと判断される場合、利用対象の前記コンテンツの価値が一定基準を満たすときに、前記コンテンツの利用に先立って、前記記憶手段に記憶されている前記コンピュータプログラムを、前記コンテンツ記録媒体に記録されているバージョン情報の示す世代と同一又はより新しい世代の適切なコンピュータプログラムに更新する更新手段と
を備えることを特徴とするコンテンツ利用装置。 - 前記更新手段は、さらに、前記コンピュータプログラムが適切でない場合、利用対象の前記コンテンツの価値が一定基準を満たさないときに、前記コンテンツの利用後に、又は空き時間に、前記記憶手段に記憶されている前記コンピュータプログラムを、適切なコンピュータプログラムに更新する
ことを特徴とする請求項1に記載のコンテンツ利用装置。 - 前記価値判断手段は、前記価値を示す情報として、前記コンテンツが制作された制作時期を取得し、取得した前記制作時期が、現時点から所定期間内であれば、取得した価値が一定基準を満たすと決定し、取得した前記制作時期が、現時点から所定期間よりも前であれば、取得した価値が一定基準を満たさないと決定する
ことを特徴とする請求項2に記載のコンテンツ利用装置。 - 前記価値判断手段は、前記コンテンツが記録されているコンテンツ記録媒体から前記制作時期を読み出すことにより、取得する
ことを特徴とする請求項3に記載のコンテンツ利用装置。 - 前記価値判断手段は、前記価値を示す情報として、前記コンテンツの市場における販売数量を取得し、取得した前記販売数量が、所定値以上であれば、取得した価値が一定基準を満たすと決定し、所定値未満であれば、取得した価値が一定基準を満たさないと決定する
ことを特徴とする請求項2に記載のコンテンツ利用装置。 - 前記価値判断手段は、前記価値を示す情報として、前記コンテンツの品質を取得し、取得した前記品質が、所定値以上であれば、取得した価値が一定基準を満たすと決定し、所定値未満であれば、取得した価値が一定基準を満たさないと決定する
ことを特徴とする請求項2に記載のコンテンツ利用装置。 - 前記価値判断手段は、コンテンツが記録されているコンテンツ記録媒体から前記品質を読み出すことにより、取得する
ことを特徴とする請求項6に記載のコンテンツ利用装置。 - 前記更新手段は、前記コンピュータプログラムを更新する内容が定義された更新プログラムを取得し、取得した更新プログラムを用いて、前記記憶手段に記憶されている前記コンピュータプログラムを更新する
ことを特徴とする請求項2に記載のコンテンツ利用装置。 - ネットワークを介して前記コンテンツ利用装置に接続されているサーバ装置は、前記更新プログラムをあらかじめ記録しており、
前記更新手段は、ネットワークを介して前記サーバ装置から前記更新プログラムを取得する
ことを特徴とする請求項8に記載のコンテンツ利用装置。 - 前記コンテンツを記録しているコンテンツ記録媒体は、前記更新プログラムをあらかじめ記録しており、
前記更新手段は、前記コンテンツ記録媒体から前記更新プログラムを読み出すことにより、取得する
ことを特徴とする請求項8に記載のコンテンツ利用装置。 - 前記コンテンツ利用装置は、さらに、
前記コンテンツを記録しているコンテンツ記録媒体が装着されたことを検出する検出手段を備え、
前記価値判断手段及び適性判断手段は、それぞれ、前記コンテンツ記録媒体が装着されたことが検出された場合に、判断を行う
ことを特徴とする請求項2に記載のコンテンツ利用装置。 - 前記更新手段は、少なくとも前記更新プログラムの取得プロセス及び前記コンピュータプログラムの更新プロセスを含むプログラム導入を経て、前記コンピュータプログラムを更新し、
前記更新手段は、
前記コンピュータプログラムが適切でない場合、利用対象の前記コンテンツの価値が一定基準を満たさないときに、前記プログラム導入を構成する各プロセスの実行が、前記コンピュータプログラムに従ったコンテンツの利用動作に支障を来すか否かを判断する支障判断部と、
前記支障判断部により支障を来すと判断する場合に、当該プロセスの実行を保留し、支障を来さないと判断する場合に、当該プロセスを実行する第1実行部と、
前記コンピュータプログラムに従ったコンテンツの利用動作が終了したか否かを判断する終了判断部と、
前記終了判断部により終了したと判断される場合に、保留されたプロセスが存在すれば、当該プロセスを実行する第2実行部とを含む
ことを特徴とする請求項2に記載のコンテンツ利用装置。 - 前記プログラム導入は、取得した前記更新プログラムの正当性の検証プロセス及び取得した前記更新プログラムの伸張プロセスの両方又はいずれか一方を含む
ことを特徴とする請求項12に記載のコンテンツ利用装置。 - 前記支障判断部は、前記プロセスの実行に要すると予測される予測時間と、所定時間とを比較し、前記予測時間が前記所定時間より長いと判断する場合に、支障を来すと判断する
ことを特徴とする請求項12に記載のコンテンツ利用装置。 - 前記支障判断部は、前記取得プロセスの実行に要すると予測される前記予測時間と、前記所定時間とを比較する
ことを特徴とする請求項14に記載のコンテンツ利用装置。 - 前記支障判断部は、前記更新プロセスの実行に要すると予測される予測時間と、所定時間とを比較する
ことを特徴とする請求項14に記載のコンテンツ利用装置。 - 前記コンテンツ利用装置は、マイクロプロセッサを内蔵し、各手段は、前記マイクロプロセッサにより、動作し、前記コンテンツ利用装置は、前記マイクロプロセッサの稼働率を算出し、
前記支障判断部は、前記稼働率が一定値以上の場合に、支障を来すと判断する
ことを特徴とする請求項12に記載のコンテンツ利用装置。 - 前記終了判断部は、前記コンピュータプログラムによる処理の完了を検出し、前記完了を検出した場合に、前記コンピュータプログラムに従ったコンテンツの利用動作が終了したと判断する
ことを特徴とする請求項12に記載のコンテンツ利用装置。 - 前記終了判断部は、利用者による前記コンテンツ利用装置の電源offの操作を検出し、前記操作を検出した場合に、前記コンピュータプログラムに従ったコンテンツの利用動作が終了したと判断する
ことを特徴とする請求項12に記載のコンテンツ利用装置。 - コンテンツ記録媒体に記録されているコンテンツを利用するコンテンツ利用装置で用いられる更新制御方法であって、
前記コンテンツ利用装置は、コンテンツの利用を制御するコンピュータプログラムを記憶している記憶手段を備え、
前記更新制御方法は、
利用対象のコンテンツの新旧、品質又はヒット度を示す価値を取得し、取得した価値が一定基準を満たすか否かを判断する価値判断ステップと、
前記コンピュータプログラムの世代が、前記コンテンツ記録媒体に記録されているバージョン情報の示す世代より古いか否かを判断することにより、前記記憶手段に記憶されている前記コンピュータプログラムが、前記コンテンツに適切でないか否かを判断する適性判断ステップと、
前記コンピュータプログラムの世代が、前記コンテンツ記録媒体に記録されているバージョン情報の示す世代より古いと判断されることにより、前記コンピュータプログラムが適切でないと判断される場合、利用対象の前記コンテンツの価値が一定基準を満たすときに、前記コンテンツの利用に先立って、前記記憶手段に記憶されている前記コンピュータプログラムを、前記コンテンツ記録媒体に記録されているバージョン情報の示す世代と同一又はより新しい世代の適切なコンピュータプログラムに更新する更新ステップと
を備えることを特徴とする更新制御方法。 - コンテンツ記録媒体に記録されているコンテンツを利用する装置で用いられる更新制御プログラムであって、
前記装置は、コンテンツの利用を制御するコンピュータプログラムを記憶している記憶手段を備え、
前記更新制御プログラムは、
コンピュータである前記装置に、
利用対象のコンテンツの新旧、品質又はヒット度を示す価値を取得し、取得した価値が一定基準を満たすか否かを判断する価値判断ステップと、
前記コンピュータプログラムの世代が、前記コンテンツ記録媒体に記録されているバージョン情報の示す世代より古いか否かを判断することにより、前記記憶手段に記憶されている前記コンピュータプログラムが、前記コンテンツに適切でないか否かを判断する適性判断ステップと、
前記コンピュータプログラムの世代が、前記コンテンツ記録媒体に記録されているバージョン情報の示す世代より古いと判断されることにより、前記コンピュータプログラムが適切でないと判断される場合、利用対象の前記コンテンツの価値が一定基準を満たすときに、前記コンテンツの利用に先立って、前記記憶手段に記憶されている前記コンピュータプログラムを、前記コンテンツ記録媒体に記録されているバージョン情報の示す世代と同一又はより新しい世代の適切なコンピュータプログラムに更新する更新ステップと
を実行させるための更新制御プログラム。 - 前記更新制御プログラムは、
コンピュータ読み取り可能なプログラム記録媒体に、記録されている
ことを特徴とする請求項21に記載の更新制御プログラム。
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)
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004062581A (ja) * | 2002-07-30 | 2004-02-26 | Infocom Corp | コンテンツのダウンロードサービスの提供方法 |
Family Cites Families (12)
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 |
-
2005
- 2005-03-15 US US10/592,090 patent/US20070261050A1/en not_active Abandoned
- 2005-03-15 WO PCT/JP2005/004537 patent/WO2005088452A1/ja active Application Filing
- 2005-03-15 JP JP2006519419A patent/JP4814090B2/ja not_active Expired - Fee Related
- 2005-03-15 EP EP05720794A patent/EP1727048B1/en not_active Not-in-force
- 2005-03-15 DE DE602005023282T patent/DE602005023282D1/de active Active
- 2005-03-15 CN CNB2005800155868A patent/CN100514303C/zh not_active Expired - Fee Related
- 2005-03-15 AT AT05720794T patent/ATE479937T1/de not_active IP Right Cessation
Patent Citations (1)
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 |