JPWO2007145220A1 - 書き換え可能な回路を備える装置、更新システム、更新方法、更新プログラム、及び集積回路 - Google Patents

書き換え可能な回路を備える装置、更新システム、更新方法、更新プログラム、及び集積回路 Download PDF

Info

Publication number
JPWO2007145220A1
JPWO2007145220A1 JP2008521219A JP2008521219A JPWO2007145220A1 JP WO2007145220 A1 JPWO2007145220 A1 JP WO2007145220A1 JP 2008521219 A JP2008521219 A JP 2008521219A JP 2008521219 A JP2008521219 A JP 2008521219A JP WO2007145220 A1 JPWO2007145220 A1 JP WO2007145220A1
Authority
JP
Japan
Prior art keywords
circuit
design data
information
function
reconfigurable
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.)
Withdrawn
Application number
JP2008521219A
Other languages
English (en)
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
Publication of JPWO2007145220A1 publication Critical patent/JPWO2007145220A1/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/34Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17748Structural details of configuration resources
    • H03K19/17768Structural details of configuration resources for security
    • 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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Geometry (AREA)
  • Computing Systems (AREA)
  • Logic Circuits (AREA)
  • Microcomputers (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

再構成可能部の未構成領域などを考慮して、適切な更新用データを入手する手段を有していないため、再構成可能部に対する回路の追加が効率的に行えない課題を有してる。利用装置101は、自身が保有する回路情報などの装置情報を設計データ生成装置102へ送信する。そして、設計データ生成装置102が生成した設計データを受信して、受信した設計データに基づき、当該装置の機能を更新する。この構成により、利用装置101における再構成可能部の回路状態を管理して、適切な更新用データの取得を実現することが可能な設計データ生成装置102、及び利用装置101を提供することが可能となる。

Description

本発明は、機器の機能を更新する技術に関する。特に再構成可能回路を効率的に活用する技術に関する。
一般的に、コンテンツの著作権を保護するため、即ちコンテンツの不正再生や不正コピーといった不正利用を防止するために暗号化技術が用いられ、暗号化処理を施されたコンテンツが配布される。
これに対して、正当な装置のみが、復号鍵を保持又は取得し、復号鍵を用いて暗号化コンテンツ復号し、コンテンツの再生等を行うことができる。
装置における暗号処理機能は、必要とされる処理速度や、耐タンパ性の観点からハードウェア実装が適する場合が多い。一方で、この暗号が万が一解読された場合には、装置に実装された暗号方式を新しいものに取り替えて安全性を保ちたいとの要望もある。
特許文献1では、FPGA(フィールド プログラマブル ゲート アレイ)やPLA(プログラマブル ロジック アレイ)などの再構成(再配置)可能なハードウェアデバイスを用いて、暗号方式を更新可能とする方法が開示されている。さらに、特許文献2では、予め定められた暗号化アルゴリズムファイルを格納するデータベースを保持して、外部からの指示に従い、前記データベースから、アルゴリズムファイルを選択して更新する技術が開示されている。
日本国 特開平10−320191号公報 日本国 特開平10−55135号公報
上記の文献によると、いずれの技術においても、更新前の再構成可能回路上の回路構成、回路の構成されていない領域の大きさ、機器の必要としている機能に関わらず、更新の要請が生じる度に、ホスト機器の指示により、設計データに従って再構成可能回路の構成を書き換えている。そのため、再構成可能回路上において、当該機器にとって必要としていない機能を有する回路が構築されたり、既存の回路が消去されたり上書きされたりして、当該機器が必要としている機能が得られない、若しくは必要な機能が損なわれ、利用者にとって不都合が生じる可能性がある。
このような問題を解消するため、本発明は、上記の不都合を解消し、機器自身の必要とする機能を得ることができる再構成可能回路を備える装置、更新方法、更新プログラム、集積回路を提供することを目的とする。
上記の課題を解決するために、本発明は、書き換え可能な回路を備える装置であって、内部の回路構成が書き換え可能な再構成可能回路と、少なくとも、前記再構成可能回路内の未構成領域を示す領域情報を含む、当該装置の構成に関する装置情報を生成する生成手段と、当該装置に構築すべき所望機能を示す機能情報及び生成した前記装置情報を設計データ生成装置へ送信する送信手段と、前記設計データ生成装置から、当該装置に前記所望機能を構築するため、必要な部分回路の構成を示す設計データを受信する受信手段と、前記再構成可能回路上の未構成領域を含む領域に、受信した前記設計データに基づいて前記部分回路を構築する構築手段とを備えることを特徴とする。
ここで、上記の「再構成可能回路」及び「構築手段」は、下記の実施の形態においては、再構成可能部に含まれる構成である。また、「生成手段」は、装置情報生成手段がその機能を担う。また、「送信手段」及び「受信手段」は、送受信部がその機能を担う。また、上記の「未構成領域」は、再構成可能回路上において、回路の構築されていない領域を指す。「機能情報」は、実施の形態においては装置情報に含まれて送信される機能条件が対応する。
この構成によると、本発明の書き換え可能な回路を備える装置は、少なくとも前記再構成可能回路の未構成領域を示す情報を含む前記装置情報と前記機能情報と前記装置情報とを送信する。従って、本発明の装置は、未構成領域を活用して、受信した設計データに基づいて前記部分回路を構築するので、本発明の装置は、更新前の機能を損なうことなく、新たな機能を導入することができるという優れた効果を奏する。
また、本発明の装置において、前記生成手段は、現在、前記再構成可能回路により実現されている機能及び構成を示す情報を含む前記装置情報を生成する。特に、前記再構成可能回路上に現在構築されている各回路の構成を示す1以上の設計データを含む前記装置情報を生成することを特徴とする。
この構成によると、前記生成手段は、前記再構成可能回路上に現在構築されている各回路の構成を示す1以上の設計データを含む前記装置情報を生成する。従って、受信した設計データにより構築される前記部分回路は、前記再構成可能回路上の既存の回路と重複することが無く、前記再構成可能回路を効率よく利用することができる。
特に、各設計データを送信する場合、機能情報の示す機能を実現するために、前記再構成可能回路上の既存の回路の全部又は一部分が流用できる場合、前記再構成可能回路に構築される前記部分回路の規模をより小さくすることができるという優れた効果を奏する。
また、前記装置は、さらに、内部構成を変更できない固定回路を1以上含み、前記生成手段は、前記固定回路の有する機能及び構成を示す情報含む前記装置情報を生成することを特徴とする。
この構成によると、前記生成手段は、当該装置内の、前記固定回路の有する機能及び構成を示す情報を含む前記装置情報を生成する。そのため、これを受信した設計データ生成装置は、当該装置に前記所望機能を構築するために、必要な複数の構成のいずれかに、既存の固定回路が該当する場合、その固定回路以外の構成を有する設計データを生成して送信する。
この設計データに基づいて、構築手段により生成される部分回路は、当該装置に前記所望機能を構築するために、必要な構成を有する固定回路と重複する構成を含んでいない。しかし、本発明の装置は、既存の固定回路新たに生成した部分回路により、所望の機能を構築することができる。従って、既存の固定回路を活用することで、再構成可能回路に構築する部分回路の規模を最小限に抑えることができるという優れた効果を奏する。
また、本発明の装置において、前記生成手段は、前記再構成可能回路の製造メーカ及び品番を含む前記装置情報を生成することを特徴とする。
再構成可能回路は、その製造メーカや規模などにより、内部の構造や回路構築のロジックが異なる場合がある。
上記の構成では、前記生成手段は、前記再構成可能回路の製造メーカ及び品番を含む前記装置情報を生成する。これを受信した設計データ生成装置は、製造メーカ及び品番から、前記再構成可能回路の内部構成や回路構築ロジックを、正確に特定できる。従って、本発明の装置は、前記再構成可能回路に係る詳細な構成情報などを送信するしなくても、適切なロジックに基づいた前記設計データを取得することができる。
また、前記1以上の固定回路は、CPU及びCPUにより実行されるプログラムを格納するメモリを含み、前記生成手段は、前記CPUの処理能力及び前記メモリの空き容量を含むとしてもよい。
さらに、前記生成手段は、前記メモリに記憶されている各プログラムについて、そのプログラムが前記CPUにより実行されることで実現される機能を示すプログラム機能情報を含む前記装置情報を生成することを特徴とするとしてもよい。
ソフトウェアによる処理と、ハードウェア回路とが連携して動作することで1つの機能を実現する場合がある。例えば、対タンパ性を有するチップ上に構築された回路で、機密性の高い処理(鍵生成、暗号処理など)を行って、その他の処理をソフトウェアによって行う場合などが考えられる。
上記の構成によると、前記CPUの処理能力及び前記メモリの空き容量を含む前記装置情報を生成する。従って、前記受信手段の受信する前記設計データに基づいて前記部分回路を構築した後の当該装置は、CPUの処理能力とメモリの空き容量を加味して、CPUによるプログラムの実行と、前記固定回路と、前記再構成可能回路上の回路とを最も効率よく活用して所望の機能を実現することができる。
前記装置は、さらに、現在、再構成可能回路上に構築されている回路のうち不要な回路の、利用者による指定を受け付ける受付手段を備え、前記生成手段は、指定された不要な回路の存在する上書き可能領域を示す情報を含む前記装置情報を生成し、前記構築手段は、前記再構成可能回路上の未構成領域及び/又は前記上書き可能領域を含む領域に前記部分回路を構築することを特徴とする。
また、前記利用装置は、さらに、再構成可能回路上に構築されている各回路の使用頻度を計数する計数手段を備え、前記生成手段は、計数された使用頻度が所定の閾値以下の回路の構築されている低頻度領を域示す低頻度領域情報を含む前記装置情報を生成し、前記構築手段は、前記再構成可能回路上の未構成領域及び/又は前記低頻度領域を含む領域に前記部分回路を構築することを特徴とする。
この構成によると、前記受付手段は、現在再構成可能回路上に構築されている回路のうち、不要な回路の、利用者による入力を受け付け、前記生成手段は、前記上書き可能領域を含む前記装置情報を生成する。
また、前記計数手段は、再構成可能回路上に構築されている各回路の使用頻度を計数し、前記生成手段は、使用頻度が所定の閾値以下の回路の構築されている低頻度領域を含む前記装置情報を生成する。ここで、使用頻度の少ない回路は、必要性の小さい不要な回路であると考えられる。
従って、受信手段により受信された設計データに基づいて、構築手段は、前記上書き可能領域(低頻度領域)も用いて部分回路を構築する。よって、本発明の装置は、不要となった回路の存在する領域も無駄なく活用することができるという優れた効果を奏する。
前記装置は、さらに、利用者により所望の機能を示す前記機能情報の入力を受け付ける受付手段を備え、前記送信手段は、入力された前記機能情報を送信することを特徴とする。
この構成によると、前記受付手段は、利用者による前記機能情報の入力を受け付ける。そのため、構築手段により前記部分回路を構築した後の当該装置は、利用者の意図を確実に反映した機能を備えることができる。
また、本発明において、前記送信手段は、当該装置に入力された暗号化機密データの生成に用いられた暗号化アルゴリズムと対応する復号アルゴリズム及び復号処理のために必要な処理能力を前記機能情報として送信することを特徴とする。
この構成によると、送信手段は、前記暗号化機密データの生成に用いられた暗号化アルゴリズムと対応する復号アルゴリズム及び復号処理のために必要な処理能力を前記機能情報として送信する。従って、前記構築手段により前記部分回路が構築された後の本発明の装置は、前記暗号化コンテンツを復号する機能を備える。
著作権保護の観点から、コンテンツなどは、暗号化されて配布されることが多い。しかし、暗号化に用いられていた暗号方式の解読法が発見された場合、その後に配布されるコンテンツは、解読法が発見されていない別の暗号方式で暗号化され配布される。このような場合、コンテンツを再生する装置においても、新たな暗号方式に対応した復号機能が必要になる。
本発明の装置は上記の構成を有するため、このように、コンテンツの暗号化に用いられる暗号方式が変わった場合にも、速やかに、新たな暗号方式に対応した復号機能を構築できる。
さらに、前記再構成可能回路上の既存の回路を削除しないでおけば、暗号方式が解読される前に配布された暗号化コンテンツを復号する機能も残存しているので、当該装置は、過去に正規に購入された暗号化コンテンツも、新たな暗号化コンテンツも復号可能であるので、利用者にとっての利便性を損なわずに、コンテンツ作成者の著作権の保護を図ることができる。
また、本発明において、前記暗号化機密データは、デジタル著作物を暗号化して生成された暗号化著作物と、前記機能情報とを含み、前記送信手段は、前記暗号化機密データから抽出された前記機能情報を送信することを特徴とする。
この構成であれば、本発明の装置は、前記暗号化コンテンツから抽出するだけで簡単に前記機能情報を取得できる。
また、前記送信手段は、当該装置に装着されている記録媒体の種類に応じて、前記記録媒体に記録されたデータを取得するための機能を示す前記機能情報を送信することを特徴とする。
この構成によると、前記送信手段は、記録媒体の種類に応じて、記録媒体に記録されたデータを取得するための機能を示す前記機能情報を送信する。
記録媒体には、DVD、メモリカード、ブルーレイディスクなど、様々な種類があり、各記録媒体は、それぞれ異なる規格に準拠している。従って、記録媒体に記録されているデータを取得するためには、その記録媒体の準拠する規格に従った機器認証、署名検証、鍵生成などを行わなければならない。
上記の構成を備えているので、本発明の装置は、何れの種類の記録媒体が装着されても、その記録媒体からデータを取得する機能を構築することができる。
また、前記装置は、さらに、前記装置に装着されている記録媒体の種類を識別する識別手段と、当該装置に装着される可能性のある記録媒体の種類と、各種類の記録媒体に記録されたデータを取得するために必要な機能を示す媒体機能情報とを対応付ける機能情報テーブルを保持している保持部手段と、前記機能情報テーブルから、現在、当該装置に装着されている記録媒体の種類と対応する媒体機能情報を読み出す読出手段とを備え前記送信手段は、読み出された媒体機能情報を前記機能情報として送信することを特徴とする。
上記の構成によると、保持手段は、機能情報テーブルを保持しているので、読出手段は、識別手段の識別した種類の記録媒体と対応する媒体機能情報を読み出す。従って、前記送信手段は、読出手段による読み出しという簡単な動作により、迅速に前記機能情報を得ることができる。
また、前記装置を構成する前記送信手段は、当該装置に入力されたデータの種類を前記機能情報として送信することを特徴とする。
この構成によると、どのような種類のデータが入力された場合であっても、前記装置は、入力されたデータを取り扱う機能を得ることができる。
前記装置は、ネットワークを介して1以上の外部の機器と通信可能であって、前記送信手段は、当該装置が通信しようとしている1つ以上の外部機器の保持しているデータを利用するために必要な機能を示す前記機能情報を送信することを特徴とする。
この構成によると、前記送信手段は、当該装置が通信しようとしている1の外部機器の保持しているデータを利用するために必要な機能を示す前記機能情報を送信する。従って、前記部分回路構築後の装置は、前記1の外部機器の保持しているデータを利用する機能を備える。
各外部機器は、それぞれに、機器認証の方式が異なったり、データがそれぞれ異なる暗号方式で暗号化されていたりする。本発明の装置は、上記の構成により、通信しようとしている外部機器に応じた通信機能及びデータの取得機能を得ることができる。
前記装置は、さらに、当該装置が通信する可能性のある1以上の外部機器と、それぞれの外部機器の保持するデータを利用するために必要な機能を示す複数の機器機能情報とを対応付ける機能情報テーブルを保持している保持手段と、前記機能情報テーブルから、当該装置が通信しようとしている1つ以上の外部機器と、それぞれ対応する1つ以上の機器機能情報を読み出す読出手段とを備え、前記送信手段は、読み出した1つ以上の機器機能情報を前記機能情報として送信することを特徴とする。
上記の構成によると、保持手段は、機能情報テーブルを保持しているので、読出手段は、当該装置が通信しようとしている前記1つ以上の外部機器と対応する1つ以上の媒体機能情報を読み出す。従って、前記送信手段は、読出手段による読み出しという簡単な動作により、迅速に前記機能情報を得ることができる。
前記装置は、さらに、外部からデータを取得する取得手段と、前記固定回路及び現在再構成可能回路上に構築されている回路によって、前記データを取り扱う機能が、当該装置内に既に構築されているか否かを判定する判定手段と、構築されていないと判定された場合に限り、前記生成手段に前記生成を指示し、前記送信手段に前記装置情報及び前記データを取り扱う機能を示す前記機能情報の送信を指示する制御手段を備えるを含むことを特徴とする。
この構成によると、前記固定回路及び現在再構成可能回路上に構築されている回路によって、前記データを取り扱う機能が、当該装置内に既に構築されていないと判定された場合、前記制御手段は、前記生成手段に前記生成を指示し、前記送信手段に前記装置情報及び前記データを取り扱う機能を示す機能情報の送信を指示する。従って、当該装置自身が、自身の備える機能の更新の要否を判定するので、必要な機能を確実に構築することができる。さらに、更新が不要な場合は、無駄な通信を回避することができる。
また、前記装置において、前記受信手段は、前記設計データ生成装置から、上級言語により記述された前記設計データを受信し、前記構築手段は、前記設計データを機械語に変換して機械語データを生成する変換部と、前記機械語データに従って、前記再構成可能回路に前記部分回路を構築する構築部とを含むことを特徴とする。
この構成によると、前記変換部は、前記設計データを機械語に変換して機械語データを生成し、前記構築部は、前記機械語データに従って、前記再構成可能回路に前記部分回路を構築する。
従って、前記設計データ生成装置に、多数の装置から機能更新の要求が殺到するような場合、例えば、セキュリティに関する機能に重大な欠陥が見つかった場合など、前記設計データ生成装置は、コンパイルを行わずに、欠陥を補修する機能を実現するための前記設計データを配布すればよいので、前記設計データ生成装置に係る負荷を軽減することができる。
本発明に係る設計データ生成装置、及び利用装置の全体構成を示す構成図 本発明の実施の形態における利用装置101の機能を示す機能ブロック図 本発明の実施の形態における設計データ生成装置102の機能を示す機能ブロック図 設計データ記憶部203が記憶している設計データリスト210の一例を示す図 固定回路情報記憶部204が記憶している固定回路リスト310の一例を示す図 本発明の実施の形態における利用装置101、及び設計データ生成装置102の動作フローを示す図 本発明の実施の形態における利用装置101、及び設計データ生成装置102の動作フローを示す図 本発明の実施の形態における利用装置800の機能を示す機能ブロック図 暗号化コンテンツの再生に必要とされる条件を示す情報の一例を示す図 本発明の実施の形態における利用装置800、及び設計データ生成装置102の動作フローを示す図 本発明の実施の形態における利用装置800、及び設計データ生成装置102の動作フローを示す図 本発明の実施の形態における利用装置101を実現する集積回路の一例を示す図 再構成可能部201を構成する再構成可能回路220の構造の一例を示す図 論理ブロックLB1(221)の内部構成を示す図 スイッチマトリクスS1(231)の構成及びトランジスタスイッチ群261の構成を示す図 設計データA280の内容を、テーブルを用いて表現した図 設計データ記憶部203の記憶している情報の一例を示した図
符号の説明
101、800 利用装置
102 設計データ生成装置
201 再構成可能部
202 固定回路
203 設計データ記憶部
204 固定回路情報記憶部
205、802 装置情報生成部
206、301 送受信部
220 再構成可能回路
221 論理ブロックLB1
231 スイッチマトリクスS1
251〜253 LUT
254、255 フリップフロップ
261 トランジスタスイッチ群
280 設計データA
302 設計データ生成部
401 再構成可能回路情報
402 領域管理テーブル
801 機能条件取得部
1.実施の形態1
以下、本発明の実施の形態1について、図面を参照しながら説明する。
1.1 更新システム1の構成
更新システム1は、図1に示すように、利用装置101、及び設計データ生成装置102から構成される。利用装置101は、具体的には、DVDプレーヤー、ゲーム機、パソコンといった家庭用AV機器、コンピュータ制御を導入している様々な機器(電子レンジ、エアコン、自動車、ロボットなど)が該当するが、以下の説明においては、単に利用装置と呼ぶ。
利用装置101は、自身が保有する回路情報などの装置情報を設計データ生成装置102へ送信する。そして、設計データ生成装置102が生成した設計データを受信して、受信した設計データに基づき、当該装置の機能を更新する。
設計データ生成装置102は、利用装置101から装置情報を受信する。そして、受信した情報に基づき設計データを生成して、生成した設計データを利用装置101へ送信する。
このとき、通信路上でのデータの保護には、例えば、DES(Data Encryption Standard)暗号などが利用されるが、DES暗号については、公知の技術であるためその説明は省略する。
1.2 利用装置101の構成
利用装置101は、図2に示すように、再構成可能部201、固定回路202、設計データ記憶部203、固定回路情報記憶部204、装置情報生成部205、送受信部206から構成される。図2には、本発明の特徴部分に関連する機能部のみを記載しているが、利用装置101は、その他にも、利用装置101の機能を達成するための各種の構成部を含む。例えば、利用装置が、ゲーム機であれば、利用者の操作を受け付ける入出部、ディスプレイ、ゲームソフトを記録媒体から読み出すドライブ部、各機能部の動作を制御する主制御部などを含んで構成される。
利用装置101は、具体的には図示されていないマイクロプロセッサ、及びRAM、ROM、ハードディスクなどから構成される。前記RAM、ROM、及びハードディスクにはコンピュータプログラムが記憶されており、前記マイクロプロセッサが前記プログラムに従って動作することにより、利用装置101はその機能の一部を果たす。
なお、再構成可能部201、固定回路202、設計データ記憶部203、固定回路情報記憶部204、装置情報生成部205、送受信部206等の各機能ブロックは典型的には集積回路であるLSIとして実現される。これらは個別に1チップ化されても良いし、全てを含むように1チップ化されても良い。その一例を図12に示す。
ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。
さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。
(1) 再構成可能部201
再構成可能部201は、送受信部206が受信した設計データに基づきハードウェア回路を構成する。
(2) 固定回路202
固定回路202は、暗号回路、演算器などの再構成できない固定回路を備える。
(3) 設計データ記憶部203
設計データ記憶部203は、送受信部206が受信した設計データをリストとして記憶する。その一例を図4に示す。図4の例では、再構成可能部201上に実現されている3種類の回路を構築するための設計データ(設計データA、設計データB、設計データD)が設計データリスト210に記憶されている。
設計データリスト210は、現在再構成可能部201上に実現されている回路を示す識別子と、各識別子により識別される回路を構築するための設計データとを対応付けて記憶している。
さらに、送受信部206で新たな設計データを受信した場合、当該設計データリスト210は更新される。また、逆に、利用者による操作や後述する再構成可能部201の更新の動作において、再構成可能部201で実現する回路が削除された場合は、設計データリスト210からも当該設計データが削除される。
(4) 固定回路情報記憶部204
固定回路情報記憶部204は、当該装置が備える再構成できない固定回路202に関する情報を記憶している。固定回路202は、一例として、暗号回路、演算器などの回路である。固定回路情報は、例えば、回路の備える機能の名称、若しくは、回路の備える機能を示す識別番号などであって、設計データ生成装置及び利用装置双方が各回路の機能を識別できる形式で記載されている。以下これらを総称して固定回路情報と呼ぶ。固定回路情報記憶部204は、前述の固定回路情報をリストとして記憶している。その一例を図5に示す。図5の例では、固定回路情報記憶部204は、当該装置が備える3種類の再構成できない固定回路(AES(Advanced Encryption Standard)暗号回路、32ビット乗算器、64ビット加算器)の名称からなる固定回路リスト310を記憶している。この固定回路リスト310は、当該装置が出荷当初から備える固定回路の情報であり、基本的には更新されない情報である。
(5) 装置情報生成部205
装置情報生成部205は、再構成可能部201で実現する回路を更新する際に、設計データ記憶部203と、固定回路情報記憶部204に記憶するそれぞれのリストを読み出す。また、例えば利用者によって入力された所望機能、利用装置の利用しようとするデータを利用するための機能を示す機能条件を取得する。
読み出したそれぞれのリストと機能条件とを統合して装置情報を生成する。生成された装置情報は、送受信部206を介して設計データ生成装置102に送信される。
(6) 送受信部206
送受信部206は、例えばインターネットで外部に接続されており、具体的には、設計データ生成装置102と接続されている。
送受信部206は、装置情報生成部205が生成した装置情報を設計データ生成装置102に送信し、設計データ生成装置102が生成した設計データを受信して、受信した設計データを設計データ記憶部203と、再構成可能部201へ送る。
1.3 設計データ生成装置102の構成
設計データ生成装置102は、図3に示すように、送受信部301、設計データ生成部302から構成される。
設計データ生成装置102は、具体的には図示されていないマイクロプロセッサ、及びRAM、ROM、ハードディスクなどから構成される。前記RAM、ROM、及びハードディスクにはコンピュータプログラムが記憶されており、前記マイクロプロセッサが前記プログラムに従って動作することにより、設計データ生成装置102はその機能の一部を果たす。
なお、送受信部301、設計データ生成部302等の各機能ブロックは典型的には集積回路であるLSIとして実現される。これらは個別に1チップ化されても良いし、全てを含むように1チップ化されても良い。
ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。
さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。
(1) 送受信部301
送受信部301は、例えばインターネットで外部に接続されており、具体的には、利用装置101と接続されている。
送受信部301は、装置情報を利用装置101から受信して、設計データ生成部302へ送り、設計データ生成部302が生成した設計データを利用装置101へ送信する。
(2) 設計データ生成部302
設計データ生成手段302は、受信手段301が受信した装置情報に基づき設計データを生成する。具体的には、再構成可能手段201で実現されている他のハードウェア回路を上書きせず、空いている領域で所望の機能が実現可能な設計データを生成したり、固定回路202に備える回路を利用して、効率よく所望の機能を実現する設計データを生成したりする。
ここで、受信する装置情報は、上述の通り、現在再構成可能部201内に構築されている各回路の設計データと固定回路リストと機能条件とを含む。
以下、上述した設計データの生成について、順を追って説明する。
設計データ生成部302は、受信した装置情報を解析して、機能情報から利用装置の所望する機能を特定する。続いて、固定回路リスト、各回路の設計データから、利用装置の内の既存の各回路の機能、再構成可能部201内の未構成領域を特定する。
ここで、設計データ生成部302は、予め、利用装置101の再構成可能部201の回路規模や形状などを知っているとしてもよいし、これらの情報が装置情報に含まれているとしても良い。
設計データ生成部302は、機能情報の示す機能を構築するため、既存の各回路のうち利用できる回路の有無を特定し、利用できる回路があれば、その回路を利用し、不足機能を追加する回路を構成するための設計データを生成する。
また、受信した設計データをより詳細に解析し、受信した機能条件の示す機能を実現するために必要な構成が、再構成可能部201上の既存の回路内に存在すれば、この構成を流用する配線を含む設計データを生成してもよい。
続いて、生成した設計データを送受信部301を介して、利用装置へ送信する。
1.4 利用装置101、及び設計データ生成装置102の動作
利用装置101、及び設計データ生成装置102の動作について、図6、並びに図7を用いて説明する。
利用装置101は、再構成可能部201の更新指示を受信し(ステップS601)、装置情報生成部205は、設計データ記憶部203に記憶する設計データと、固定回路情報記憶部204に記憶する固定回路情報を読み出して装置情報を生成し(ステップS602)、送受信部206は、生成された装置情報を設計データ生成装置102へ送信する(ステップS603)。
設計データ生成装置102の送受信部301は、利用装置101の送受信部206が送信した装置情報を受信する(ステップS604)。設計データ生成部302は、S604で受信した装置情報を基に、所望機能を構築するための設計データを生成する(ステップS605)。送受信部301は、ステップS605で生成した設計データを利用装置101へ送信する(ステップS606)。
利用装置101の送受信部206は、ステップS605で生成された設計データを受信して(ステップS607)、受信した設計データを設計データ記憶部203と、再構成可能部201に送る。設計データ記憶部203は、受信した設計データを設計データリスト210に追加し(ステップS608)、再構成可能部201は、受信した設計データをロードして所望のハードウェア回路を実現する(ステップS609)。
2.実施の形態2
以下に本発明の実施の形態2のシステムについて説明する。実施の形態2も実施の形態1と同様に利用装置と設計データ生成装置から構成されるが、設計データ生成装置の構成は、実施の形態1と同様であるので説明を省略し、本実施の形態の特徴部分である利用装置を中心に説明する。
2.1 利用装置800の構成
利用装置800は、図8に示すように、再構成可能部201、固定回路202、設計データ記憶部203、固定回路情報記憶部204、送受信部206、機能条件取得部801、装置情報生成部802から構成される。
利用装置800は、具体的には図示されていないマイクロプロセッサ、及びRAM、ROM、ハードディスクなどから構成される。前記RAM、ROM、及びハードディスクにはコンピュータプログラムが記憶されており、前記マイクロプロセッサが前記プログラムに従って動作することにより、利用装置800はその機能の一部を果たす。
なお、再構成可能部201、固定回路202、設計データ記憶部203、固定回路情報記憶部204、送受信部206、機能条件取得部801、装置情報生成部802等の各機能ブロックは典型的には集積回路であるLSIとして実現される。これらは個別に1チップ化されても良いし、全てを含むように1チップ化されても良い。
ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。
さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。
また、再構成可能部201、固定回路202、設計データ記憶部203、固定回路情報記憶部204、送受信部206の構成は利用装置101と同じであるため説明を省略する。
(1) 機能条件取得部801
機能条件取得部801は、送受信部206が受信する暗号化コンテンツを受け取り、当該暗号化コンテンツを復号するために必要とされる機能に関する諸条件(以下、機能条件と呼ぶ)を抽出する。図9にその一例を示し、暗号化コンテンツに付随して送られてくるとする。図9の例では、暗号化コンテンツAは、AES暗号を用いて暗号化されていることを示し、そのAES暗号を復号するために必要とされる処理能力は24Mbps(24Mega bit/second)である。機能条件取得部801は、抽出した機能条件を装置情報生成部802に送る。
(2) 装置情報生成部802
装置情報生成部802は、再構成可能部201で実現する回路を更新する際に、設計データ記憶部203と、固定回路情報記憶部204に記憶するそれぞれのリストを読み出し、さらに、機能条件取得部801から機能条件を統合して装置情報を生成する。生成された装置情報は、送受信部206を介して設計データ生成装置102に送信される。
2.2 利用装置800、及び設計データ生成装置102の動作
利用装置800、及び設計データ生成装置102の動作について、図10、並びに図11を用いて説明する。
利用装置800の送受信部206は、暗号化コンテンツを受信する(ステップS1001)。機能条件取得部801は、S1001で受信した暗号化コンテンツから、当該暗号化コンテンツの復号に必要とされる諸条件を抽出して、装置情報生成部802に通知する(ステップS1002)。装置情報生成部802は、設計データ記憶部203に記憶する設計データと、固定回路情報記憶部204に記憶する固定回路の情報を読み出し、さらに、S1002で通知された暗号化コンテンツを復号するために必要な機能条件を統合して装置情報を生成し(ステップS1003)、送受信部206は、生成された装置情報を設計データ生成装置102へ送信する(ステップS1004)。
設計データ生成装置102の送受信部301は、利用装置800の送受信部206が送信した装置情報を受信する(ステップS1005)。設計データ生成部302は、S1005で受信した装置情報を基に、所望の設計データを生成する(ステップS1006)。送受信部301は、ステップS1006で生成した設計データを利用装置800へ送信する(ステップS1007)。
利用装置800の送受信部206は、ステップS1006で生成された設計データを受信して(ステップS1008)、受信した設計データを設計データ記憶部203と、再構成可能部201に送る。設計データ記憶部203は、受け取った設計データを設計データリスト210に追加し(ステップS1009)、再構成可能部201は、受信した設計データをロードして所望のハードウェア回路を実現する(ステップS1010)。最後に、ステップS1010で実現したハードウェア回路を用いて、受信済みの暗号化コンテンツを復号して出力し、図示していない再生処理部は、コンテンツを再生する(ステップS1011)。
3.再構成可能部の詳細
以上、実施の形態1及び2について説明してきたが、上記の実施の形態の理解を容易にするために、再構成可能部201について説明する。
3.1 再構成可能部の構成
再構成可能部201は、具体的には、再構成可能回路を含んで構成される。再構成可能回路には、リコンフィギュアラブルLSI、PLD、CPLD、PLA、FPGAなど、その回路規模や回路構築のロジックにより、様々な種類が存在する。また、製造メーカによっても、その呼び名や、回路構築のロジックが異なることもある。
ここでは、一例として、LUT(ルックアップテーブル)型のFPGA(フィールドプログラマブルアレイ)を用いた場合について説明する。
図13は、再構成可能回路220の内部構造の一例を模式的に示している。
再構成可能回路220は、論理ブロックLB1(221)、論理ブロックLB2(222)、論理ブロックLB3(223)、論理ブロックLB4(224)、論理ブロックLB5(225)、論理ブロックLB6(226)、論理ブロックLB7(227)、論理ブロックLB8(228)、論理ブロックLB9(229)と16個のスイッチマトリクスS1(231)〜スイッチマトリクスS16(246)と、各論理ブロックと各スイッチマトリクスとを接続する配線群から構成される。なお、LB1・・・LB9は、各論理ブロックを識別する識別名である。最上段の左の論理ブロックから順にLB1、LB2、LB3、2段目の左から順にLB4、LB5、LB6、3段目の左から順にLB7、LB8、LB9という名称が割り当てられている。S1・・・S16は、各スイッチマトリクスの識別名であって、論理ブロックの名称度同様に最上段の左端から、最下段の右下の順に、割り当てられている。ここでは、識別名としたが、これに限るものではなく、各論理ブロック、スイッチマトリクスに予め割り当てられたアドレス情報や、識別子など、それぞれの素子の位置及び種類が特定できる情報であれば良い。
図13に示すように、論理ブロックLB1(221)〜論理ブロックLB9(229)は、3×3のマトリクス状に配置され、論理ブロック間を結ぶ配線の各交点に16個のスイッチマトリクスS1(231)〜スイッチマトリクスS16(246)が配置されている。
図14は、論理ブロックLB1(221)の内部を示す図である。なお、論理ブロックLB2(222)〜論理ブロックLB9(229)も同様の構成を有する。
論理ブロックLB1(221)は、LUT251、LUT252、LUT253、フリップフロップ254、及びフリップフロップ255から構成される。LUT251及びLUT253は、4入力1出力の構成を有し、LUT252は、3入力1出力の構成を有するが、これは一例であり、必ずしもこの構成には限定されない。各LUTは、具体的には、小規模なSRAMで構成される。
図15(a)及び(b)は、スイッチマトリクスS1(231)の構造を示す。なお、スイッチマトリクスS2(232)〜スイッチマトリクスS16(246)も同様の構造を有する。
スイッチマトリクスS1(231)は、配線群を構成する垂直配線チャネルと水平配線チャネルとが交差する箇所に配置されたトランジスタスイッチ群261、262、263、264から構成される。
図15(b)は、トランジスタスイッチ群261の構成を示す図である。なお、トランジスタスイッチ群262〜264も同様の構成を有する。
トランジスタスイッチ群261は、6個のトランジスタスイッチ271〜276で構成され、各トランジスタスイッチは、SRAMを用いてON又はOFFに設定されており、それにより、各論理ブロック間を接続したり遮断したりする。
3.2 設計データ
上記の実施の形態において、設計データ記憶部203の記憶している設計データや、設計データ生成装置102により生成される設計データは、識別子により識別される回路を構築するために使用される論理ブロック、スイッチマトリクス、それぞれの論理ブロックを構成するLUTの設定値、各スイッチマトリクスに含まれるトランジスタスイッチ回路のON/OFFを示すビット列を含む。
一例として、設計データリスト210の記憶している設計データAの概要を図16に示す。実際の設計データは、再構成可能部201により読み取り可能な機械語で記述されているが、ここでは、理解を容易にするため、テーブルを用いて表現している。説明の便宜上、設計データAにより構築される回路を回路Aと呼ぶ。
設計データAは、図16に示すように、構成LBテーブル281、LB1内部設定情報テーブル282、LB2内部設定情報テーブル283、結線情報テーブル284から構成される。
構成LBテーブル281は、回路Aを構成する論理ブロックを示している。ここでは、一例として、回路Aが、論理ブロックLB1(221)と論理ブロックLB2(222)から構成されることを示している。
LB1内部設定情報テーブル282は、論理ブロックLB1(221)の内部設定情報から構成される。内部設定情報としては、論理ブロックLB1(221)内の各LUTの設定値及び内部の配線情報である。ここでは、一例として、LUT251〜253に、それぞれ、記憶されるLUT設定値a〜c、LUT251の端子251bとLUT252の端子252aとを接続することを示す情報が含まれている。
LB2内部設定情報テーブル283もLB1内部設定情報テーブル282と同様の構成であって、論理ブロックLB2(222)の内部設定情報から構成される。
結線情報テーブル284は、論理ブロック間の結線に関する1以上の結線情報から構成される。図13に示す例では、各論理ブロックは4つの端子を備えている。図16に示すように、結線情報テーブル284上の1の結線情報は、「S2」及び「LB1端子1−LB2端子4」から構成される。この結線情報は、スイッチマトリクスS2(232)により、論理ブロックLB1(221)の第1端子と論理ブロックLB2(222)の第4端子を接続することを示している。「LB1端子1−LB2端子4」は、具体的には、スイッチマトリクスS2(323)に含まれる各トランジスタスイッチのON/OFFを示す情報である。
以上、LUT型のFPGAを例にして、再構成可能部の具体的構造及び設計データの構成について説明してきたが、他の再構成可能回路を用いる場合、設計データ記憶部203は、それぞれの再構成可能回路の構造、及び、規格に適した書式により記載された設計データを記憶している。
4. 装置情報に関する具体例
上記の実施の形態1では、装置情報生成部205は、現在、再構成可能部201に構築されている回路の設計データと固定回路情報とを装置情報として送信している。また、実施の形態2ではこれらに暗号化コンテンツの再生必要な機能条件を加えて装置情報を生成し、送信する。
設計データ生成装置102の設計データ生成部302は、受信した装置情報に含まれる設計データを解析し、再構成可能部内で何れの回路にも属さない論理ブロック(以下、既存の回路に属さない論理ブロック群を未構成領域と呼ぶ)を特定し、特定した論理ブロックを用いて受信した機能条件を満たす回路を構築するための設計データを生成し、送信する。
この場合は、設計データ生成装置102は、例えば、利用装置101の製造元のメーカの保有する機器であって、設計データ生成部302は、利用装置101の備える再構成可能部201の備える再構成可能回路の構造を、予め知っている。
続いて、利用装置101は、設計データ生成装置102により生成された、最適な設計データを受信し、受信した設計データを設計データ記憶部203へ追加すると共に、再構成可能部201は、受信した設計データに従って新たな回路を構築する。
以下に、装置情報として送信する情報の他の具体例について説明する。
(1)再構成可能回路の構成を通知する
上記の例は、設計データ生成装置102側が、利用装置の備える再構成可能回路の構成や規模を知っているものとしたが、利用装置が、自らの備える再構成可能回路の構成や規模を含む装置情報を送信しても良い。
(2)再構成可能部の未構成領域を通知する
装置情報生成部205は、予め、再構成可能部201の内部構成を示す情報を記憶している。具体的には、論理ブロックの個数「9個」、それらの識別名「LB1〜LB9」、配置状態「3×3のマトリクス状」、スイッチマトリクスの数「16個」それらの名称「S1〜S16」などを記憶している。
再構成可能部201の更新の指示が為されると、装置情報生成部205は、設計データ記憶部203から、設計データを読み出す。設計データの構成は、図16を用いて説明した通りである。
各設計データに含まれる構成LBテーブルそれぞれから、既存の回路を構成する論理ブロックの識別名を読み出す。続いて、記憶している識別名「LB1〜LB9」から、読み出した識別名を除いた識別名「LBx、LBy・・・」(x、yは1〜9の整数)と、記憶している再構成可能部201の内部構成を示す情報及び固定回路情報を結合して装置情報を生成する。以下、再構成可能回部内の既存の回路の存在する領域を構成済領域、何れの回路にも用いられていない論理ブロックの存在する領域を未構成領域と呼ぶ。
生成した装置情報を送受信部206を介して、設計データ生成装置102へ送信する。
設計データ生成装置102の設計データ生成部302は、装置情報に含まれる識別名「LBx、LBy・・・」(x、yは1〜9の整数)と、再構成可能回路の内部情報とを基に、再構成可能部201内の未構成領域を特定し、未構成領域内の論理ブロックを無駄なく利用する設計データを生成することができる。
実施の形態2の装置情報生成部802についても、同様に、再構成可能部のあき領域を示す情報を含む装置情報を生成する。
また、再構成可能部201の内部構成に代えて、再構成可能部を構成する再構成可能回路の製造メーカ名、品番を含む装置情報を送信する構成であってもよい。再構成可能部201を構成する再構成可能回路の構造及び、回路設計のロジックは、メーカや回路規模などにより異なる。従って、設計データ生成部302は、成可能回路の製造メーカ名、品番から再構成可能部の構造、形状、回路構築ロジックを特定し、最適な設計データを生成することができる。
(3) 領域管理テーブル
また、上記の具体例(2)の場合、設計データ記憶部203が、再構成可能部201の内部構造を示す情報及び構成済領域及び未構成領域を示す情報を記憶しており、装置情報生成部205は、設計データ記憶部203から、これらの情報を読み出すとしてもよい。
例えば、図17は、設計データ記憶部203の記憶している情報の一例を示している。設計データ記憶部203は、再構成可能回路情報401と、領域管理テーブル402と、設計データリスト210とを記憶している。
設計データリスト210については、上記の通りであるので説明を省略する。
再構成可能回路情報401は、再構成可能部201を構成する再構成可能回路の内部構成を示す情報である。ここでは、一例として再構成可能回路内に9個の論理ブロックLB1〜論理ブロックLB9が存在し、これらが3×3のマトリクス状に配置されていることを示している。この他にも、スイッチマトリクスに関する情報、各論理ブロック内の構成を示す情報、再構成可能回路の製造メーカ、品番などを含んでいても良い。
図17に示す領域管理テーブル402は、3個の構成済LB情報403・・・と未構成LB情報404とから構成される。各構成済LB情報は、それぞれ、設計データリスト210に含まれる設計データと、対応している。
各構成済LB情報は、識別子と対応する回路を構成する論理ブロックの名称とを含む。識別子は、対応する設計データにより、再構成可能部201に構築されている回路を識別する情報であって、設計データリストに含まれる識別子と同一である。使用LBは、識別子により識別される回路に使用されている論理ブロックの識別名である。
例えば、構成済LB情報403は、設計データリスト210内の設計データAと対応しており、識別子「A」及び使用LB「LB1、LB2」とを含む。これは、識別子「A」の示す回路が、論理ブロックLB1及び論理ブロックLB2を用いて構築されていることを示している。
これら3つの構成済LB情報の示す論理ブロックを含む領域が、前述の構成済領域に該当する。
未構成LB情報404は、再構成可能回路220内の9個の論理ブロックのうち、いずれの回路にも使用されていない論理ブロックの識別名を含む。ここでは、回路A、回路B、回路Dの何れにも使用されていない論理ブロックの識別名「LB5、LB6、LB8、LB9」を含んでいる。これらの論理ブロックを含む領域が前述の未構成領域に該当する。
領域管理テーブル402は、設計データリスト210が更新されると、更新後の設計データリスト210を基に、構成済LB情報の追加、削除、未構成LB情報の更新が為される。
また、利用者の操作により、新たな設計データが入力された場合、既存の回路がリセットされた場合にも領域管理テーブル402の更新が為される。
なお、これらの情報は、設計データ記憶部203に記憶されていても良いし、設計データ記憶部203とは個別の記憶部に記憶されていても良い。
この構成の場合、装置情報生成部205は、再構成可能回路に関する情報を記憶している必要はない。また、装置情報生成部205は、設計データリストに含まれる各設計データを基に使用されていない論理ブロックを特定する代わりに、設計データ記憶部203から再構成可能回路情報401と領域管理テーブル402に含まれる未構成LB情報404とを読み出し、読み出した再構成可能回路情報401と未構成LB情報404とを含む装置情報を生成して、送受信部206を介して送信する。
実施の形態2の装置情報生成部802についても同様である。
(4) 上記の例(3)において、装置情報は、さらに、現在、再構成可能回路上に構築されている各回路の機能を示す機能情報を含んでいてもよい。
具体的には、各機能情報は、再構成可能回路上に構築されている回路A、回路情報B及び回路Dと対応しており、機能情報Aは、回路Aを示す識別子「A」と回路Aの機能を示す情報、例えば、DES暗号回路とからなる。
回路B、回路Dと対応する機能情報B機能情報Dも同様の構成である。ここでは、一例として機能情報Bは、識別子「B」と「ハッシュ関数演算回路」からなり、機能情報Dは、識別子「D」と「擬似乱数生成器」とを含む。
この場合、設計データ生成装置の102の設計データ生成部302は、既に、利用装置101内に存在する回路(固定回路及び再構成可能部内の回路)によって、実現されている機能を特定し、まだ、実現されていない機能を有する回路を構築するための設計データを生成して送信する。
このようにすることで、利用装置101内に、同一の回路が重複することがなくなり、再構成可能部201を無駄なく活用することができる。
5. 所望の機能を示す機能条件の取得
(1)上記の説明実施の形態では、特に言及していないが、利用装置は、所望の機能を実現するために、装置情報を送信して新たな設計データを取得する。
実施の形態2では、その一例として、利用装置800が、送受信部206を介して、暗号化コンテンツを受信する。受信した暗号化コンテンツには、前記暗号化コンテンツを再生するために必要な機能を示す機能条件が付随している。
暗号化コンテンツを受信すると、機能条件取得部801は、これに付随する機能条件を抽出してこれを、当該利用装置800の備えるべき機能条件として、装置情報生成部802へ出力する。
装置情報生成部802は、機能条件取得部801から受け取った機能条件を含む装置情報を生成し、設計データ生成装置102へ送信する。
言い換えると、利用装置800は、受信した暗号化コンテンツの再生に必要な機能を要求している。
設計データ生成装置102の設計データ生成部302は、再生条件を満たす回路を構築するための設計データを生成する。続いて、送受信部301を介して、生成した設計データを、利用装置800へ送信する。
利用装置800の再構成可能部201は、送受信部206を介して受信した新たな設計データを基に、新たな回路(回路Eと呼ぶ)を構築する。利用装置800は、新たに構築された回路E及び既存の回路(回路A、回路B、回路C及び固定回路)により、暗号化コンテンツを再生する機能を取得する。
なお、装置情報には、固定回路情報が含まれているが、これは必須ではない。 従って、再構成可能部201内に構築された回路のみによって、暗号化コンテンツを再生する機能を実現しても良い。
さらに、装置情報として、再生条件と再構成可能部201のみこうせいLB情報のみを送信し、新たに構築された回路Eのみにより、暗号化コンテンツを再生する機能を実現しても良い。
(2)実施の形態2では、利用装置800は、受信した暗号化コンテンツに付随する条件を機能条件として取得しているが、所望の機能を示す機能条件の取得方法は、これに限らない。
例えば、機能条件取得部801は、利用装置自身に装着された記録媒体の種類(DVD、BD(ブルーレイディスク)、SDメモリカードなど)を識別し、識別した記録媒体の種類を示す情報を機能条件として、装置情報生成部へ出力する。ここで、各記録媒体は個別の規格に準拠しており、利用装置は、装着された記録媒体の種類に適した機器認証処理、データ改ざんの検証処理、復号処理などを行った後でなければ、記録媒体に記録されているデータを取得することができない。
装置情報生成部は、受け取った機能条件を含む装置情報を生成し、送受信部を解して設計データ生成装置へ送信する。
つまり、ここでは、利用装置に装着された記録媒体の種類に応じて、前記記録媒体に記録されている情報を取得する機能を要求していることになる。
(3)また、機能条件取得部801は、記録媒体の種類を示す情報に代えて、その記録媒体からデータを取得するために必要な具体的な機能条件(例えば、記録媒体の準拠する規格の名称、認証アルゴリズム、暗号アルゴリズムなど)を出力しても良い。
この場合、機能条件取得部801は、予め、利用装置に装着される可能性のある記録媒体の種類と、その記録媒体からデータを取得するための機能条件と対応付ける対応テーブルを記憶しておく。記録媒体が装着されると、装着された記録媒体の種類を識別し、前記対応テーブルから、該当する機能条件を読み出して、装置情報生成部へ出力する構成でも良い。
(4) また、別の例としては、機能条件取得部801は、利用装置が利用しようとするデータの種類を機能条件として、出力しても良い。例えば、MPEG、JPEG、MP3などが該当する。
つまりここでは、利用装置は、自身が利用しようとしているデータを、利用するための機能を要求している。
(5) また、別の例としては、利用装置の利用者が新たに導入を希望する機能(機能の名称など)を入力し、機能条件取得部801は、入力された機能を示す機能条件を装置情報生成部へ出力しても良い。
(6) また、装置情報生成部は、新たな設計データの要求の要否を判断するとしても良い。
具体的には、各記憶部から取得した固定回路情報、再構成可能部内の回路情報を基に、利用装置に装着された記録媒体に記録されているデータを利用するための機能(若しくは、受信した暗号化コンテンツを再生する機能)を利用装置内の既存の回路で実現可能か否かを判断し、既存の回路で、所望の機能が実現可能であれば、装置情報の送信を中止し、既存の回路では、所望の機能が実現できないと判断した場合には、利用装置に装置情報を送信し、新たな回路データを要求する。このとき送信される装置情報には、少なくとも、当該利用装置に装着されている記録媒体の種類に応じた機能条件(若しくは受信した暗号コンテンツを再生するための機能条件)が含まれる。
また、装置情報が、前述の装着された記録媒体の種類の判断、装置情報の送信の要否の判断を行うと記載したが、これらの判断は、他の構成要素が行うとしても良い。
例えば、具体的には図示されていないが、利用装置は、記録媒体へのデータの読み出し及び書込を行うドライブ部を備え、前記ドライブ部が記録媒体の種類の判断を行い、判断結果を通知する構成であっても良い。
また、図面には設計データの取得に関する部分しか記載されていないが、利用装置は、当該装置の各部の動作を制御する主制御部、各種のプログラムを記憶している主記憶部を備えており、主制御部が、装置情報の送信の要否の判断を行うとしてもよい。
ここで、主制御部は、マイクロプロセッサ、RAM、ROMを含んで構成されるコンピュータシステムである。RAM、ROMには、各種のコンピュータプログラムが記憶されており、前記マイクロプロセッサが、コンピュータプログラムに従って動作することで主制御部は、その機能の一部を達成する。
6.その他の変形例
(1) 本発明の実施の形態では、暗号化コンテンツに付随して、例えば図9に示す情報が送られてくるとしたが、本発明はその構成に限定されるものではない。例えば、暗号化コンテンツがDVDから読み出された場合は、暗号アルゴリズムはAES暗号、必要な処理量は8Mbpsと、暗号化コンテンツを受け取るソースに応じて予め必要とされる条件を保持しておく構成であってもよい。さらに、サーバAに接続してコンテンツを入手した場合、サーバBに接続してコンテンツを入手した場合のように、暗号化コンテンツを入手する入手先に応じて、必要とされる条件を保持して、逐次更新していく構成であってもよい。
(2) 本発明の実施の形態に追加して、利用装置を利用するユーザからの要求を受信する要求受信部を備え、当該要求受信部で指示されたハードウェア回路を示す情報(例えば、回路の名称、指示された回路により実現される機能の名称など)を装置情報生成部に通知し、送受信部を介して設計データ生成装置へ送信する構成であってもよい。
(3) 本発明の実施の形態に追加して、削除(上書き)可能な回路を予め定められたルールに基づいて削除(上書き)する、又は削除(上書き)可能回路として、装置情報生成部に通知する構成であってもよい。例えば、予め定められたルールとは、設計データ記憶部で記憶する設計データリストに使用頻度を示すフィールドを設け、1ヵ月の間に1度も使用されなかった回路に対して「1」のフラグを立てて、当該設計データに基づいて実現されている回路を削除(上書き)可能回路として、装置情報生成部に通知する構成であってもよい。
この場合、設計データ生成装置の設計データ生成部302は、削除(上書き)可能回路として通知された回路が構築されている領域を、未構成領域と同等に、新たな回路構築の対象領域として扱う。
このように、使用頻度、使用履歴等に応じて、優先順位を付与しておき、新たな設計データによる回路を構築する際には、再構成可能部は、優先順位の低い(又は使用頻度の少ない)回路をリセットし、リセットされた回路の素子(論理ブロック及びスイッチマトリクス)を、新たな回路の構築に用いる構成であってもよい。若しくは、リセットせずに上書きしてもよい。
これに合わせて、リセット又は上書きされた回路と対応する設計データは、設計データリストから210から削除される。
なお、使用頻度、使用履歴に応じたリセットは、再構成可能部の更新に合わせて行っても良いし、再構成可能部の更新とは個別の時刻に行っても良い。
(4) 本発明の実施の形態に追加して、利用装置は再構成可能部の製造メーカや品番などの情報を記憶しており、利用装置はこれらの製造メーカや品番などの情報を装置情報として設計データ生成装置に送信する構成であってもよい。
(5) 先に述べたように、図2及び図8には、設計データの取得に関連する機能部のみを記載しているが、利用装置、これらのみならず、当該利用装置の各構成要素の動作を制御する主制御部、記録媒体にアクセスするドライブ部、表示部、利用者の操作を受け付ける入力部などを含んで構成される。主制御部は、CPUと、CPUにより実行される各種のソフトウェアを記憶している主記憶部を含んで構成される。ここで、図面に記載されている固定回路と、再構成可能部上に構築された回路と、CPUによるソフトウェアの実行とが連携して動作し、所望の機能を実現する場合がある。
ここで、装置情報生成部802は、再構成可能部に関する情報(設計データ、未構成LB情報)、固定回路情報、所望の機能を示す機能条件に追加して、CPUの処理能力や、ソフトウェアを格納するメモリ量(空き容量)を含む装置情報を生成して送信する構成であってもよい。
この場合、装置情報を受信した設計データ生成装置は、ソフトウェアとハードウェアを組み合わせて所望の機能を実現する適切な設計データ、及びソフトウェア用のプログラムを生成して利用装置に送信する。また、設計データ生成装置内で利用装置の環境を再現して、生成した設計データが、所望の性能に合致するか否か確認(シミュレート)してから送信する構成あってもよい。
(6)本発明の実施の形態では、利用装置は外部の設計データ生成装置から設計データを受信して、当該設計データを用いて、再構成可能部において回路を実現する構成としたが、本発明はその構成に限定されるものではない。
例えば、利用装置は、設計データを生成するコンパイル部を備え、設計データのオリジナルデータを外部から受信し、前記コンパイル部は、受信したオリジナルデータをコンパイルして設計データを生成する。続いてコンパイル部は、生成した設計データを設計データリストに追加し、再構成可能部において、コンパイルにより生成された設計データに従って、回路を実現する構成であってもよい。
ここでオリジナルデータとは、再構成可能回路上に、所定の機能を有する回路を構築する手順を、ハードウェア構築言語(例えば、VHDL)や、その他の高級言語(例えば、SpecC、SystemCなど)で記述したものである。
また、その場合、利用装置は、設計データを記憶する設計データ記憶部に代えて、オリジナルデータを記憶するオリジナルデータ記憶部を備える構成であっても良いし、設計データ記憶部とオリジナルデータ記憶手段の両方を備える構成であってもよい。
(7)また、前記利用装置において、設計データ記憶部は、必須の構成ではなく、装置情報生成部が、再構成可能手段上に構築されている回路から、設計データ、未構成LB情報などを抽出する構成であっても良い。
(8)また、利用者の操作により不要となった回路(便宜上回路Aとする)を示す識別子「A」の入力を受け付ける入力部を備えており、装置情報生成部は、入力された識別子(若しくは入力された識別子に対応する論理ブロックの識別名「LB1、LB2)を含む装置情報を生成し、送信する。
設計データ生成部302は、受け取った装置情報を解析し、最適な設計データを生成するが、このとき、上記の識別子の示す回路の領域は、未構成領域と同様に扱われる。
利用装置は、新たに受信した設計データを基に新たな回路を生成するが、このとき回路Aの領域の素子は、新たな設計データにより上書きされる。
(9)なお、再構成可能部の更新時とは関係なく、利用者の操作により不要となった回路(便宜上回路Aとする)を示す識別子「A」の入力を受け付けると、再構成可能部は回路Aをリセットし、設計データAを設計データリスト210から削除する構成であっても良い。さらに、図17に示す領域管理テーブル402を保持している場合、設計データAの削除と合わせて、領域管理テーブル402から構成済LB情報403を削除し、未構成LB情報にLB1とLB2とを追加しておいてもよい。
このようにしておくことで、再構成可能部の更新の指示があった場合迅速に、未構成領域を特定できる。
(10) 上記の各装置は、具体的には、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記RAMまたはハードディスクユニットには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、各装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
(11) 上記の各装置を構成する構成要素の一手段または全手段は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されているとしてもよい。システムLSIは、複数の構成手段を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAMなどを含んで構成されるコンピュータシステムである。前記RAMには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、システムLSIは、その機能を達成する。
(12) 上記の各装置を構成する構成要素の一手段または全手段は、各装置に脱着可能なICカードまたは単体のモジュールから構成されているとしてもよい。前記ICカードまたは前記モジュールは、マイクロプロセッサ、ROM、RAMなどから構成されるコンピュータシステムである。前記ICカードまたは前記モジュールは、上記の超多機能LSIを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、前記ICカードまたは前記モジュールは、その機能を達成する。このICカードまたはこのモジュールは、耐タンパ性を有するとしてもよい。
(13) 本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
また、本発明は、前記コンピュータプログラムまたは前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD−ROM、MO、DVD、DVD−ROM、DVD−RAM、BD(Blu−ray Disc)、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されている前記デジタル信号であるとしてもよい。
また、本発明は、前記コンピュータプログラムまたは前記デジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
また、本発明は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサは、前記コンピュータプログラムにしたがって動作するとしてもよい。
また、前記プログラムまたは前記デジタル信号を前記記録媒体に記録して移送することにより、または前記プログラムまたは前記デジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
(14) 本発明は、コンテンツを利用する利用装置であって、前記利用装置は、ある特定の機能を実現する設計データの再構成が可能な再構成可能手段と、前記再構成可能手段の回路構成状態を含む前記利用装置の内部状態を装置情報として生成する装置情報生成手段と、前記装置情報生成手段が生成する装置情報を送信して設計データを要求する送信手段と、前記要求した設計データを受信する受信手段と、を備えることを特徴とする。
(15) 変形例(14)の利用装置は、さらに、前記再構成可能手段で実現する回路の設計データを記憶する設計データ記憶手段を備え、前記装置情報は、前記設計データ記憶手段に記憶する1以上の設計データであることを特徴とする。
(16) 変形例(15)の前記利用装置は、さらに、前記利用装置が備える固定回路の情報を記憶する固定回路記憶手段を備え、前記装置情報は、前記1以上の設計データに加え、前記固定回路記憶手段に記憶する1以上の固定回路情報を含むことを特徴とする。
(17) 変形例(15)の前記利用装置は、さらに、前記利用装置が備える再構成可能手段の製造メーカ、又は品番を記憶する記憶手段を備え、前記装置情報は、前記1以上の設計データに加え、前記記憶手段に記憶する再構成可能手段の特性情報を含むことを特徴とする。
(18) 変形例(15)の前記利用装置は、さらに、前記利用装置が備えるソフトウェアの空きメモリ量やCPUの処理周波数を記憶する記憶手段を備え、
前記装置情報は、前記1以上の設計データに加え、前記記憶手段に記憶するソフトウェアに関する情報を含むことを特徴とする。
(19) 変形例(15)の前記利用装置は、さらに、暗号化されたコンテンツを受信する受信手段と、前記暗号化コンテンツから、暗号化処理に用いられた暗号アルゴリズム、及び復号処理に必要とされる処理性能であるコンテンツ情報を抽出する抽出手段と、を備え、前記装置情報は、前記1以上の設計データに加え、前記抽出手段が抽出したコンテンツ情報を含むことを特徴とする。
(20) 変形例(19)の利用装置において、前記コンテンツ情報は、暗号化コンテンツに付随して送信されることを特徴とする。
(21) 変形例(19)の前記利用装置は、さらに、暗号化コンテンツの配信元と、前記暗号アルゴリズム、及び復号処理に必要とされる処理量の対応関係表を記憶する記憶手段を備え、前記コンテンツ情報は、前記記憶手段が記憶する対応関係表から抽出することを特徴とする。
(22) 変形例(19)前記利用装置は、さらに、暗号化コンテンツが記録された記録媒体と、前記暗号アルゴリズム、及び復号処理に必要とされる処理量の対応関係表を記憶する記憶手段を備え、前記コンテンツ情報は、前記記憶手段が記憶する対応関係表から抽出することを特徴とする。
(23) 変形例(15)の前記利用装置は、さらに、コンテンツ利用者が入力する削除可能な設計データを受け付ける受付手段を備え、前記装置情報は、前記1以上の設計データに加え、前記受付手段が受け付けた削除可能な設計データを含むことを特徴とする。
(24) 変形例(15)の前記利用装置は、さらに、前記設計データ記憶手段は、各々の設計データの使用頻度をカウントし記憶する記憶領域を備え、予め定められたしきい値以下の設計データを削除可能な設計データとして、前記装置情報に含めることを特徴とする。
(25) 変形例(14)の前記利用装置は、さらに、設計データを生成するコンパイル手段と、前記設計データのオリジナルデータを受信する受信手段とを備え、前記コンパイル手段は、前記装置情報に基づき設計データを生成することを特徴とする。
(26) 変形例(25)の前記利用装置は、さらに、前記再構成可能手段で実現する回路の設計データを記憶する設計データ記憶手段を備え、前記装置情報は、前記設計データ記憶手段に記憶する1以上の設計データであることを特徴とする。
(27) 変形例(26)の前記利用装置は、さらに、前記利用装置が備える固定回路の情報を記憶する固定回路記憶手段を備え、前記装置情報は、前記1以上の設計データに加え、前記固定回路記憶手段に記憶する1以上の固定回路情報を含むことを特徴とする。
(28) 変形例(26)の前記利用装置は、さらに、前記利用装置が備える再構成可能手段の製造メーカ、又は品番を記憶する記憶手段を備え、前記装置情報は、前記1以上の設計データに加え、前記記憶手段に記憶する再構成可能手段の特性情報を含むことを特徴とする。
(29) 変形例(26)の前記利用装置は、さらに、前記利用装置が備えるソフトウェアの空きメモリ量やCPUの処理周波数を記憶する記憶手段を備え、前記装置情報は、前記1以上の設計データに加え、前記記憶手段に記憶するソフトウェアに関する情報を含むことを特徴とする。
(30) また、本発明は、コンテンツを利用する利用装置と、前記コンテンツの利用に必要な設計データを供給する設計データ生成装置からなる更新システムであって、前記設計データ生成装置は、前記利用装置から装置情報を受信する受信手段と、受信した装置情報に基づいて設計データを生成する生成手段と、生成した設計データを前記利用装置に送信する送信手段とを備え、前記利用装置は、ある特定の機能を実現する設計データの再構成が可能な再構成可能手段と、前記再構成可能手段の回路構成状態を含む前記利用装置の内部状態を装置情報として生成する装置情報生成手段と、前記装置情報生成手段が生成する装置情報を送信して設計データを要求する送信手段と、前記設計データ生成装置が生成した設計データを受信する受信手段と、を備えることを特徴とする。
(31) 変形例(30)のシステムにおいて、前記利用装置は、さらに、前記再構成可能手段で実現する回路の設計データを記憶する設計データ記憶手段を備え、前記装置情報は、前記設計データ記憶手段に記憶する1以上の設計データであることを特徴とする。
(32) 変形例(31)のシステムにおいて、前記利用装置は、さらに、前記利用装置が備える固定回路の情報を記憶する固定回路記憶手段を備え、前記装置情報は、前記1以上の設計データに加え、前記固定回路記憶手段に記憶する1以上の固定回路情報を含むことを特徴とする。
(33) 変形例(31)のシステムにおいて、前記利用装置は、さらに、前記利用装置が備える再構成可能手段の製造メーカ、又は品番を記憶する記憶手段を備え、前記装置情報は、前記1以上の設計データに加え、前記記憶手段に記憶する再構成可能手段の特性情報を含むことを特徴とする。
(34) 変形例(31)のシステムにおいて、前記利用装置は、さらに、前記利用装置が備えるソフトウェアの空きメモリ量やCPUの処理周波数を記憶する記憶手段を備え、前記装置情報は、前記1以上の設計データに加え、前記記憶手段に記憶するソフトウェアに関する情報を含むことを特徴とする。
(35) 変形例(31)のシステムにおいて、前記利用装置は、さらに、暗号化されたコンテンツを受信する受信手段と、前記暗号化されたコンテンツから、暗号化処理に用いられた暗号アルゴリズム、及び復号処理に必要とされる処理量であるコンテンツ情報を抽出する抽出手段とを備え、前記装置情報は、前記1以上の設計データに加え、前記抽出手段が抽出したコンテンツ情報を含むことを特徴とする。
(36) 変形例(35)のシステムにおいて、前記利用装置は、前記コンテンツ情報が、暗号化コンテンツに付随して送信されることを特徴とする。
(37) 変形例(35)のシステムにおいて、前記利用装置は、さらに、暗号化コンテンツの配信元と、前記暗号アルゴリズム、及び復号処理に必要とされる処理量の対応関係表を記憶する記憶手段を備え、前記コンテンツ情報は、前記記憶手段が記憶する対応関係表から抽出することを特徴とする。
(38) 変形例(35)のシステムにおいて、前記利用装置は、さらに、暗号化コンテンツが記録された記録媒体と、前記暗号アルゴリズム、及び復号処理に必要とされる処理量の対応関係表を記憶する記憶手段を備え、前記コンテンツ情報は、前記記憶手段が記憶する対応関係表から抽出することを特徴とする。
(39) 変形例(31)のシステムにおいて、前記利用装置は、さらに、コンテンツ利用者が入力する削除可能な設計データを受け付ける受付手段を備え、前記装置情報は、前記1以上の設計データに加え、前記受付手段が受け付けた削除可能な設計データを含むことを特徴とする。
(40) 変形例(31)のシステムにおいて、前記利用装置の前記設計データ記憶手段は、各々の設計データの使用頻度をカウントし記憶する記憶領域を備え、予め定められた閾値以下の設計データを削除可能な設計データとして、前記装置情報に含めることを特徴とする。
(41) また、本発明は、コンテンツを利用する利用方法であって、前記利用方法は、ある特定の機能を実現する設計データの再構成が可能な再構成可能ステップと、前記再構成可能ステップの回路構成状態を含む内部状態を利用方法情報として生成する利用方法情報生成ステップと、前記利用方法情報ステップが生成する利用方法情報を送信して設計データを要求する送信ステップとを含むことを特徴とする。
(42) また、本発明は、コンテンツを利用する利用装置で用いられるコンテンツ利用プログラムであって、前記利用装置は、コンテンツの利用を制御するコンピュータプログラムを記憶している記憶手段を備え、前記コンテンツ利用プログラムは、前記利用装置において、ある特定の機能を実現する設計データの再構成が可能な再構成可能ステップと、前記再構成可能ステップの回路構成状態を含む内部状態を利用方法情報として生成する利用方法情報生成ステップと、前記利用方法情報ステップが生成する利用方法情報を送信して設計データを要求する送信ステップとを含むことを特徴とする。
(43) 変形例(42)のコンテンツ利用プログラムは、コンピュータ読み取り可能なプログラム記録媒体に記録されていることを特徴とする。
(44) また、本発明は、コンテンツを利用する利用装置の集積回路であって、ある特定の機能を実現する設計データの再構成が可能な再構成可能手段と、前記再構成可能手段の回路構成状態を含む前記利用装置の内部状態を装置情報として生成する装置情報生成手段と、前記装置情報手段が生成する装置情報を送信して設計データを要求する送信手段と、を備えることを特徴とする。
(45) 上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
本発明は、アルゴリズム(機能)を更新できる装置を生産し、販売する産業において、経営的に、また継続的かつ反復的に利用することができる。
本発明は、機器の機能を更新する技術に関する。特に再構成可能回路を効率的に活用する技術に関する。
一般的に、コンテンツの著作権を保護するため、即ちコンテンツの不正再生や不正コピーといった不正利用を防止するために暗号化技術が用いられ、暗号化処理を施されたコンテンツが配布される。
これに対して、正当な装置のみが、復号鍵を保持又は取得し、復号鍵を用いて暗号化コンテンツ復号し、コンテンツの再生等を行うことができる。
装置における暗号処理機能は、必要とされる処理速度や、耐タンパ性の観点からハードウェア実装が適する場合が多い。一方で、この暗号が万が一解読された場合には、装置に実装された暗号方式を新しいものに取り替えて安全性を保ちたいとの要望もある。
特許文献1では、FPGA(フィールド プログラマブル ゲート アレイ)やPLA(プログラマブル ロジック アレイ)などの再構成(再配置)可能なハードウェアデバイスを用いて、暗号方式を更新可能とする方法が開示されている。さらに、特許文献2では、予め定められた暗号化アルゴリズムファイルを格納するデータベースを保持して、外部からの指示に従い、前記データベースから、アルゴリズムファイルを選択して更新する技術が開示されている。
日本国 特開平10−320191号公報 日本国 特開平10−55135号公報
上記の文献によると、いずれの技術においても、更新前の再構成可能回路上の回路構成、回路の構成されていない領域の大きさ、機器の必要としている機能に関わらず、更新の要請が生じる度に、ホスト機器の指示により、設計データに従って再構成可能回路の構成を書き換えている。そのため、再構成可能回路上において、当該機器にとって必要としていない機能を有する回路が構築されたり、既存の回路が消去されたり上書きされたりして、当該機器が必要としている機能が得られない、若しくは必要な機能が損なわれ、利用者にとって不都合が生じる可能性がある。
このような問題を解消するため、本発明は、上記の不都合を解消し、機器自身の必要とする機能を得ることができる再構成可能回路を備える装置、更新方法、更新プログラム、集積回路を提供することを目的とする。
上記の課題を解決するために、本発明は、書き換え可能な回路を備える装置であって、内部の回路構成が書き換え可能な再構成可能回路と、少なくとも、前記再構成可能回路内の未構成領域を示す領域情報を含む、当該装置の構成に関する装置情報を生成する生成手段と、当該装置に構築すべき所望機能を示す機能情報及び生成した前記装置情報を設計データ生成装置へ送信する送信手段と、前記設計データ生成装置から、当該装置に前記所望機能を構築するため、必要な部分回路の構成を示す設計データを受信する受信手段と、前記再構成可能回路上の未構成領域を含む領域に、受信した前記設計データに基づいて前記部分回路を構築する構築手段とを備えることを特徴とする。
ここで、上記の「再構成可能回路」及び「構築手段」は、下記の実施の形態においては、再構成可能部に含まれる構成である。また、「生成手段」は、装置情報生成手段がその機能を担う。また、「送信手段」及び「受信手段」は、送受信部がその機能を担う。また、上記の「未構成領域」は、再構成可能回路上において、回路の構築されていない領域を指す。「機能情報」は、実施の形態においては装置情報に含まれて送信される機能条件が対応する。
この構成によると、本発明の書き換え可能な回路を備える装置は、少なくとも前記再構成可能回路の未構成領域を示す情報を含む前記装置情報と前記機能情報と前記装置情報とを送信する。従って、本発明の装置は、未構成領域を活用して、受信した設計データに基づいて前記部分回路を構築するので、本発明の装置は、更新前の機能を損なうことなく、新たな機能を導入することができるという優れた効果を奏する。
また、本発明の装置において、前記生成手段は、現在、前記再構成可能回路により実現されている機能及び構成を示す情報を含む前記装置情報を生成する。特に、前記再構成可能回路上に現在構築されている各回路の構成を示す1以上の設計データを含む前記装置情報を生成することを特徴とする。
この構成によると、前記生成手段は、前記再構成可能回路上に現在構築されている各回路の構成を示す1以上の設計データを含む前記装置情報を生成する。従って、受信した設計データにより構築される前記部分回路は、前記再構成可能回路上の既存の回路と重複することが無く、前記再構成可能回路を効率よく利用することができる。
特に、各設計データを送信する場合、機能情報の示す機能を実現するために、前記再構成可能回路上の既存の回路の全部又は一部分が流用できる場合、前記再構成可能回路に構築される前記部分回路の規模をより小さくすることができるという優れた効果を奏する。
また、前記装置は、さらに、内部構成を変更できない固定回路を1以上含み、前記生成手段は、前記固定回路の有する機能及び構成を示す情報含む前記装置情報を生成することを特徴とする。
この構成によると、前記生成手段は、当該装置内の、前記固定回路の有する機能及び構成を示す情報を含む前記装置情報を生成する。そのため、これを受信した設計データ生成装置は、当該装置に前記所望機能を構築するために、必要な複数の構成のいずれかに、既存の固定回路が該当する場合、その固定回路以外の構成を有する設計データを生成して送信する。
この設計データに基づいて、構築手段により生成される部分回路は、当該装置に前記所望機能を構築するために、必要な構成を有する固定回路と重複する構成を含んでいない。しかし、本発明の装置は、既存の固定回路新たに生成した部分回路により、所望の機能を構築することができる。従って、既存の固定回路を活用することで、再構成可能回路に構築する部分回路の規模を最小限に抑えることができるという優れた効果を奏する。
また、本発明の装置において、前記生成手段は、前記再構成可能回路の製造メーカ及び品番を含む前記装置情報を生成することを特徴とする。
再構成可能回路は、その製造メーカや規模などにより、内部の構造や回路構築のロジックが異なる場合がある。
上記の構成では、前記生成手段は、前記再構成可能回路の製造メーカ及び品番を含む前記装置情報を生成する。これを受信した設計データ生成装置は、製造メーカ及び品番から、前記再構成可能回路の内部構成や回路構築ロジックを、正確に特定できる。従って、本発明の装置は、前記再構成可能回路に係る詳細な構成情報などを送信するしなくても、適切なロジックに基づいた前記設計データを取得することができる。
また、前記1以上の固定回路は、CPU及びCPUにより実行されるプログラムを格納するメモリを含み、前記生成手段は、前記CPUの処理能力及び前記メモリの空き容量を含むとしてもよい。
さらに、前記生成手段は、前記メモリに記憶されている各プログラムについて、そのプログラムが前記CPUにより実行されることで実現される機能を示すプログラム機能情報を含む前記装置情報を生成することを特徴とするとしてもよい。
ソフトウェアによる処理と、ハードウェア回路とが連携して動作することで1つの機能を実現する場合がある。例えば、対タンパ性を有するチップ上に構築された回路で、機密性の高い処理(鍵生成、暗号処理など)を行って、その他の処理をソフトウェアによって行う場合などが考えられる。
上記の構成によると、前記CPUの処理能力及び前記メモリの空き容量を含む前記装置情報を生成する。従って、前記受信手段の受信する前記設計データに基づいて前記部分回路を構築した後の当該装置は、CPUの処理能力とメモリの空き容量を加味して、CPUによるプログラムの実行と、前記固定回路と、前記再構成可能回路上の回路とを最も効率よく活用して所望の機能を実現することができる。
前記装置は、さらに、現在、再構成可能回路上に構築されている回路のうち不要な回路の、利用者による指定を受け付ける受付手段を備え、前記生成手段は、指定された不要な回路の存在する上書き可能領域を示す情報を含む前記装置情報を生成し、前記構築手段は、前記再構成可能回路上の未構成領域及び/又は前記上書き可能領域を含む領域に前記部分回路を構築することを特徴とする。
また、前記利用装置は、さらに、再構成可能回路上に構築されている各回路の使用頻度を計数する計数手段を備え、前記生成手段は、計数された使用頻度が所定の閾値以下の回路の構築されている低頻度領を域示す低頻度領域情報を含む前記装置情報を生成し、前記構築手段は、前記再構成可能回路上の未構成領域及び/又は前記低頻度領域を含む領域に前記部分回路を構築することを特徴とする。
この構成によると、前記受付手段は、現在再構成可能回路上に構築されている回路のうち、不要な回路の、利用者による入力を受け付け、前記生成手段は、前記上書き可能領域を含む前記装置情報を生成する。
また、前記計数手段は、再構成可能回路上に構築されている各回路の使用頻度を計数し、前記生成手段は、使用頻度が所定の閾値以下の回路の構築されている低頻度領域を含む前記装置情報を生成する。ここで、使用頻度の少ない回路は、必要性の小さい不要な回路であると考えられる。
従って、受信手段により受信された設計データに基づいて、構築手段は、前記上書き可能領域(低頻度領域)も用いて部分回路を構築する。よって、本発明の装置は、不要となった回路の存在する領域も無駄なく活用することができるという優れた効果を奏する。
前記装置は、さらに、利用者により所望の機能を示す前記機能情報の入力を受け付ける受付手段を備え、前記送信手段は、入力された前記機能情報を送信することを特徴とする。
この構成によると、前記受付手段は、利用者による前記機能情報の入力を受け付ける。そのため、構築手段により前記部分回路を構築した後の当該装置は、利用者の意図を確実に反映した機能を備えることができる。
また、本発明において、前記送信手段は、当該装置に入力された暗号化機密データの生成に用いられた暗号化アルゴリズムと対応する復号アルゴリズム及び復号処理のために必要な処理能力を前記機能情報として送信することを特徴とする。
この構成によると、送信手段は、前記暗号化機密データの生成に用いられた暗号化アルゴリズムと対応する復号アルゴリズム及び復号処理のために必要な処理能力を前記機能情報として送信する。従って、前記構築手段により前記部分回路が構築された後の本発明の装置は、前記暗号化コンテンツを復号する機能を備える。
著作権保護の観点から、コンテンツなどは、暗号化されて配布されることが多い。しかし、暗号化に用いられていた暗号方式の解読法が発見された場合、その後に配布されるコンテンツは、解読法が発見されていない別の暗号方式で暗号化され配布される。このような場合、コンテンツを再生する装置においても、新たな暗号方式に対応した復号機能が必要になる。
本発明の装置は上記の構成を有するため、このように、コンテンツの暗号化に用いられる暗号方式が変わった場合にも、速やかに、新たな暗号方式に対応した復号機能を構築できる。
さらに、前記再構成可能回路上の既存の回路を削除しないでおけば、暗号方式が解読される前に配布された暗号化コンテンツを復号する機能も残存しているので、当該装置は、過去に正規に購入された暗号化コンテンツも、新たな暗号化コンテンツも復号可能であるので、利用者にとっての利便性を損なわずに、コンテンツ作成者の著作権の保護を図ることができる。
また、本発明において、前記暗号化機密データは、デジタル著作物を暗号化して生成された暗号化著作物と、前記機能情報とを含み、前記送信手段は、前記暗号化機密データから抽出された前記機能情報を送信することを特徴とする。
この構成であれば、本発明の装置は、前記暗号化コンテンツから抽出するだけで簡単に前記機能情報を取得できる。
また、前記送信手段は、当該装置に装着されている記録媒体の種類に応じて、前記記録媒体に記録されたデータを取得するための機能を示す前記機能情報を送信することを特徴とする。
この構成によると、前記送信手段は、記録媒体の種類に応じて、記録媒体に記録されたデータを取得するための機能を示す前記機能情報を送信する。
記録媒体には、DVD、メモリカード、ブルーレイディスクなど、様々な種類があり、各記録媒体は、それぞれ異なる規格に準拠している。従って、記録媒体に記録されているデータを取得するためには、その記録媒体の準拠する規格に従った機器認証、署名検証、鍵生成などを行わなければならない。
上記の構成を備えているので、本発明の装置は、何れの種類の記録媒体が装着されても、その記録媒体からデータを取得する機能を構築することができる。
また、前記装置は、さらに、前記装置に装着されている記録媒体の種類を識別する識別手段と、当該装置に装着される可能性のある記録媒体の種類と、各種類の記録媒体に記録されたデータを取得するために必要な機能を示す媒体機能情報とを対応付ける機能情報テーブルを保持している保持部手段と、前記機能情報テーブルから、現在、当該装置に装着されている記録媒体の種類と対応する媒体機能情報を読み出す読出手段とを備え前記送信手段は、読み出された媒体機能情報を前記機能情報として送信することを特徴とする。
上記の構成によると、保持手段は、機能情報テーブルを保持しているので、読出手段は、識別手段の識別した種類の記録媒体と対応する媒体機能情報を読み出す。従って、前記送信手段は、読出手段による読み出しという簡単な動作により、迅速に前記機能情報を得ることができる。
また、前記装置を構成する前記送信手段は、当該装置に入力されたデータの種類を前記機能情報として送信することを特徴とする。
この構成によると、どのような種類のデータが入力された場合であっても、前記装置は、入力されたデータを取り扱う機能を得ることができる。
前記装置は、ネットワークを介して1以上の外部の機器と通信可能であって、前記送信手段は、当該装置が通信しようとしている1つ以上の外部機器の保持しているデータを利用するために必要な機能を示す前記機能情報を送信することを特徴とする。
この構成によると、前記送信手段は、当該装置が通信しようとしている1の外部機器の保持しているデータを利用するために必要な機能を示す前記機能情報を送信する。従って、前記部分回路構築後の装置は、前記1の外部機器の保持しているデータを利用する機能を備える。
各外部機器は、それぞれに、機器認証の方式が異なったり、データがそれぞれ異なる暗号方式で暗号化されていたりする。本発明の装置は、上記の構成により、通信しようとしている外部機器に応じた通信機能及びデータの取得機能を得ることができる。
前記装置は、さらに、当該装置が通信する可能性のある1以上の外部機器と、それぞれの外部機器の保持するデータを利用するために必要な機能を示す複数の機器機能情報とを対応付ける機能情報テーブルを保持している保持手段と、前記機能情報テーブルから、当該装置が通信しようとしている1つ以上の外部機器と、それぞれ対応する1つ以上の機器機能情報を読み出す読出手段とを備え、前記送信手段は、読み出した1つ以上の機器機能情報を前記機能情報として送信することを特徴とする。
上記の構成によると、保持手段は、機能情報テーブルを保持しているので、読出手段は、当該装置が通信しようとしている前記1つ以上の外部機器と対応する1つ以上の媒体機能情報を読み出す。従って、前記送信手段は、読出手段による読み出しという簡単な動作により、迅速に前記機能情報を得ることができる。
前記装置は、さらに、外部からデータを取得する取得手段と、前記固定回路及び現在再構成可能回路上に構築されている回路によって、前記データを取り扱う機能が、当該装置内に既に構築されているか否かを判定する判定手段と、構築されていないと判定された場合に限り、前記生成手段に前記生成を指示し、前記送信手段に前記装置情報及び前記データを取り扱う機能を示す前記機能情報の送信を指示する制御手段を備えるを含むことを特徴とする。
この構成によると、前記固定回路及び現在再構成可能回路上に構築されている回路によって、前記データを取り扱う機能が、当該装置内に既に構築されていないと判定された場合、前記制御手段は、前記生成手段に前記生成を指示し、前記送信手段に前記装置情報及び前記データを取り扱う機能を示す機能情報の送信を指示する。従って、当該装置自身が、自身の備える機能の更新の要否を判定するので、必要な機能を確実に構築することができる。さらに、更新が不要な場合は、無駄な通信を回避することができる。
また、前記装置において、前記受信手段は、前記設計データ生成装置から、上級言語により記述された前記設計データを受信し、前記構築手段は、前記設計データを機械語に変換して機械語データを生成する変換部と、前記機械語データに従って、前記再構成可能回路に前記部分回路を構築する構築部とを含むことを特徴とする。
この構成によると、前記変換部は、前記設計データを機械語に変換して機械語データを生成し、前記構築部は、前記機械語データに従って、前記再構成可能回路に前記部分回路を構築する。
従って、前記設計データ生成装置に、多数の装置から機能更新の要求が殺到するような場合、例えば、セキュリティに関する機能に重大な欠陥が見つかった場合など、前記設計データ生成装置は、コンパイルを行わずに、欠陥を補修する機能を実現するための前記設計データを配布すればよいので、前記設計データ生成装置に係る負荷を軽減することができる。
1.実施の形態1
以下、本発明の実施の形態1について、図面を参照しながら説明する。
1.1 更新システム1の構成
更新システム1は、図1に示すように、利用装置101、及び設計データ生成装置102から構成される。利用装置101は、具体的には、DVDプレーヤー、ゲーム機、パソコンといった家庭用AV機器、コンピュータ制御を導入している様々な機器(電子レンジ、エアコン、自動車、ロボットなど)が該当するが、以下の説明においては、単に利用装置と呼ぶ。
利用装置101は、自身が保有する回路情報などの装置情報を設計データ生成装置102へ送信する。そして、設計データ生成装置102が生成した設計データを受信して、受信した設計データに基づき、当該装置の機能を更新する。
設計データ生成装置102は、利用装置101から装置情報を受信する。そして、受信した情報に基づき設計データを生成して、生成した設計データを利用装置101へ送信する。
このとき、通信路上でのデータの保護には、例えば、DES(Data Encryption Standard)暗号などが利用されるが、DES暗号については、公知の技術であるためその説明は省略する。
1.2 利用装置101の構成
利用装置101は、図2に示すように、再構成可能部201、固定回路202、設計データ記憶部203、固定回路情報記憶部204、装置情報生成部205、送受信部206から構成される。図2には、本発明の特徴部分に関連する機能部のみを記載しているが、利用装置101は、その他にも、利用装置101の機能を達成するための各種の構成部を含む。例えば、利用装置が、ゲーム機であれば、利用者の操作を受け付ける入出部、ディスプレイ、ゲームソフトを記録媒体から読み出すドライブ部、各機能部の動作を制御する主制御部などを含んで構成される。
利用装置101は、具体的には図示されていないマイクロプロセッサ、及びRAM、ROM、ハードディスクなどから構成される。前記RAM、ROM、及びハードディスクにはコンピュータプログラムが記憶されており、前記マイクロプロセッサが前記プログラムに従って動作することにより、利用装置101はその機能の一部を果たす。
なお、再構成可能部201、固定回路202、設計データ記憶部203、固定回路情報記憶部204、装置情報生成部205、送受信部206等の各機能ブロックは典型的には集積回路であるLSIとして実現される。これらは個別に1チップ化されても良いし、全てを含むように1チップ化されても良い。その一例を図12に示す。
ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。
さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。
(1) 再構成可能部201
再構成可能部201は、送受信部206が受信した設計データに基づきハードウェア回路を構成する。
(2) 固定回路202
固定回路202は、暗号回路、演算器などの再構成できない固定回路を備える。
(3) 設計データ記憶部203
設計データ記憶部203は、送受信部206が受信した設計データをリストとして記憶する。その一例を図4に示す。図4の例では、再構成可能部201上に実現されている3種類の回路を構築するための設計データ(設計データA、設計データB、設計データD)が設計データリスト210に記憶されている。
設計データリスト210は、現在再構成可能部201上に実現されている回路を示す識別子と、各識別子により識別される回路を構築するための設計データとを対応付けて記憶している。
さらに、送受信部206で新たな設計データを受信した場合、当該設計データリスト210は更新される。また、逆に、利用者による操作や後述する再構成可能部201の更新の動作において、再構成可能部201で実現する回路が削除された場合は、設計データリスト210からも当該設計データが削除される。
(4) 固定回路情報記憶部204
固定回路情報記憶部204は、当該装置が備える再構成できない固定回路202に関する情報を記憶している。固定回路202は、一例として、暗号回路、演算器などの回路である。固定回路情報は、例えば、回路の備える機能の名称、若しくは、回路の備える機能を示す識別番号などであって、設計データ生成装置及び利用装置双方が各回路の機能を識別できる形式で記載されている。以下これらを総称して固定回路情報と呼ぶ。固定回路情報記憶部204は、前述の固定回路情報をリストとして記憶している。その一例を図5に示す。図5の例では、固定回路情報記憶部204は、当該装置が備える3種類の再構成できない固定回路(AES(Advanced Encryption Standard)暗号回路、32ビット乗算器、64ビット加算器)の名称からなる固定回路リスト310を記憶している。この固定回路リスト310は、当該装置が出荷当初から備える固定回路の情報であり、基本的には更新されない情報である。
(5) 装置情報生成部205
装置情報生成部205は、再構成可能部201で実現する回路を更新する際に、設計データ記憶部203と、固定回路情報記憶部204に記憶するそれぞれのリストを読み出す。また、例えば利用者によって入力された所望機能、利用装置の利用しようとするデータを利用するための機能を示す機能条件を取得する。
読み出したそれぞれのリストと機能条件とを統合して装置情報を生成する。生成された装置情報は、送受信部206を介して設計データ生成装置102に送信される。
(6) 送受信部206
送受信部206は、例えばインターネットで外部に接続されており、具体的には、設計データ生成装置102と接続されている。
送受信部206は、装置情報生成部205が生成した装置情報を設計データ生成装置102に送信し、設計データ生成装置102が生成した設計データを受信して、受信した設計データを設計データ記憶部203と、再構成可能部201へ送る。
1.3 設計データ生成装置102の構成
設計データ生成装置102は、図3に示すように、送受信部301、設計データ生成部302から構成される。
設計データ生成装置102は、具体的には図示されていないマイクロプロセッサ、及びRAM、ROM、ハードディスクなどから構成される。前記RAM、ROM、及びハードディスクにはコンピュータプログラムが記憶されており、前記マイクロプロセッサが前記プログラムに従って動作することにより、設計データ生成装置102はその機能の一部を果たす。
なお、送受信部301、設計データ生成部302等の各機能ブロックは典型的には集積回路であるLSIとして実現される。これらは個別に1チップ化されても良いし、全てを含むように1チップ化されても良い。
ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。
さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。
(1) 送受信部301
送受信部301は、例えばインターネットで外部に接続されており、具体的には、利用装置101と接続されている。
送受信部301は、装置情報を利用装置101から受信して、設計データ生成部302へ送り、設計データ生成部302が生成した設計データを利用装置101へ送信する。
(2) 設計データ生成部302
設計データ生成手段302は、受信手段301が受信した装置情報に基づき設計データを生成する。具体的には、再構成可能手段201で実現されている他のハードウェア回路を上書きせず、空いている領域で所望の機能が実現可能な設計データを生成したり、固定回路202に備える回路を利用して、効率よく所望の機能を実現する設計データを生成したりする。
ここで、受信する装置情報は、上述の通り、現在再構成可能部201内に構築されている各回路の設計データと固定回路リストと機能条件とを含む。
以下、上述した設計データの生成について、順を追って説明する。
設計データ生成部302は、受信した装置情報を解析して、機能情報から利用装置の所望する機能を特定する。続いて、固定回路リスト、各回路の設計データから、利用装置の内の既存の各回路の機能、再構成可能部201内の未構成領域を特定する。
ここで、設計データ生成部302は、予め、利用装置101の再構成可能部201の回路規模や形状などを知っているとしてもよいし、これらの情報が装置情報に含まれているとしても良い。
設計データ生成部302は、機能情報の示す機能を構築するため、既存の各回路のうち利用できる回路の有無を特定し、利用できる回路があれば、その回路を利用し、不足機能を追加する回路を構成するための設計データを生成する。
また、受信した設計データをより詳細に解析し、受信した機能条件の示す機能を実現するために必要な構成が、再構成可能部201上の既存の回路内に存在すれば、この構成を流用する配線を含む設計データを生成してもよい。
続いて、生成した設計データを送受信部301を介して、利用装置へ送信する。
1.4 利用装置101、及び設計データ生成装置102の動作
利用装置101、及び設計データ生成装置102の動作について、図6、並びに図7を用いて説明する。
利用装置101は、再構成可能部201の更新指示を受信し(ステップS601)、装置情報生成部205は、設計データ記憶部203に記憶する設計データと、固定回路情報記憶部204に記憶する固定回路情報を読み出して装置情報を生成し(ステップS602)、送受信部206は、生成された装置情報を設計データ生成装置102へ送信する(ステップS603)。
設計データ生成装置102の送受信部301は、利用装置101の送受信部206が送信した装置情報を受信する(ステップS604)。設計データ生成部302は、S604で受信した装置情報を基に、所望機能を構築するための設計データを生成する(ステップS605)。送受信部301は、ステップS605で生成した設計データを利用装置101へ送信する(ステップS606)。
利用装置101の送受信部206は、ステップS605で生成された設計データを受信して(ステップS607)、受信した設計データを設計データ記憶部203と、再構成可能部201に送る。設計データ記憶部203は、受信した設計データを設計データリスト210に追加し(ステップS608)、再構成可能部201は、受信した設計データをロードして所望のハードウェア回路を実現する(ステップS609)。
2.実施の形態2
以下に本発明の実施の形態2のシステムについて説明する。実施の形態2も実施の形態1と同様に利用装置と設計データ生成装置から構成されるが、設計データ生成装置の構成は、実施の形態1と同様であるので説明を省略し、本実施の形態の特徴部分である利用装置を中心に説明する。
2.1 利用装置800の構成
利用装置800は、図8に示すように、再構成可能部201、固定回路202、設計データ記憶部203、固定回路情報記憶部204、送受信部206、機能条件取得部801、装置情報生成部802から構成される。
利用装置800は、具体的には図示されていないマイクロプロセッサ、及びRAM、ROM、ハードディスクなどから構成される。前記RAM、ROM、及びハードディスクにはコンピュータプログラムが記憶されており、前記マイクロプロセッサが前記プログラムに従って動作することにより、利用装置800はその機能の一部を果たす。
なお、再構成可能部201、固定回路202、設計データ記憶部203、固定回路情報記憶部204、送受信部206、機能条件取得部801、装置情報生成部802等の各機能ブロックは典型的には集積回路であるLSIとして実現される。これらは個別に1チップ化されても良いし、全てを含むように1チップ化されても良い。
ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。
さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。
また、再構成可能部201、固定回路202、設計データ記憶部203、固定回路情報記憶部204、送受信部206の構成は利用装置101と同じであるため説明を省略する。
(1) 機能条件取得部801
機能条件取得部801は、送受信部206が受信する暗号化コンテンツを受け取り、当該暗号化コンテンツを復号するために必要とされる機能に関する諸条件(以下、機能条件と呼ぶ)を抽出する。図9にその一例を示し、暗号化コンテンツに付随して送られてくるとする。図9の例では、暗号化コンテンツAは、AES暗号を用いて暗号化されていることを示し、そのAES暗号を復号するために必要とされる処理能力は24Mbps(24Mega bit/second)である。機能条件取得部801は、抽出した機能条件を装置情報生成部802に送る。
(2) 装置情報生成部802
装置情報生成部802は、再構成可能部201で実現する回路を更新する際に、設計データ記憶部203と、固定回路情報記憶部204に記憶するそれぞれのリストを読み出し、さらに、機能条件取得部801から機能条件を統合して装置情報を生成する。生成された装置情報は、送受信部206を介して設計データ生成装置102に送信される。
2.2 利用装置800、及び設計データ生成装置102の動作
利用装置800、及び設計データ生成装置102の動作について、図10、並びに図11を用いて説明する。
利用装置800の送受信部206は、暗号化コンテンツを受信する(ステップS1001)。機能条件取得部801は、S1001で受信した暗号化コンテンツから、当該暗号化コンテンツの復号に必要とされる諸条件を抽出して、装置情報生成部802に通知する(ステップS1002)。装置情報生成部802は、設計データ記憶部203に記憶する設計データと、固定回路情報記憶部204に記憶する固定回路の情報を読み出し、さらに、S1002で通知された暗号化コンテンツを復号するために必要な機能条件を統合して装置情報を生成し(ステップS1003)、送受信部206は、生成された装置情報を設計データ生成装置102へ送信する(ステップS1004)。
設計データ生成装置102の送受信部301は、利用装置800の送受信部206が送信した装置情報を受信する(ステップS1005)。設計データ生成部302は、S1005で受信した装置情報を基に、所望の設計データを生成する(ステップS1006)。送受信部301は、ステップS1006で生成した設計データを利用装置800へ送信する(ステップS1007)。
利用装置800の送受信部206は、ステップS1006で生成された設計データを受信して(ステップS1008)、受信した設計データを設計データ記憶部203と、再構成可能部201に送る。設計データ記憶部203は、受け取った設計データを設計データリスト210に追加し(ステップS1009)、再構成可能部201は、受信した設計データをロードして所望のハードウェア回路を実現する(ステップS1010)。最後に、ステップS1010で実現したハードウェア回路を用いて、受信済みの暗号化コンテンツを復号して出力し、図示していない再生処理部は、コンテンツを再生する(ステップS1011)。
3.再構成可能部の詳細
以上、実施の形態1及び2について説明してきたが、上記の実施の形態の理解を容易にするために、再構成可能部201について説明する。
3.1 再構成可能部の構成
再構成可能部201は、具体的には、再構成可能回路を含んで構成される。再構成可能回路には、リコンフィギュアラブルLSI、PLD、CPLD、PLA、FPGAなど、その回路規模や回路構築のロジックにより、様々な種類が存在する。また、製造メーカによっても、その呼び名や、回路構築のロジックが異なることもある。
ここでは、一例として、LUT(ルックアップテーブル)型のFPGA(フィールドプログラマブルアレイ)を用いた場合について説明する。
図13は、再構成可能回路220の内部構造の一例を模式的に示している。
再構成可能回路220は、論理ブロックLB1(221)、論理ブロックLB2(222)、論理ブロックLB3(223)、論理ブロックLB4(224)、論理ブロックLB5(225)、論理ブロックLB6(226)、論理ブロックLB7(227)、論理ブロックLB8(228)、論理ブロックLB9(229)と16個のスイッチマトリクスS1(231)〜スイッチマトリクスS16(246)と、各論理ブロックと各スイッチマトリクスとを接続する配線群から構成される。なお、LB1・・・LB9は、各論理ブロックを識別する識別名である。最上段の左の論理ブロックから順にLB1、LB2、LB3、2段目の左から順にLB4、LB5、LB6、3段目の左から順にLB7、LB8、LB9という名称が割り当てられている。S1・・・S16は、各スイッチマトリクスの識別名であって、論理ブロックの名称度同様に最上段の左端から、最下段の右下の順に、割り当てられている。ここでは、識別名としたが、これに限るものではなく、各論理ブロック、スイッチマトリクスに予め割り当てられたアドレス情報や、識別子など、それぞれの素子の位置及び種類が特定できる情報であれば良い。
図13に示すように、論理ブロックLB1(221)〜論理ブロックLB9(229)は、3×3のマトリクス状に配置され、論理ブロック間を結ぶ配線の各交点に16個のスイッチマトリクスS1(231)〜スイッチマトリクスS16(246)が配置されている。
図14は、論理ブロックLB1(221)の内部を示す図である。なお、論理ブロックLB2(222)〜論理ブロックLB9(229)も同様の構成を有する。
論理ブロックLB1(221)は、LUT251、LUT252、LUT253、フリップフロップ254、及びフリップフロップ255から構成される。LUT251及びLUT253は、4入力1出力の構成を有し、LUT252は、3入力1出力の構成を有するが、これは一例であり、必ずしもこの構成には限定されない。各LUTは、具体的には、小規模なSRAMで構成される。
図15(a)及び(b)は、スイッチマトリクスS1(231)の構造を示す。なお、スイッチマトリクスS2(232)〜スイッチマトリクスS16(246)も同様の構造を有する。
スイッチマトリクスS1(231)は、配線群を構成する垂直配線チャネルと水平配線チャネルとが交差する箇所に配置されたトランジスタスイッチ群261、262、263、264から構成される。
図15(b)は、トランジスタスイッチ群261の構成を示す図である。なお、トランジスタスイッチ群262〜264も同様の構成を有する。
トランジスタスイッチ群261は、6個のトランジスタスイッチ271〜276で構成され、各トランジスタスイッチは、SRAMを用いてON又はOFFに設定されており、それにより、各論理ブロック間を接続したり遮断したりする。
3.2 設計データ
上記の実施の形態において、設計データ記憶部203の記憶している設計データや、設計データ生成装置102により生成される設計データは、識別子により識別される回路を構築するために使用される論理ブロック、スイッチマトリクス、それぞれの論理ブロックを構成するLUTの設定値、各スイッチマトリクスに含まれるトランジスタスイッチ回路のON/OFFを示すビット列を含む。
一例として、設計データリスト210の記憶している設計データAの概要を図16に示す。実際の設計データは、再構成可能部201により読み取り可能な機械語で記述されているが、ここでは、理解を容易にするため、テーブルを用いて表現している。説明の便宜上、設計データAにより構築される回路を回路Aと呼ぶ。
設計データAは、図16に示すように、構成LBテーブル281、LB1内部設定情報テーブル282、LB2内部設定情報テーブル283、結線情報テーブル284から構成される。
構成LBテーブル281は、回路Aを構成する論理ブロックを示している。ここでは、一例として、回路Aが、論理ブロックLB1(221)と論理ブロックLB2(222)から構成されることを示している。
LB1内部設定情報テーブル282は、論理ブロックLB1(221)の内部設定情報から構成される。内部設定情報としては、論理ブロックLB1(221)内の各LUTの設定値及び内部の配線情報である。ここでは、一例として、LUT251〜253に、それぞれ、記憶されるLUT設定値a〜c、LUT251の端子251bとLUT252の端子252aとを接続することを示す情報が含まれている。
LB2内部設定情報テーブル283もLB1内部設定情報テーブル282と同様の構成であって、論理ブロックLB2(222)の内部設定情報から構成される。
結線情報テーブル284は、論理ブロック間の結線に関する1以上の結線情報から構成される。図13に示す例では、各論理ブロックは4つの端子を備えている。図16に示すように、結線情報テーブル284上の1の結線情報は、「S2」及び「LB1端子1−LB2端子4」から構成される。この結線情報は、スイッチマトリクスS2(232)により、論理ブロックLB1(221)の第1端子と論理ブロックLB2(222)の第4端子を接続することを示している。「LB1端子1−LB2端子4」は、具体的には、スイッチマトリクスS2(323)に含まれる各トランジスタスイッチのON/OFFを示す情報である。
以上、LUT型のFPGAを例にして、再構成可能部の具体的構造及び設計データの構成について説明してきたが、他の再構成可能回路を用いる場合、設計データ記憶部203は、それぞれの再構成可能回路の構造、及び、規格に適した書式により記載された設計データを記憶している。
4. 装置情報に関する具体例
上記の実施の形態1では、装置情報生成部205は、現在、再構成可能部201に構築されている回路の設計データと固定回路情報とを装置情報として送信している。また、実施の形態2ではこれらに暗号化コンテンツの再生必要な機能条件を加えて装置情報を生成し、送信する。
設計データ生成装置102の設計データ生成部302は、受信した装置情報に含まれる設計データを解析し、再構成可能部内で何れの回路にも属さない論理ブロック(以下、既存の回路に属さない論理ブロック群を未構成領域と呼ぶ)を特定し、特定した論理ブロックを用いて受信した機能条件を満たす回路を構築するための設計データを生成し、送信する。
この場合は、設計データ生成装置102は、例えば、利用装置101の製造元のメーカの保有する機器であって、設計データ生成部302は、利用装置101の備える再構成可能部201の備える再構成可能回路の構造を、予め知っている。
続いて、利用装置101は、設計データ生成装置102により生成された、最適な設計データを受信し、受信した設計データを設計データ記憶部203へ追加すると共に、再構成可能部201は、受信した設計データに従って新たな回路を構築する。
以下に、装置情報として送信する情報の他の具体例について説明する。
(1)再構成可能回路の構成を通知する
上記の例は、設計データ生成装置102側が、利用装置の備える再構成可能回路の構成や規模を知っているものとしたが、利用装置が、自らの備える再構成可能回路の構成や規模を含む装置情報を送信しても良い。
(2)再構成可能部の未構成領域を通知する
装置情報生成部205は、予め、再構成可能部201の内部構成を示す情報を記憶している。具体的には、論理ブロックの個数「9個」、それらの識別名「LB1〜LB9」、配置状態「3×3のマトリクス状」、スイッチマトリクスの数「16個」それらの名称「S1〜S16」などを記憶している。
再構成可能部201の更新の指示が為されると、装置情報生成部205は、設計データ記憶部203から、設計データを読み出す。設計データの構成は、図16を用いて説明した通りである。
各設計データに含まれる構成LBテーブルそれぞれから、既存の回路を構成する論理ブロックの識別名を読み出す。続いて、記憶している識別名「LB1〜LB9」から、読み出した識別名を除いた識別名「LBx、LBy・・・」(x、yは1〜9の整数)と、記憶している再構成可能部201の内部構成を示す情報及び固定回路情報を結合して装置情報を生成する。以下、再構成可能回部内の既存の回路の存在する領域を構成済領域、何れの回路にも用いられていない論理ブロックの存在する領域を未構成領域と呼ぶ。
生成した装置情報を送受信部206を介して、設計データ生成装置102へ送信する。
設計データ生成装置102の設計データ生成部302は、装置情報に含まれる識別名「LBx、LBy・・・」(x、yは1〜9の整数)と、再構成可能回路の内部情報とを基に、再構成可能部201内の未構成領域を特定し、未構成領域内の論理ブロックを無駄なく利用する設計データを生成することができる。
実施の形態2の装置情報生成部802についても、同様に、再構成可能部のあき領域を示す情報を含む装置情報を生成する。
また、再構成可能部201の内部構成に代えて、再構成可能部を構成する再構成可能回路の製造メーカ名、品番を含む装置情報を送信する構成であってもよい。再構成可能部201を構成する再構成可能回路の構造及び、回路設計のロジックは、メーカや回路規模などにより異なる。従って、設計データ生成部302は、成可能回路の製造メーカ名、品番から再構成可能部の構造、形状、回路構築ロジックを特定し、最適な設計データを生成することができる。
(3) 領域管理テーブル
また、上記の具体例(2)の場合、設計データ記憶部203が、再構成可能部201の内部構造を示す情報及び構成済領域及び未構成領域を示す情報を記憶しており、装置情報生成部205は、設計データ記憶部203から、これらの情報を読み出すとしてもよい。
例えば、図17は、設計データ記憶部203の記憶している情報の一例を示している。設計データ記憶部203は、再構成可能回路情報401と、領域管理テーブル402と、設計データリスト210とを記憶している。
設計データリスト210については、上記の通りであるので説明を省略する。
再構成可能回路情報401は、再構成可能部201を構成する再構成可能回路の内部構成を示す情報である。ここでは、一例として再構成可能回路内に9個の論理ブロックLB1〜論理ブロックLB9が存在し、これらが3×3のマトリクス状に配置されていることを示している。この他にも、スイッチマトリクスに関する情報、各論理ブロック内の構成を示す情報、再構成可能回路の製造メーカ、品番などを含んでいても良い。
図17に示す領域管理テーブル402は、3個の構成済LB情報403・・・と未構成LB情報404とから構成される。各構成済LB情報は、それぞれ、設計データリスト210に含まれる設計データと、対応している。
各構成済LB情報は、識別子と対応する回路を構成する論理ブロックの名称とを含む。識別子は、対応する設計データにより、再構成可能部201に構築されている回路を識別する情報であって、設計データリストに含まれる識別子と同一である。使用LBは、識別子により識別される回路に使用されている論理ブロックの識別名である。
例えば、構成済LB情報403は、設計データリスト210内の設計データAと対応しており、識別子「A」及び使用LB「LB1、LB2」とを含む。これは、識別子「A」の示す回路が、論理ブロックLB1及び論理ブロックLB2を用いて構築されていることを示している。
これら3つの構成済LB情報の示す論理ブロックを含む領域が、前述の構成済領域に該当する。
未構成LB情報404は、再構成可能回路220内の9個の論理ブロックのうち、いずれの回路にも使用されていない論理ブロックの識別名を含む。ここでは、回路A、回路B、回路Dの何れにも使用されていない論理ブロックの識別名「LB5、LB6、LB8、LB9」を含んでいる。これらの論理ブロックを含む領域が前述の未構成領域に該当する。
領域管理テーブル402は、設計データリスト210が更新されると、更新後の設計データリスト210を基に、構成済LB情報の追加、削除、未構成LB情報の更新が為される。
また、利用者の操作により、新たな設計データが入力された場合、既存の回路がリセットされた場合にも領域管理テーブル402の更新が為される。
なお、これらの情報は、設計データ記憶部203に記憶されていても良いし、設計データ記憶部203とは個別の記憶部に記憶されていても良い。
この構成の場合、装置情報生成部205は、再構成可能回路に関する情報を記憶している必要はない。また、装置情報生成部205は、設計データリストに含まれる各設計データを基に使用されていない論理ブロックを特定する代わりに、設計データ記憶部203から再構成可能回路情報401と領域管理テーブル402に含まれる未構成LB情報404とを読み出し、読み出した再構成可能回路情報401と未構成LB情報404とを含む装置情報を生成して、送受信部206を介して送信する。
実施の形態2の装置情報生成部802についても同様である。
(4) 上記の例(3)において、装置情報は、さらに、現在、再構成可能回路上に構築されている各回路の機能を示す機能情報を含んでいてもよい。
具体的には、各機能情報は、再構成可能回路上に構築されている回路A、回路情報B及び回路Dと対応しており、機能情報Aは、回路Aを示す識別子「A」と回路Aの機能を示す情報、例えば、DES暗号回路とからなる。
回路B、回路Dと対応する機能情報B機能情報Dも同様の構成である。ここでは、一例として機能情報Bは、識別子「B」と「ハッシュ関数演算回路」からなり、機能情報Dは、識別子「D」と「擬似乱数生成器」とを含む。
この場合、設計データ生成装置の102の設計データ生成部302は、既に、利用装置101内に存在する回路(固定回路及び再構成可能部内の回路)によって、実現されている機能を特定し、まだ、実現されていない機能を有する回路を構築するための設計データを生成して送信する。
このようにすることで、利用装置101内に、同一の回路が重複することがなくなり、再構成可能部201を無駄なく活用することができる。
5. 所望の機能を示す機能条件の取得
(1)上記の説明実施の形態では、特に言及していないが、利用装置は、所望の機能を実現するために、装置情報を送信して新たな設計データを取得する。
実施の形態2では、その一例として、利用装置800が、送受信部206を介して、暗号化コンテンツを受信する。受信した暗号化コンテンツには、前記暗号化コンテンツを再生するために必要な機能を示す機能条件が付随している。
暗号化コンテンツを受信すると、機能条件取得部801は、これに付随する機能条件を抽出してこれを、当該利用装置800の備えるべき機能条件として、装置情報生成部802へ出力する。
装置情報生成部802は、機能条件取得部801から受け取った機能条件を含む装置情報を生成し、設計データ生成装置102へ送信する。
言い換えると、利用装置800は、受信した暗号化コンテンツの再生に必要な機能を要求している。
設計データ生成装置102の設計データ生成部302は、再生条件を満たす回路を構築するための設計データを生成する。続いて、送受信部301を介して、生成した設計データを、利用装置800へ送信する。
利用装置800の再構成可能部201は、送受信部206を介して受信した新たな設計データを基に、新たな回路(回路Eと呼ぶ)を構築する。利用装置800は、新たに構築された回路E及び既存の回路(回路A、回路B、回路C及び固定回路)により、暗号化コンテンツを再生する機能を取得する。
なお、装置情報には、固定回路情報が含まれているが、これは必須ではない。 従って、再構成可能部201内に構築された回路のみによって、暗号化コンテンツを再生する機能を実現しても良い。
さらに、装置情報として、再生条件と再構成可能部201のみこうせいLB情報のみを送信し、新たに構築された回路Eのみにより、暗号化コンテンツを再生する機能を実現しても良い。
(2)実施の形態2では、利用装置800は、受信した暗号化コンテンツに付随する条件を機能条件として取得しているが、所望の機能を示す機能条件の取得方法は、これに限らない。
例えば、機能条件取得部801は、利用装置自身に装着された記録媒体の種類(DVD、BD(ブルーレイディスク)、SDメモリカードなど)を識別し、識別した記録媒体の種類を示す情報を機能条件として、装置情報生成部へ出力する。ここで、各記録媒体は個別の規格に準拠しており、利用装置は、装着された記録媒体の種類に適した機器認証処理、データ改ざんの検証処理、復号処理などを行った後でなければ、記録媒体に記録されているデータを取得することができない。
装置情報生成部は、受け取った機能条件を含む装置情報を生成し、送受信部を解して設計データ生成装置へ送信する。
つまり、ここでは、利用装置に装着された記録媒体の種類に応じて、前記記録媒体に記録されている情報を取得する機能を要求していることになる。
(3)また、機能条件取得部801は、記録媒体の種類を示す情報に代えて、その記録媒体からデータを取得するために必要な具体的な機能条件(例えば、記録媒体の準拠する規格の名称、認証アルゴリズム、暗号アルゴリズムなど)を出力しても良い。
この場合、機能条件取得部801は、予め、利用装置に装着される可能性のある記録媒体の種類と、その記録媒体からデータを取得するための機能条件と対応付ける対応テーブルを記憶しておく。記録媒体が装着されると、装着された記録媒体の種類を識別し、前記対応テーブルから、該当する機能条件を読み出して、装置情報生成部へ出力する構成でも良い。
(4) また、別の例としては、機能条件取得部801は、利用装置が利用しようとするデータの種類を機能条件として、出力しても良い。例えば、MPEG、JPEG、MP3などが該当する。
つまりここでは、利用装置は、自身が利用しようとしているデータを、利用するための機能を要求している。
(5) また、別の例としては、利用装置の利用者が新たに導入を希望する機能(機能の名称など)を入力し、機能条件取得部801は、入力された機能を示す機能条件を装置情報生成部へ出力しても良い。
(6) また、装置情報生成部は、新たな設計データの要求の要否を判断するとしても良い。
具体的には、各記憶部から取得した固定回路情報、再構成可能部内の回路情報を基に、利用装置に装着された記録媒体に記録されているデータを利用するための機能(若しくは、受信した暗号化コンテンツを再生する機能)を利用装置内の既存の回路で実現可能か否かを判断し、既存の回路で、所望の機能が実現可能であれば、装置情報の送信を中止し、既存の回路では、所望の機能が実現できないと判断した場合には、利用装置に装置情報を送信し、新たな回路データを要求する。このとき送信される装置情報には、少なくとも、当該利用装置に装着されている記録媒体の種類に応じた機能条件(若しくは受信した暗号コンテンツを再生するための機能条件)が含まれる。
また、装置情報が、前述の装着された記録媒体の種類の判断、装置情報の送信の要否の判断を行うと記載したが、これらの判断は、他の構成要素が行うとしても良い。
例えば、具体的には図示されていないが、利用装置は、記録媒体へのデータの読み出し及び書込を行うドライブ部を備え、前記ドライブ部が記録媒体の種類の判断を行い、判断結果を通知する構成であっても良い。
また、図面には設計データの取得に関する部分しか記載されていないが、利用装置は、当該装置の各部の動作を制御する主制御部、各種のプログラムを記憶している主記憶部を備えており、主制御部が、装置情報の送信の要否の判断を行うとしてもよい。
ここで、主制御部は、マイクロプロセッサ、RAM、ROMを含んで構成されるコンピュータシステムである。RAM、ROMには、各種のコンピュータプログラムが記憶されており、前記マイクロプロセッサが、コンピュータプログラムに従って動作することで主制御部は、その機能の一部を達成する。
6.その他の変形例
(1) 本発明の実施の形態では、暗号化コンテンツに付随して、例えば図9に示す情報が送られてくるとしたが、本発明はその構成に限定されるものではない。例えば、暗号化コンテンツがDVDから読み出された場合は、暗号アルゴリズムはAES暗号、必要な処理量は8Mbpsと、暗号化コンテンツを受け取るソースに応じて予め必要とされる条件を保持しておく構成であってもよい。さらに、サーバAに接続してコンテンツを入手した場合、サーバBに接続してコンテンツを入手した場合のように、暗号化コンテンツを入手する入手先に応じて、必要とされる条件を保持して、逐次更新していく構成であってもよい。
(2) 本発明の実施の形態に追加して、利用装置を利用するユーザからの要求を受信する要求受信部を備え、当該要求受信部で指示されたハードウェア回路を示す情報(例えば、回路の名称、指示された回路により実現される機能の名称など)を装置情報生成部に通知し、送受信部を介して設計データ生成装置へ送信する構成であってもよい。
(3) 本発明の実施の形態に追加して、削除(上書き)可能な回路を予め定められたルールに基づいて削除(上書き)する、又は削除(上書き)可能回路として、装置情報生成部に通知する構成であってもよい。例えば、予め定められたルールとは、設計データ記憶部で記憶する設計データリストに使用頻度を示すフィールドを設け、1ヵ月の間に1度も使用されなかった回路に対して「1」のフラグを立てて、当該設計データに基づいて実現されている回路を削除(上書き)可能回路として、装置情報生成部に通知する構成であってもよい。
この場合、設計データ生成装置の設計データ生成部302は、削除(上書き)可能回路として通知された回路が構築されている領域を、未構成領域と同等に、新たな回路構築の対象領域として扱う。
このように、使用頻度、使用履歴等に応じて、優先順位を付与しておき、新たな設計データによる回路を構築する際には、再構成可能部は、優先順位の低い(又は使用頻度の少ない)回路をリセットし、リセットされた回路の素子(論理ブロック及びスイッチマトリクス)を、新たな回路の構築に用いる構成であってもよい。若しくは、リセットせずに上書きしてもよい。
これに合わせて、リセット又は上書きされた回路と対応する設計データは、設計データリストから210から削除される。
なお、使用頻度、使用履歴に応じたリセットは、再構成可能部の更新に合わせて行っても良いし、再構成可能部の更新とは個別の時刻に行っても良い。
(4) 本発明の実施の形態に追加して、利用装置は再構成可能部の製造メーカや品番などの情報を記憶しており、利用装置はこれらの製造メーカや品番などの情報を装置情報として設計データ生成装置に送信する構成であってもよい。
(5) 先に述べたように、図2及び図8には、設計データの取得に関連する機能部のみを記載しているが、利用装置、これらのみならず、当該利用装置の各構成要素の動作を制御する主制御部、記録媒体にアクセスするドライブ部、表示部、利用者の操作を受け付ける入力部などを含んで構成される。主制御部は、CPUと、CPUにより実行される各種のソフトウェアを記憶している主記憶部を含んで構成される。ここで、図面に記載されている固定回路と、再構成可能部上に構築された回路と、CPUによるソフトウェアの実行とが連携して動作し、所望の機能を実現する場合がある。
ここで、装置情報生成部802は、再構成可能部に関する情報(設計データ、未構成LB情報)、固定回路情報、所望の機能を示す機能条件に追加して、CPUの処理能力や、ソフトウェアを格納するメモリ量(空き容量)を含む装置情報を生成して送信する構成であってもよい。
この場合、装置情報を受信した設計データ生成装置は、ソフトウェアとハードウェアを組み合わせて所望の機能を実現する適切な設計データ、及びソフトウェア用のプログラムを生成して利用装置に送信する。また、設計データ生成装置内で利用装置の環境を再現して、生成した設計データが、所望の性能に合致するか否か確認(シミュレート)してから送信する構成あってもよい。
(6)本発明の実施の形態では、利用装置は外部の設計データ生成装置から設計データを受信して、当該設計データを用いて、再構成可能部において回路を実現する構成としたが、本発明はその構成に限定されるものではない。
例えば、利用装置は、設計データを生成するコンパイル部を備え、設計データのオリジナルデータを外部から受信し、前記コンパイル部は、受信したオリジナルデータをコンパイルして設計データを生成する。続いてコンパイル部は、生成した設計データを設計データリストに追加し、再構成可能部において、コンパイルにより生成された設計データに従って、回路を実現する構成であってもよい。
ここでオリジナルデータとは、再構成可能回路上に、所定の機能を有する回路を構築する手順を、ハードウェア構築言語(例えば、VHDL)や、その他の高級言語(例えば、SpecC、SystemCなど)で記述したものである。
また、その場合、利用装置は、設計データを記憶する設計データ記憶部に代えて、オリジナルデータを記憶するオリジナルデータ記憶部を備える構成であっても良いし、設計データ記憶部とオリジナルデータ記憶手段の両方を備える構成であってもよい。
(7)また、前記利用装置において、設計データ記憶部は、必須の構成ではなく、装置情報生成部が、再構成可能手段上に構築されている回路から、設計データ、未構成LB情報などを抽出する構成であっても良い。
(8)また、利用者の操作により不要となった回路(便宜上回路Aとする)を示す識別子「A」の入力を受け付ける入力部を備えており、装置情報生成部は、入力された識別子(若しくは入力された識別子に対応する論理ブロックの識別名「LB1、LB2)を含む装置情報を生成し、送信する。
設計データ生成部302は、受け取った装置情報を解析し、最適な設計データを生成するが、このとき、上記の識別子の示す回路の領域は、未構成領域と同様に扱われる。
利用装置は、新たに受信した設計データを基に新たな回路を生成するが、このとき回路Aの領域の素子は、新たな設計データにより上書きされる。
(9)なお、再構成可能部の更新時とは関係なく、利用者の操作により不要となった回路(便宜上回路Aとする)を示す識別子「A」の入力を受け付けると、再構成可能部は回路Aをリセットし、設計データAを設計データリスト210から削除する構成であっても良い。さらに、図17に示す領域管理テーブル402を保持している場合、設計データAの削除と合わせて、領域管理テーブル402から構成済LB情報403を削除し、未構成LB情報にLB1とLB2とを追加しておいてもよい。
このようにしておくことで、再構成可能部の更新の指示があった場合迅速に、未構成領域を特定できる。
(10) 上記の各装置は、具体的には、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記RAMまたはハードディスクユニットには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、各装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
(11) 上記の各装置を構成する構成要素の一手段または全手段は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されているとしてもよい。システムLSIは、複数の構成手段を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAMなどを含んで構成されるコンピュータシステムである。前記RAMには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、システムLSIは、その機能を達成する。
(12) 上記の各装置を構成する構成要素の一手段または全手段は、各装置に脱着可能なICカードまたは単体のモジュールから構成されているとしてもよい。前記ICカードまたは前記モジュールは、マイクロプロセッサ、ROM、RAMなどから構成されるコンピュータシステムである。前記ICカードまたは前記モジュールは、上記の超多機能LSIを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、前記ICカードまたは前記モジュールは、その機能を達成する。このICカードまたはこのモジュールは、耐タンパ性を有するとしてもよい。
(13) 本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
また、本発明は、前記コンピュータプログラムまたは前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD−ROM、MO、DVD、DVD−ROM、DVD−RAM、BD(Blu−ray Disc)、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されている前記デジタル信号であるとしてもよい。
また、本発明は、前記コンピュータプログラムまたは前記デジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
また、本発明は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサは、前記コンピュータプログラムにしたがって動作するとしてもよい。
また、前記プログラムまたは前記デジタル信号を前記記録媒体に記録して移送することにより、または前記プログラムまたは前記デジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
(14) 本発明は、コンテンツを利用する利用装置であって、前記利用装置は、ある特定の機能を実現する設計データの再構成が可能な再構成可能手段と、前記再構成可能手段の回路構成状態を含む前記利用装置の内部状態を装置情報として生成する装置情報生成手段と、前記装置情報生成手段が生成する装置情報を送信して設計データを要求する送信手段と、前記要求した設計データを受信する受信手段と、を備えることを特徴とする。
(15) 変形例(14)の利用装置は、さらに、前記再構成可能手段で実現する回路の設計データを記憶する設計データ記憶手段を備え、前記装置情報は、前記設計データ記憶手段に記憶する1以上の設計データであることを特徴とする。
(16) 変形例(15)の前記利用装置は、さらに、前記利用装置が備える固定回路の情報を記憶する固定回路記憶手段を備え、前記装置情報は、前記1以上の設計データに加え、前記固定回路記憶手段に記憶する1以上の固定回路情報を含むことを特徴とする。
(17) 変形例(15)の前記利用装置は、さらに、前記利用装置が備える再構成可能手段の製造メーカ、又は品番を記憶する記憶手段を備え、前記装置情報は、前記1以上の設計データに加え、前記記憶手段に記憶する再構成可能手段の特性情報を含むことを特徴とする。
(18) 変形例(15)の前記利用装置は、さらに、前記利用装置が備えるソフトウェアの空きメモリ量やCPUの処理周波数を記憶する記憶手段を備え、
前記装置情報は、前記1以上の設計データに加え、前記記憶手段に記憶するソフトウェアに関する情報を含むことを特徴とする。
(19) 変形例(15)の前記利用装置は、さらに、暗号化されたコンテンツを受信する受信手段と、前記暗号化コンテンツから、暗号化処理に用いられた暗号アルゴリズム、及び復号処理に必要とされる処理性能であるコンテンツ情報を抽出する抽出手段と、を備え、前記装置情報は、前記1以上の設計データに加え、前記抽出手段が抽出したコンテンツ情報を含むことを特徴とする。
(20) 変形例(19)の利用装置において、前記コンテンツ情報は、暗号化コンテンツに付随して送信されることを特徴とする。
(21) 変形例(19)の前記利用装置は、さらに、暗号化コンテンツの配信元と、前記暗号アルゴリズム、及び復号処理に必要とされる処理量の対応関係表を記憶する記憶手段を備え、前記コンテンツ情報は、前記記憶手段が記憶する対応関係表から抽出することを特徴とする。
(22) 変形例(19)前記利用装置は、さらに、暗号化コンテンツが記録された記録媒体と、前記暗号アルゴリズム、及び復号処理に必要とされる処理量の対応関係表を記憶する記憶手段を備え、前記コンテンツ情報は、前記記憶手段が記憶する対応関係表から抽出することを特徴とする。
(23) 変形例(15)の前記利用装置は、さらに、コンテンツ利用者が入力する削除可能な設計データを受け付ける受付手段を備え、前記装置情報は、前記1以上の設計データに加え、前記受付手段が受け付けた削除可能な設計データを含むことを特徴とする。
(24) 変形例(15)の前記利用装置は、さらに、前記設計データ記憶手段は、各々の設計データの使用頻度をカウントし記憶する記憶領域を備え、予め定められたしきい値以下の設計データを削除可能な設計データとして、前記装置情報に含めることを特徴とする。
(25) 変形例(14)の前記利用装置は、さらに、設計データを生成するコンパイル手段と、前記設計データのオリジナルデータを受信する受信手段とを備え、前記コンパイル手段は、前記装置情報に基づき設計データを生成することを特徴とする。
(26) 変形例(25)の前記利用装置は、さらに、前記再構成可能手段で実現する回路の設計データを記憶する設計データ記憶手段を備え、前記装置情報は、前記設計データ記憶手段に記憶する1以上の設計データであることを特徴とする。
(27) 変形例(26)の前記利用装置は、さらに、前記利用装置が備える固定回路の情報を記憶する固定回路記憶手段を備え、前記装置情報は、前記1以上の設計データに加え、前記固定回路記憶手段に記憶する1以上の固定回路情報を含むことを特徴とする。
(28) 変形例(26)の前記利用装置は、さらに、前記利用装置が備える再構成可能手段の製造メーカ、又は品番を記憶する記憶手段を備え、前記装置情報は、前記1以上の設計データに加え、前記記憶手段に記憶する再構成可能手段の特性情報を含むことを特徴とする。
(29) 変形例(26)の前記利用装置は、さらに、前記利用装置が備えるソフトウェアの空きメモリ量やCPUの処理周波数を記憶する記憶手段を備え、前記装置情報は、前記1以上の設計データに加え、前記記憶手段に記憶するソフトウェアに関する情報を含むことを特徴とする。
(30) また、本発明は、コンテンツを利用する利用装置と、前記コンテンツの利用に必要な設計データを供給する設計データ生成装置からなる更新システムであって、前記設計データ生成装置は、前記利用装置から装置情報を受信する受信手段と、受信した装置情報に基づいて設計データを生成する生成手段と、生成した設計データを前記利用装置に送信する送信手段とを備え、前記利用装置は、ある特定の機能を実現する設計データの再構成が可能な再構成可能手段と、前記再構成可能手段の回路構成状態を含む前記利用装置の内部状態を装置情報として生成する装置情報生成手段と、前記装置情報生成手段が生成する装置情報を送信して設計データを要求する送信手段と、前記設計データ生成装置が生成した設計データを受信する受信手段と、を備えることを特徴とする。
(31) 変形例(30)のシステムにおいて、前記利用装置は、さらに、前記再構成可能手段で実現する回路の設計データを記憶する設計データ記憶手段を備え、前記装置情報は、前記設計データ記憶手段に記憶する1以上の設計データであることを特徴とする。
(32) 変形例(31)のシステムにおいて、前記利用装置は、さらに、前記利用装置が備える固定回路の情報を記憶する固定回路記憶手段を備え、前記装置情報は、前記1以上の設計データに加え、前記固定回路記憶手段に記憶する1以上の固定回路情報を含むことを特徴とする。
(33) 変形例(31)のシステムにおいて、前記利用装置は、さらに、前記利用装置が備える再構成可能手段の製造メーカ、又は品番を記憶する記憶手段を備え、前記装置情報は、前記1以上の設計データに加え、前記記憶手段に記憶する再構成可能手段の特性情報を含むことを特徴とする。
(34) 変形例(31)のシステムにおいて、前記利用装置は、さらに、前記利用装置が備えるソフトウェアの空きメモリ量やCPUの処理周波数を記憶する記憶手段を備え、前記装置情報は、前記1以上の設計データに加え、前記記憶手段に記憶するソフトウェアに関する情報を含むことを特徴とする。
(35) 変形例(31)のシステムにおいて、前記利用装置は、さらに、暗号化されたコンテンツを受信する受信手段と、前記暗号化されたコンテンツから、暗号化処理に用いられた暗号アルゴリズム、及び復号処理に必要とされる処理量であるコンテンツ情報を抽出する抽出手段とを備え、前記装置情報は、前記1以上の設計データに加え、前記抽出手段が抽出したコンテンツ情報を含むことを特徴とする。
(36) 変形例(35)のシステムにおいて、前記利用装置は、前記コンテンツ情報が、暗号化コンテンツに付随して送信されることを特徴とする。
(37) 変形例(35)のシステムにおいて、前記利用装置は、さらに、暗号化コンテンツの配信元と、前記暗号アルゴリズム、及び復号処理に必要とされる処理量の対応関係表を記憶する記憶手段を備え、前記コンテンツ情報は、前記記憶手段が記憶する対応関係表から抽出することを特徴とする。
(38) 変形例(35)のシステムにおいて、前記利用装置は、さらに、暗号化コンテンツが記録された記録媒体と、前記暗号アルゴリズム、及び復号処理に必要とされる処理量の対応関係表を記憶する記憶手段を備え、前記コンテンツ情報は、前記記憶手段が記憶する対応関係表から抽出することを特徴とする。
(39) 変形例(31)のシステムにおいて、前記利用装置は、さらに、コンテンツ利用者が入力する削除可能な設計データを受け付ける受付手段を備え、前記装置情報は、前記1以上の設計データに加え、前記受付手段が受け付けた削除可能な設計データを含むことを特徴とする。
(40) 変形例(31)のシステムにおいて、前記利用装置の前記設計データ記憶手段は、各々の設計データの使用頻度をカウントし記憶する記憶領域を備え、予め定められた閾値以下の設計データを削除可能な設計データとして、前記装置情報に含めることを特徴とする。
(41) また、本発明は、コンテンツを利用する利用方法であって、前記利用方法は、ある特定の機能を実現する設計データの再構成が可能な再構成可能ステップと、前記再構成可能ステップの回路構成状態を含む内部状態を利用方法情報として生成する利用方法情報生成ステップと、前記利用方法情報ステップが生成する利用方法情報を送信して設計データを要求する送信ステップとを含むことを特徴とする。
(42) また、本発明は、コンテンツを利用する利用装置で用いられるコンテンツ利用プログラムであって、前記利用装置は、コンテンツの利用を制御するコンピュータプログラムを記憶している記憶手段を備え、前記コンテンツ利用プログラムは、前記利用装置において、ある特定の機能を実現する設計データの再構成が可能な再構成可能ステップと、前記再構成可能ステップの回路構成状態を含む内部状態を利用方法情報として生成する利用方法情報生成ステップと、前記利用方法情報ステップが生成する利用方法情報を送信して設計データを要求する送信ステップとを含むことを特徴とする。
(43) 変形例(42)のコンテンツ利用プログラムは、コンピュータ読み取り可能なプログラム記録媒体に記録されていることを特徴とする。
(44) また、本発明は、コンテンツを利用する利用装置の集積回路であって、ある特定の機能を実現する設計データの再構成が可能な再構成可能手段と、前記再構成可能手段の回路構成状態を含む前記利用装置の内部状態を装置情報として生成する装置情報生成手段と、前記装置情報手段が生成する装置情報を送信して設計データを要求する送信手段と、を備えることを特徴とする。
(45) 上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
本発明は、アルゴリズム(機能)を更新できる装置を生産し、販売する産業において、経営的に、また継続的かつ反復的に利用することができる。
本発明に係る設計データ生成装置、及び利用装置の全体構成を示す構成図 本発明の実施の形態における利用装置101の機能を示す機能ブロック図 本発明の実施の形態における設計データ生成装置102の機能を示す機能ブロック図 設計データ記憶部203が記憶している設計データリスト210の一例を示す図 固定回路情報記憶部204が記憶している固定回路リスト310の一例を示す図 本発明の実施の形態における利用装置101、及び設計データ生成装置102の動作フローを示す図 本発明の実施の形態における利用装置101、及び設計データ生成装置102の動作フローを示す図 本発明の実施の形態における利用装置800の機能を示す機能ブロック図 暗号化コンテンツの再生に必要とされる条件を示す情報の一例を示す図 本発明の実施の形態における利用装置800、及び設計データ生成装置102の動作フローを示す図 本発明の実施の形態における利用装置800、及び設計データ生成装置102の動作フローを示す図 本発明の実施の形態における利用装置101を実現する集積回路の一例を示す図 再構成可能部201を構成する再構成可能回路220の構造の一例を示す図 論理ブロックLB1(221)の内部構成を示す図 スイッチマトリクスS1(231)の構成及びトランジスタスイッチ群261の構成を示す図 設計データA280の内容を、テーブルを用いて表現した図 設計データ記憶部203の記憶している情報の一例を示した図
符号の説明
101、800 利用装置
102 設計データ生成装置
201 再構成可能部
202 固定回路
203 設計データ記憶部
204 固定回路情報記憶部
205、802 装置情報生成部
206、301 送受信部
220 再構成可能回路
221 論理ブロックLB1
231 スイッチマトリクスS1
251〜253 LUT
254、255 フリップフロップ
261 トランジスタスイッチ群
280 設計データA
302 設計データ生成部
401 再構成可能回路情報
402 領域管理テーブル
801 機能条件取得部

Claims (24)

  1. 書き換え可能な回路を備える装置であって、
    内部の回路構成が書き換え可能な再構成可能回路と、
    少なくとも、前記再構成可能回路内の未構成領域を示す領域情報を含む、当該装置の構成に関する装置情報を生成する生成手段と、
    当該装置に構築すべき所望機能を示す機能情報及び生成した前記装置情報を設計データ生成装置へ送信する送信手段と、
    前記設計データ生成装置から、当該装置に前記所望機能を構築するため、必要な部分回路の構成を示す設計データを受信する受信手段と、
    前記再構成可能回路上の未構成領域を含む領域に、受信した前記設計データに基づいて前記部分回路を構築する構築手段と
    を備えることを特徴とする装置。
  2. 前記生成手段は、現在、前記再構成可能回路により実現されている機能及び構成を示す情報を含む前記装置情報を生成する
    ことを特徴とする請求項1に記載の装置。
  3. 前記生成手段は、前記再構成可能回路上に現在構築されている各回路の構成を示す1以上の設計データを含む前記装置情報を生成する
    ことを特徴とする請求項2に記載の装置。
  4. 前記装置は、さらに、
    内部構成を変更できない固定回路を1以上含み、
    前記生成手段は、前記固定回路の有する機能及び構成を示す情報含む前記装置情報を生成する
    ことを特徴とする請求項1記載の装置。
  5. 前記生成手段は、前記再構成可能回路の製造メーカ及び品番を含む前記装置情報を生成する
    ことを特徴とする請求項4記載の装置。
  6. 前記1以上の固定回路は、CPU及びCPUにより実行されるプログラムを格納するメモリを含み、
    前記生成手段は、前記CPUの処理能力及び前記メモリの空き容量を含む前記装置情報を生成する
    ことを特徴とする請求項4記載の装置。
  7. 前記生成手段は、前記メモリに記憶されている各プログラムについて、そのプログラムが前記CPUにより実行されることで実現される機能を示すプログラム機能情報を含む前記装置情報を生成する
    ことを特徴とする請求項6に記載の装置。
  8. 前記装置は、さらに、
    現在、再構成可能回路上に構築されている回路のうち不要な回路の、利用者による指定を受け付ける受付手段を備え、
    前記生成手段は、指定された不要な回路の存在する上書き可能領域を示す情報を含む前記装置情報を生成し、
    前記構築手段は、前記再構成可能回路上の未構成領域及び/又は前記上書き可能領域を含む領域に前記部分回路を構築する
    ことを特徴とする請求項4に記載の装置。
  9. 前記利用装置は、さらに、
    再構成可能回路上に構築されている各回路の使用頻度を計数する計数手段を備え、
    前記生成手段は、計数された使用頻度が所定の閾値以下の回路の構築されている低頻度領を域示す低頻度領域情報を含む前記装置情報を生成し、
    前記構築手段は、前記再構成可能回路上の未構成領域及び/又は前記低頻度領域を含む領域に前記部分回路を構築する
    ことを特徴とする請求項4記載の装置。
  10. 前記装置は、さらに、
    利用者により所望の機能を示す前記機能情報の入力を受け付ける受付手段を備え、
    前記送信手段は、入力された前記機能情報を送信する
    ことを特徴とする請求項4に記載の装置。
  11. 前記送信手段は、当該装置に入力された暗号化機密データの生成に用いられた暗号化アルゴリズムと対応する復号アルゴリズム及び復号処理のために必要な処理能力を前記機能情報として送信する
    ことを特徴とする請求項4に記載の装置。
  12. 前記暗号化機密データは、デジタル著作物を暗号化して生成された暗号化著作物と、前記機能情報とを含み、
    前記送信手段は、前記暗号化機密データから抽出された前記機能情報を送信する
    ことを特徴とする請求項11に記載の装置。
  13. 前記送信手段は、当該装置に装着されている記録媒体の種類に応じて、前記記録媒体に記録されたデータを取得するための機能を示す前記機能情報を送信する
    ことを特徴とする請求項4に記載の装置。
  14. 前記装置は、さらに、
    前記装置に装着されている記録媒体の種類を識別する識別手段と、
    当該装置に装着される可能性のある記録媒体の種類と、各種類の記録媒体に記録されたデータを取得するために必要な機能を示す媒体機能情報とを対応付ける機能情報テーブルを保持している保持部手段と、
    前記機能情報テーブルから、現在、当該装置に装着されている記録媒体の種類と対応する媒体機能情報を読み出す読出手段とを備え
    前記送信手段は、読み出された媒体機能情報を前記機能情報として送信する
    ことを特徴とする請求項13に記載の装置。
  15. 前記送信手段は、当該装置に入力されたデータの種類を前記機能情報として送信する
    ことを特徴とする請求項4に記載の装置。
  16. 前記装置は、ネットワークを介して1以上の外部の機器と通信可能であって、
    前記送信手段は、当該装置が通信しようとしている1つ以上の外部機器の保持しているデータを利用するために必要な機能を示す前記機能情報を送信する
    ことを特徴とする請求項4に記載の装置。
  17. 前記装置は、さらに、
    当該装置が通信する可能性のある1以上の外部機器と、それぞれの外部機器の保持するデータを利用するために必要な機能を示す複数の機器機能情報とを対応付ける機能情報テーブルを保持している保持手段と、
    前記機能情報テーブルから、当該装置が通信しようとしている1つ以上の外部機器と、それぞれ対応する1つ以上の機器機能情報を読み出す読出手段とを備え、
    前記送信手段は、読み出した1つ以上の機器機能情報を前記機能情報として送信する
    ことを特徴とする請求項16に記載の装置。
  18. 前記装置は、さらに、
    外部からデータを取得する取得手段と、
    前記固定回路及び現在再構成可能回路上に構築されている回路によって、前記データを取り扱う機能が、当該装置内に既に構築されているか否かを判定する判定手段と、
    構築されていないと判定された場合に限り、前記生成手段に前記生成を指示し、前記送信手段に前記装置情報及び前記データを取り扱う機能を示す前記機能情報の送信を指示する制御手段を備える
    を含むことを特徴とする請求項4に記載の装置。
  19. 前記受信手段は、
    前記設計データ生成装置から、上級言語により記述された前記設計データを受信し、
    前記構築手段は、
    前記設計データを機械語に変換して機械語データを生成する変換部と、
    前記機械語データに従って、前記再構成可能回路に前記部分回路を構築する構築部とを含む
    ことを特徴とする請求項4に記載の装置。
  20. 書き換え可能な回路を備える装置と、前記装置に設計データを提供する機能更新システムであって、
    前記装置は、
    内部の回路構成が書き換え可能な再構成可能回路と、
    少なくとも、前記再構成可能回路内の未構成領域を示す領域情報を含む、当該装置の構成に関する装置情報を生成する生成手段と、
    当該装置に構築すべき所望機能を示す機能情報及び生成した前記装置情報を設計データ生成装置へ送信する送信手段と、
    前記設計データ生成装置から、当該装置に前記所望機能を構築するため、必要な部分回路の構成を示す前記設計データを受信する受信手段と、
    前記再構成可能回路上の未構成領域を含む領域に、受信した前記設計データに基づいて前記部分回路を構築する構築手段とを備え、
    前記設計データ生成装置は、
    前記装置から、前記機能情報及び前記装置情報とを受信する受信手段と、
    前記機能情報及び前記装置情報を基に、前記部分回路の構成を示す前記設計データを生成する設計データ生成手段と、
    前記設計データを、前記装置へ送信する送信手段とを備える
    ことを特徴とする装置。
  21. 書き換え可能な回路を備える装置において用いられる機能更新方法であって、
    前記装置は、内部の回路構成が書き換え可能な再構成可能回路を備え、
    前記機能更新方法は、
    少なくとも、前記再構成可能回路内の未構成領域を示す領域情報を含む、前記装置の構成に関する装置情報を生成する生成ステップと、
    当該装置に構築すべき所望機能を示す機能情報及び生成した前記装置情報を設計データ生成装置へ送信する送信ステップと、
    前記設計データ生成装置から、当該装置に前記所望機能を構築するため、必要な部分回路の構成を示す設計データを受信する受信ステップと、
    前記再構成可能回路上の未構成領域を含む領域に、受信した前記設計データに基づいて前記部分回路を構築する構築ステップと
    を含むことを特徴とする機能更新方法。
  22. 書き換え可能な回路を備える装置において用いられる機能更新プログラムであって、
    前記装置は、内部の回路構成が書き換え可能な再構成可能回路を備え、
    前記機能更新プログラムは、
    少なくとも、前記再構成可能回路内の未構成領域を示す領域情報を含む、前記装置の構成に関する装置情報を生成する生成ステップと、
    当該装置に構築すべき所望機能を示す機能情報及び生成した前記装置情報を設計データ生成装置へ送信する送信ステップと、
    前記設計データ生成装置から、当該装置に前記所望機能を構築するため、必要な部分回路の構成を示す設計データを受信する受信ステップと、
    前記再構成可能回路上の未構成領域を含む領域に、受信した前記設計データに基づいて前記部分回路を構築する構築ステップと
    を含むことを特徴とする機能更新プログラム。
  23. 前記機能更新プログラムは、
    コンピュータにより読み取り可能な記録媒体に記録されている
    ことを特徴とする請求項22に記載の機能更新プログラム。
  24. 書き換え可能な回路を備える装置に搭載される集積回路であって、
    内部の回路構成が書き換え可能な再構成可能回路と、
    少なくとも、前記再構成可能回路内の未構成領域を示す領域情報を含む、当該装置の構成に関する装置情報を生成する生成手段と、
    当該装置に構築すべき所望機能を示す機能情報及び生成した前記装置情報を設計データ生成装置へ送信する送信手段と、
    前記設計データ生成装置から、当該装置に前記所望機能を構築するため、必要な部分回路の構成を示す設計データを受信する受信手段と、
    前記再構成可能回路上の未構成領域を含む領域に、受信した前記設計データに基づいて前記部分回路を構築する構築手段と
    を備えることを特徴とする集積回路。
JP2008521219A 2006-06-14 2007-06-12 書き換え可能な回路を備える装置、更新システム、更新方法、更新プログラム、及び集積回路 Withdrawn JPWO2007145220A1 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2006164292 2006-06-14
JP2006164292 2006-06-14
PCT/JP2007/061834 WO2007145220A1 (ja) 2006-06-14 2007-06-12 書き換え可能な回路を備える装置、更新システム、更新方法、更新プログラム、及び集積回路

Publications (1)

Publication Number Publication Date
JPWO2007145220A1 true JPWO2007145220A1 (ja) 2009-11-05

Family

ID=38831735

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008521219A Withdrawn JPWO2007145220A1 (ja) 2006-06-14 2007-06-12 書き換え可能な回路を備える装置、更新システム、更新方法、更新プログラム、及び集積回路

Country Status (3)

Country Link
US (1) US8074284B2 (ja)
JP (1) JPWO2007145220A1 (ja)
WO (1) WO2007145220A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2251031A1 (en) 2009-05-12 2010-11-17 Nestec S.A. Lactoferrin and neuronal health and development in the infant gut
EP2251030A1 (en) 2009-05-12 2010-11-17 Nestec S.A. Lactoferrin and brain health and development in infants
US8555059B2 (en) * 2010-04-16 2013-10-08 Microsoft Corporation Secure local update of content management software
JP2011246804A (ja) * 2010-04-30 2011-12-08 Nippon Steel Corp 電子ビーム溶接継手及び電子ビーム溶接用鋼材とその製造方法
CN105912501B (zh) * 2016-05-06 2018-11-06 东南大学—无锡集成电路技术研究所 一种基于大规模粗粒度可重构处理器的sm4-128加密算法实现方法及系统
JP2018165908A (ja) * 2017-03-28 2018-10-25 富士通株式会社 情報処理装置、情報処理方法及びプログラム
CN114237676B (zh) * 2021-12-28 2023-12-08 湖南云箭智能科技有限公司 一种fpga逻辑更新方法、装置、设备及可读存储介质

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07176137A (ja) 1993-12-16 1995-07-14 Hudson Soft Co Ltd Cd再生装置
JP3614199B2 (ja) 1995-02-01 2005-01-26 株式会社東芝 導光板
JP3783800B2 (ja) 1996-08-09 2006-06-07 富士通株式会社 プログラマブルな論理素子/装置を用いた暗号化/復号化装置および方法
JPH10132755A (ja) 1996-10-29 1998-05-22 Ibiden Co Ltd ハンダキャリアの半田パターンの不良箇所検出方法
US6101255A (en) 1997-04-30 2000-08-08 Motorola, Inc. Programmable cryptographic processing system and method
JP3489608B2 (ja) 1997-06-20 2004-01-26 富士ゼロックス株式会社 プログラマブル論理回路システムおよびプログラマブル論理回路装置の再構成方法
JP4250230B2 (ja) 1998-09-11 2009-04-08 キヤノン株式会社 画像処理装置
JP3664215B2 (ja) 1998-10-23 2005-06-22 富士ゼロックス株式会社 情報処理システム
JP2002300071A (ja) 2001-03-29 2002-10-11 Communication Research Laboratory ソフトウェアラジオ、その制御方法、サーバ、その制御方法、ならびに、情報記録媒体
JP4004052B2 (ja) * 2003-09-24 2007-11-07 株式会社東芝 論理回路装置、プログラマブル論理回路の動作方法
JP2005269187A (ja) 2004-03-18 2005-09-29 Nec Infrontia Corp 暗号処理通信システム
JP2006129324A (ja) 2004-11-01 2006-05-18 Canon Inc マルチメディアデータ形式及び再生装置

Also Published As

Publication number Publication date
US20100002871A1 (en) 2010-01-07
WO2007145220A1 (ja) 2007-12-21
US8074284B2 (en) 2011-12-06

Similar Documents

Publication Publication Date Title
US6904527B1 (en) Intellectual property protection in a programmable logic device
US8223972B2 (en) Method and device for speeding up key use in key management software with tree structure
US8022724B1 (en) Method and integrated circuit for secure reconfiguration of programmable logic
JP4801055B2 (ja) 情報セキュリティ装置
US7747025B1 (en) Method and apparatus for maintaining privacy of data decryption keys in configuration bitstream decryption
JP4828517B2 (ja) プログラム変換装置及びプログラム実行装置
CN104025500B (zh) 使用在物理上不可克隆的函数的安全密钥存储
CN101142563B (zh) 信息设置装置及方法、信息获取装置及方法
JPWO2007145220A1 (ja) 書き換え可能な回路を備える装置、更新システム、更新方法、更新プログラム、及び集積回路
US8452985B2 (en) Circuit building device
CN1848271B (zh) 信息处理装置和方法
US9152822B2 (en) Method and apparatus for securing programming data of a programmable device
CN102422301A (zh) 记录系统、再现系统、密钥分发服务器、记录装置、记录介质装置、再现装置、记录方法及再现方法
US7386126B2 (en) Content protection system, key data generation apparatus, and terminal apparatus
JPWO2006115212A1 (ja) アルゴリズム更新システム
CN100458740C (zh) 记录系统和方法、记录设备和方法、输入设备和方法、读出系统和方法、读出设备和方法
JP2010152804A (ja) データ記憶装置およびデータ記憶装置におけるデータ管理方法
US8189773B2 (en) Circuit updating system
CN1637851B (zh) 在加载的复合内容中选择性解密可用内容的音乐装置
Malipatlolla et al. A novel method for secure intellectual property deployment in embedded systems
JP2005006033A (ja) 鍵生成方法、鍵生成装置、コンテンツ配信装置、端末装置およびプログラム
CN1954542A (zh) 加密设备、密钥分发设备和密钥分发系统
KR20060021851A (ko) 저작권 보호시스템 및 거듭제곱 잉여연산장치 및 방법
JP4638176B2 (ja) 著作権保護システム、べき乗剰余演算装置、演算装置、鍵管理装置、再生装置、記録装置、記録媒体、べき乗剰余演算方法、演算方法、及びプログラム
JP2009075474A (ja) 暗号処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100217

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20120405