説明

資産管理装置及び資産管理方法

【課題】本発明は、次から次へと出現する不正なプログラムに対応可能にするために、資産管理プログラムの更新を容易にする資産管理方法を提供することである。
【解決手段】演算処理をするプロセッサと記憶装置とを備え、不正を検出する資産管理プログラムを実行する資産管理装置であって、前記資産管理プログラムは、当該資産管理装置及び他の機器に共通する共通資産管理部と、当該資産管理装置に固有の機器固有資産管理部とを含み、前記資産管理装置は、前記機器固有資産管理部及び機器固有部設定情報を取得して、前記資産管理プログラムの実行時に、前記機器固有部設定情報を参照し、前記機器固有資産管理部を前記資産管理プログラムに結合し、前記結合された資産管理プログラムを実行することを特徴とする資産管理装置。

【発明の詳細な説明】
【技術分野】
【0001】
資産管理の効率及び効果の向上に関する。
【背景技術】
【0002】
著作権侵害を防止するための仕組み及びウィルス等を検出する仕組みを広く資産管理又はソフトウェア管理という。
【0003】
このような資産管理をするために、不正を検出する資産管理プログラムが存在する。ここで不正とは、不正ソフトウェア(例えば、ウィルス等のソフトウェア及び不正コピーを可能にするソフトウェア)及び不正コピー等をいう。さらに、資産管理プログラムには、不正ソフトウェアを除去するものも存在する。
【0004】
不正を検出する資産管理プログラムを製造時に書き込んだ記憶媒体(DVD等)を販売・配布する方法が知られている(非特許文献1参照)。記憶媒体に格納されたコンテンツを再生する再生機器(DVDプレイヤー等)は、再生機器に搭載された仮想マシン(VM)によるインタプリタによって、資産管理プログラムを実行する。
【0005】
即ち、非特許文献1によると、再生機器が資産管理プログラムをインタプリタによって実行するので、多種多様な再生機器においても実行できる点に特徴がある。例えば、この方法は、機器上に再生機能をエミュレートしてコンテンツを再生するパーソナルコンピュータ(PC)及びカーナビゲーションシステム等に対しても、資産管理プログラムを実行できる。
【0006】
ここで、インタプリタとは、実行する機器の機械語とは別の言語(中間語)を設定し、実行すべき機器上で中間語を解釈実行する別のプログラムであり、高級言語で記述されたプログラムを変換された中間語プログラムを実行する。
【0007】
高級言語で記述されたプログラムを機器上でコンパイラによって実行する方法も知られている。コンパイラとは、高級言語で記述されたプログラムを、実行すべき機器の機械語プログラムに変換した上で、変換後の機械語プログラムを直接実行する。
【0008】
インタプリンタは、以下のコンパイラの欠点を解消することができる(特許文献3参照)。
【0009】
(コンパイラの欠点1)ソースプログラムを機械語プログラムに変換するコンパイラが機器ごとに必要であり、コンパイラの開発量が大きくなる。また、保守や拡張をそれぞれの機器に対応して行なう必要があり、保守・拡張のオーバヘッドが大きくなる。
【0010】
(コンパイラの欠点2)同一プログラムを複数機器で実行する場合、機器ごとにコンパイル(ソースプログラムから機械語プログラムへの変換)が必要であり、機械語プログラムの管理のオーバヘッドが大きい。
【0011】
(コンパイラの欠点3)複数機器がネットワークで接続されている環境において、同一の内容のプログラムであっても、各機器に対応して複数の機械語プログラムが必要であり、バージョン管理やディスクスペースに問題がある。また、同一プログラムを分散して実行することが困難である。
【0012】
(コンパイラの欠点4)実際に運用されているシステムのなかには、ソースプログラムがなく、機械語プログラムのみで運用されている場合がある。このようなシステムでは、構成機器の移行・変更が困難である。また、ハードウェア技術の進歩によって計算機アーキテクチャが高度化しているが、機械語プログラム財産の継承のため、アーキテクチャの変更に強い制限が課せられてしまう。
【0013】
しかし、資産管理プログラムは、多種多様な機器に対応しなければならない。従って、コンパイラよりもインタプリタが、資産管理プログラムに適する。
【0014】
特許文献1には、ソフトウェアのライセンスを管理するための資産管理方法が記載されている。しかし、この方法は、ネットワークに接続された機器にしか実行できない。
【0015】
また、違法コピー等の不正を検出する資産管理プログラムを、コンテンツと共に記憶媒体(CD、DVD等)に書き込む方法が知られている(非特許文献1参照)。この方法は、特許文献1に記載の方法とは異なり、小型で形態性に優れた機器及びネットワークに接続されていない機器に対しても、確実に資産管理プログラムを実行できる。しかしながら、この方法は、資産管理プログラムを記憶媒体に書き込むため、書き込み後に出現した最新の不正なプログラムを検出することは困難である。また、近年、動画及び音声等のコンテンツは、専用機器のみならず、再生機能をエミュレートして再生可能な機器(カーナビゲーションシステム及びパーソナルコンピュータ等)によっても再生できる。資産管理プログラムは、これらの機器にも対応しなければならない。従って、資産管理プログラムは、各機器に特有のプログラムを含まなければならないので、資産管理プログラムのデータ量は増大してしまう。
【0016】
従って、非特許文献1に記載された方法では、資産管理プログラムのデータ量が増大することによって、記憶媒体のデータ量は一定であるため、コンテンツの書き込み領域を減少させてしまう問題点、及び資産管理プログラムの書き込み後に販売された機器に資産管理プログラムが対応できない問題点がある。
【0017】
特許文献2には、移動可能なクライアント端末又はネットワークに接続されていないクライアント端末の資産管理を可能にする資産管理方法が記載されている。
【0018】
しかし、非特許文献1及び特許文献2に記載された方法では、再生可能な再生機器の種類の増大に伴う資産管理プログラムのデータ量の増大してしまい、資産管理プログラムの実行時のオーバーヘッドが増大する問題点及び資産管理プログラムを再生機器に配信する際又は資産管理プログラムの更新時に時間がかかる問題点がある。
【特許文献1】特開2001−222424号公報
【特許文献2】特開2004−178121号公報
【特許文献3】特開平10−254712号公報
【非特許文献1】「What’s New−攻勢をかけるBlu−ray Disk 著作権保護技術を追加−既存のAACSとは独立に動作」(日経エレクトロニクス、2005/09/12号、40〜41ページ掲載、日経BP社)
【発明の開示】
【発明が解決しようとする課題】
【0019】
本発明の目的は、次から次へと出現する不正プログラムに対応するために、資産管理プログラムの更新を容易にする資産管理方法を提供することである。また、本発明の他の目的はコンテンツを再生可能な機器の増加及び不正なプログラムの種類数の増加によって、資産管理プログラムのデータ量を増大させずに、各再生可能な機器にとって最小限の実行量で資産管理を可能にする資産管理方法を提供することである。
【課題を解決するための手段】
【0020】
演算処理をするプロセッサと記憶装置とを備え、不正を検出する資産管理プログラムを実行する資産管理装置であって、前記資産管理プログラムは、当該資産管理装置及び他の機器に共通する共通資産管理部と、当該資産管理装置に固有の機器固有資産管理部とを含み、前記資産管理装置は、前記機器固有資産管理部及び機器固有部設定情報を取得して、前記資産管理プログラムの実行時に、前記機器固有部設定情報を参照し、前記機器固有資産管理部を前記資産管理プログラムに結合し、前記結合された資産管理プログラムを実行することを特徴とする。
【発明の効果】
【0021】
資産管理プログラムの更新を容易にする資産管理方法を提供することができる。
【発明を実施するための最良の形態】
【0022】
以下に、本発明の実施形態について図面を参照しながら説明する。
【0023】
図1は、本発明の実施の形態の計算機システムの構成を示すシステム構成図である。
【0024】
本計算機システムは、デジタル機器401、コンテンツサーバ404及び機器提供サーバ405を備える。
【0025】
デジタル機器401は、図2に示す資産管理装置1の一例であって、コンテンツを再生可能である。具体的には、デジタル機器401は、携帯電話、パーソナルコンピュータ(PC)、DVDプレーヤ等である。デジタル機器401は、再生するコンテンツを記憶媒体406(CD、DVD又はメモリカード)又はコンテンツサーバ404から取得する。
【0026】
コンテンツサーバ404は、コンテンツを提供するサーバであり、プロセッサと記憶領域を備える計算機である。
【0027】
機器提供サーバ405は、デジタル機器401固有の情報を備えるサーバであり、プロセッサと記憶領域を備える計算機である。
【0028】
デジタル機器401、コンテンツサーバ404及び機器提供サーバ405は、ネットワーク407を介して接続される。
【0029】
図2は、本発明の実施の形態の資産管理装置1の一例を示すブロック図である。資産管理装置1は、図1に示すデジタル機器401を含む。
【0030】
資産管理装置1は、プログラム実行装置11、記憶装置13、ワークメモリ14、入力部31、表示部32及びネットワークインタフェース33を備える。プログラム実行装置11、記憶装置13、ワークメモリ14、入力部31、表示部32及びネットワークインタフェース33はバスブリッジ・インタフェースコントローラ30によって接続される。
【0031】
ネットワークインタフェース33は、資産管理装置1に接続された装置と、ネットワークを介して通信するインタフェースである。
【0032】
入力部31は、入力制御部310、キーボード311、マウス312及び外部用インタフェース313を備える。入力制御部310は、キーボード311、マウス312及び外部用インタフェース313を制御する。外部用インタフェース313は、外部の記憶媒体等と接続するインタフェースである。例えば、外部用インタフェース313としては、USB(Universal Serial Bus)及びメモリカードスロット等がある。
【0033】
表示部32は、表示制御部320、表示装置321及びフレームメモリ322を備える。フレームメモリ322は、表示装置321に表示される画像を記憶する記憶領域である。表示制御部320は、表示装置321及びフレームメモリ322を制御する。
【0034】
記憶装置13は、資産管理プログラム12、機器固有部設定プログラム15、機器固有部設定テーブル17及び機器識別子格納領域19を含む。
【0035】
資産管理プログラム12は、資産管理装置1の不正を検出するプログラムである。ここで、不正とは、不正ソフトウェア(例えばウィルス等のソフトウェア及び不正コピーを可能にするソフトウェア)及び不正コピー等をいう。
【0036】
資産管理プログラム12は、資産管理共通部120及び機器固有資産管理モジュール16を含む。資産管理共通部120は、当該資産管理装置1及び他の機器に共通する処理を実行するプログラムである。例えば、当該資産管理装置1及び他の機器に共通する処理は、当該資産管理装置1及び他の機器に共通する不正を検出する処理である。
【0037】
一方、機器固有資産管理モジュール16は、プログラム実行装置11は、当該資産管理装置1及び他の機器に固有の処理を実行するモジュールである。例えば、当該資産管理装置1及び他の機器に固有の処理は、当該資産管理装置1及び他の機器に固有の不正を検出する処理である。なお、機器固有資産管理モジュール16は、単独で実行可能なプログラムであっても、プログラムの断片的な部分であって単独で実行不可能なモジュールであってもよい。
【0038】
ワークメモリ14は、プログラム実行装置11がプログラムを実行する際に、記憶装置13に格納された各プログラムが格納される。また、ワークメモリ14は、一般的にはDRAM等のアクセス速度の速い記憶媒体であるが、アクセス速度が遅いディスク装置、メモリカード及び磁気テープでもよい。
【0039】
機器固有部設定プログラム15は、後述する結合処理を実行するプログラムである。
【0040】
機器固有部設定テーブル17は、結合処理の内容を示すテーブルである。機器固有部設定テーブル17は、プログラム実行装置11のインタプリタが命令コードを解釈して実行する際に参照される。
【0041】
機器識別子格納領域19には、機器を一意に識別する一意な識別子である機器識別子が格納される。
【0042】
プログラム実行装置11は、種々のプログラムを実行する装置である。プログラム実行装置11は、図示せぬプロセッサと記憶装置とを備える。また、プログラム実行装置11は、OS(Operating System)とインタプリタとを含む。なお、OS及びインタプリンタはプログラム実行時に記憶装置13からプログラム実行装置11に提供されるようにしてもよい。
【0043】
プログラム実行装置11は、判定結果記憶領域18を含む。判定結果記憶領域18は、機器固有資産管理モジュール16の実行結果と資産管理共通部120の実行結果とを保持する。なお、判定結果記憶領域18に保持される実行結果は、プログラム実行装置11によって参照可能である。
【0044】
なお、図2は汎用パーソナルコンピュータとして図示したが、再生専用装置等であってもよい。
【0045】
図3は、本発明の実施の形態の機器固有部設定テーブル17のテーブルの構成の一例を示す図である。
【0046】
機器固有部設定テーブル17は、資産管理装置1の記憶装置13に格納される。
【0047】
機器固有部設定テーブル17は、設定番号171、設定対象プログラム172、プログラム内位置173、設定処理174及び対象機器名称175を含む。
【0048】
設定番号171は、結合処理を識別する一意な識別子である。設定対象プログラム172は、結合処理を実行する対象のプログラムを特定する。プログラム内位置173は、設定処理174を結合する設定対象プログラム172内の位置を特定する。設定処理174は、結合される具体的な処理の内容を示す。対象機器名称175は、結合処理が実行される対象の機器の名称を示す。
【0049】
プログラム実行装置11がプログラムの命令コードを解釈して実行する前に、プログラム実行装置11は、機器固有部設定テーブル17を参照して、機器固有部設定プログラム15を実行する。具体的には、プログラム実行装置11は、実行される命令コードのプログラムが機器固有部設定テーブル17の設定対象プログラム172と一致し、かつ実行される命令コードのプログラム内位置と機器固有部設定テーブル17のプログラム内位置173とが一致するか否かを判定する。
【0050】
実行される命令コードのプログラムが機器固有部設定テーブル17の設定対象プログラム172と一致し、かつ実行される命令コードのプログラム内位置と機器固有部設定テーブル17のプログラム内位置173とが一致する場合には、プログラム実行装置11は、機器固有部設定テーブル17の設定処理174を参照して、当該命令コードを設定処理174の内容に置き換える結合処理を実行する。
【0051】
実行される命令コードのプログラムが機器固有部設定テーブル17の設定対象プログラム172と一致しない場合又は実行される命令コードのプログラム内位置と機器固有部設定テーブル173と一致しない場合には、プログラム実行装置11は、結合処理を実行せず、当該命令コードをそのまま実行する。
【0052】
図3に示す機器固有部設定テーブル17は、設定番号171が「1」の行1710と設定番号171が「2」の行1711に結合処理が設定されている。
【0053】
行1710には、設定対象プログラム172は「資産管理プログラム」、プログラム内位置173は「0001番地」、設定処理174は「命令コード1’(機器固有資産管理モジュールへの分岐命令)」及び対象機器名称175は「ABC−1」が設定されている。
【0054】
従って、プログラム実行装置11は、機器固有部設定プログラム15によって、資産管理プログラム12の番地0001の命令コード1を命令コード1’に置き換えるという結合処理を実行する。これによって、資産管理プログラム12の先頭番地で、機器固有資産管理モジュール16へ分岐するようになる。
【0055】
一方、行1711には、設定対象プログラム172は「すべて」、プログラム内位置173は「outFunction関数群の呼出箇所すべて」、設定処理174は「命令コードZ(NOP命令等)」及び対象機器名称175は「ABC−1」が設定されている。
【0056】
従って、プログラム実行装置11は、機器固有部設定プログラム15によって、プログラム実行装置11のインタプリタで実行されるすべてのプログラムに対して、outFunction関数群が呼び出される命令コードを命令コードZ(NOP)に置き換えるという結合処理を実行する。これによって、outFunctionが実行されなくなる。
【0057】
図4は、プログラム実行装置11が機器固有部設定テーブル17を参照して結合処理を実行する前の資産管理プログラム12のプログラム構成の一例を示す図である。
【0058】
資産管理プログラム12は、命令コード1から6の命令コードによって構成される。番地40は、資産管理プログラム12内の位置を識別する一意な識別子である。命令コード41は、命令内容42を識別する一意な識別子である。命令内容42は、命令コード41の内容である。
【0059】
ラベル(LABEL001、LABEL002)は、プログラム内の位置を特定し、分岐先の指定に用いられる。
【0060】
番地0001には、命令コード1が位置する。命令コード1の内容は「終了」であって、プログラム実行装置11は資産管理プログラム12を終了する。このため、この資産管理プログラム12は、そのままの状態では以下のステップは実行されない。
【0061】
番地0002には、命令コード2が位置する。命令コード2の内容は「資産管理共通部への分岐命令」であって、プログラム実行装置11は、図7に示す資産管理共通部120の処理を開始する。
【0062】
番地0003には、命令コード3が位置する。命令コード3の内容は、「判定結果参照」であって、プログラム実行装置11は、資産管理共通部120の判定結果及び機器固有資産管理モジュール16の判定結果を保持する判定結果記憶領域18の判定結果を参照する。
【0063】
番地0004には、命令コード4が位置する。命令コード4の命令内容は「条件分岐:真の場合にLABEL002に分岐」であって、プログラム実行装置11は、命令コード3で参照した判定結果が「真」である場合は、LABEL002の命令コード6を実行してコンテンツを再生する。一方、命令コード3で参照した判定結果が「偽」の場合は、番地0005の命令コード5を実行して、この処理を終了する。
【0064】
番地0005には、命令コード5が位置する。命令コード5の命令内容は「終了」であって、プログラム実行装置11は資産管理プログラム12による処理を終了する。
【0065】
番地0006には、命令コード6が位置する。命令コード6の命令内容は「コンテンツ再生処理開始」であって、プログラム実行装置11は、コンテンツの再生を開始する。
【0066】
図5は、プログラム実行装置11が機器固有部設定テーブル17を参照して結合処理を実行した後の資産管理プログラム12のプログラム構成の一例を示す図である。
【0067】
プログラム実行装置11は、各命令コードを読み出した後、解釈して実行する前に、機器固有部設定プログラム15を実行する。プログラム実行装置11は、機器固有部設定プログラム15を実行することによって、各命令コードが行1710のプログラム内位置173に等しいか否かを判定する。その結果、命令コードと行1710のプログラム内位置173とが等しい場合には、当該命令コードを設定処理174に置き換える結合処理を実行する。一方、命令コードと行1710のプログラム内位置173とが等しくない場合には、機器固有部設定プログラム15は、結合処理を実行しない。即ち、プログラム実行装置11は、当該命令コードをそのまま実行する。
【0068】
機器固有部設定テーブル17の設定番号171が「1」の行1710は、設定対象プログラム172は「資産管理プログラム」、プログラム内位置173は「0001番地」及び設定処理174は「命令コード1’(機器固有資産管理モジュールへの分岐命令)」と設定される。従って、機器固有部設定プログラム15は、図4に示す資産管理プログラム12の0001番地の命令コード1を命令コード1’に置き換える結合処理を実行する。
【0069】
以下、プログラム実行装置11により結合処理が実行された後の資産管理プログラム12が実行されるステップについて説明する。
【0070】
プログラム実行装置11は、番地0001の命令コード1を読み出す。プログラム実行装置11は、命令コード1を解釈して実行する前に、機器固有部設定プログラム15を実行する。プログラム実行装置11は、命令コード1を含むプログラムが行1710の設定対象プログラム172に等しいか否か及び命令コード1のプログラム内位置が行1710のプログラム内位置173に等しいか否かを判定する。命令コード1のプログラムとプログラム内位置は、それぞれ設定対象プログラム172とプログラム内位置173に等しい。従って、プログラム実行装置11は、機器固有部設定プログラム15によって番地0001の命令コード1は機命令コード1’に置き換える結合処理を実行する。従って、番地0001には、命令コード1’が位置する。命令コード1’の命令内容は「機器固有資産管理モジュールへの分岐命令」であって、プログラム実行装置11に図6に示す機器固有資産管理モジュール16の処理を開始させる命令である。
【0071】
プログラム実行装置11は命令コード2から命令コード6を実行する前に、命令コード1を実行する場合と同様に、機器固有部設定プログラム15を実行して、判定をする。しかし、命令コード2から命令コード6のプログラム内位置はプログラム内位置173と等しくないので、プログラム実行装置は、結合処理をしない。従って、プログラム実行装置11は、命令コード2から命令コード6を実行する。命令コード2から命令コード6の内容は、図4を参照して説明したものと同様である。
【0072】
図6は、機器固有資産管理モジュール16のフローチャートである。
【0073】
プログラム実行装置11は、図5に示す結合処理後の資産管理プログラム12の命令コード1’によって機器固有資産管理モジュール16を実行する。
【0074】
まず、機器固有資産管理モジュール16が不正に導入されたものか否かを判定するために、プログラム実行装置11は、機器固有部設定テーブル17の設定番号「1」の行1710の対象機器名称175に対象機器名称が記載されているか否かを判定する(ステップ701)。機器固有部設定テーブル17の設定番号「1」の行1710の対象機器名称175に記載が有る場合には、プログラム実行装置11は、機器固有資産管理モジュール16は正当に導入されたものと判定して、ステップ702に進む。一方、機器固有部設定テーブル17の設定番号「1」の行1710の対象機器名称175に記載が無い場合には、プログラム実行装置11は、機器固有資産管理モジュール16が不正に導入されたものと判定して、ステップ711に進む。
【0075】
ステップ701で対象機器名称175に記載が無く、機器固有資産管理モジュール16が不正に導入されたものと判定された場合には、プログラム実行装置11は、判定結果記憶領域18に不正(偽)を設定し(ステップ711)、機器固有資産管理モジュール16による処理を終了して、資産管理プログラム12の処理に戻る(ステップ712)。
【0076】
ステップ701で対象機器名称175に記載が有り、機器固有資産管理モジュール16が正当に導入されたものと判定された場合には、プログラム実行装置11は、機器識別子格納領域19に格納される機器識別子と対象機器名称175の機器名称を参照する(ステップ702)。
【0077】
次に、コンテンツの著作権を保護するために、プログラム実行装置11は、機器識別子が対象機器名称175の機器名称を表すものか否かを判定する(ステップ703)。
【0078】
機器識別子が対象機器名称175の機器名称を表すものでない場合には、プログラム実行装置11は、判定結果記憶領域18に不正(偽)を設定し(ステップ707)、機器固有資産管理モジュール16による処理を終了して、資産管理プログラム12の処理に戻る(ステップ710)。
【0079】
資産管理プログラム12において、プログラム実行装置11が命令コード6のコンテンツ再生開始処理を実行するには、判定結果記憶領域18に不正(偽)が設定されていないことが条件である。機器識別子が対象機器名称175の機器名称を表すものでない場合には、ステップ707にて判定結果記憶領域18に不正(偽)と設定されるので、プログラム実行装置11は、コンテンツを再生することがない。従って、コンテンツは、機器識別子が対象機器名称175の機器名称を表す機器以外では再生できないため、コンテンツの著作権は保護される。
【0080】
機器識別子が対象機器名称175の機器名称を表す場合には、プログラム実行装置11は当該機器特有の不正を検出する(ステップ704)。プログラム実行装置11が不正を検出しない場合には、プログラム実行装置11は、判定結果記憶領域18に正(真)を設定する。一方、プログラム実行装置11が不正を検出した場合には、プログラム実行装置11は、判定結果記憶領域18に不正(偽)を設定する。
【0081】
次に、プログラム実行装置11は、最新の不正を検出する(ステップ705)。なお、最新の不正とは、当該機器固有資産管理モジュール16より前のバージョンの機器固有資産管理モジュール16では、対応していない不正のことをいう。プログラム実行装置11が不正を検出しない場合には、プログラム実行装置11は、判定結果記憶領域18に正(真)を設定する。一方、プログラム実行装置11が不正を検出した場合には、プログラム実行装置11は、判定結果記憶領域18に不正(偽)を設定する。
【0082】
次に、プログラム実行装置11は、判定結果記憶領域18を参照して、機器特有の不正の検出結果が正であって、かつ最新の不正の検出結果が正であるかを判定する(ステップ706)。
【0083】
機器特有の不正の検出結果が正であって、かつ最新の不正の検出結果が正である場合には、プログラム実行装置11は判定結果記憶領域18に正(真)を設定し(ステップ708)、機器固有資産管理モジュール16による処理を終了して、資産管理プログラム12の処理に戻る(ステップ710)。
【0084】
機器特有の不正の検出結果が正でない、又は最新の不正の検出結果が正でない場合には、プログラム実行装置11は、判定結果記憶領域18に不正(偽)を設定し(ステップ709)、機器固有資産管理モジュール16による処理を終了して、資産管理プログラム12の処理に戻る(ステップ710)。
【0085】
資産管理プログラム12に戻った後は、プログラム実行装置11は、命令コード2を読み出す。
【0086】
図7は、資産管理共通部120のフローチャートである。
【0087】
プログラム実行装置11は、資産管理プログラム12の命令コード2によって資産管理共通部120を実行する。
【0088】
まず、プログラム実行装置11は、資産管理共通部120によって機器に共通する不正を検出する(ステップ801)。プログラム実行装置11が不正を検出しない場合には、プログラム実行装置11は判定結果記憶領域18に正(真)を設定する。一方、プログラム実行装置11が不正を検出した場合には、プログラム実行装置11は、判定結果記憶領域18に不正(偽)を設定する。
【0089】
次に、資産管理共通部120は、従来から知られている不正を検出する処理を実行する(ステップ802)。従来から知られている不正とは、資産管理共通部120が配布又は配信された時に存在する不正である。プログラム実行装置11が従来から知られている不正を検出しない場合には、プログラム実行装置11は判定結果記憶領域18に正(真)を設定する。一方、プログラム実行装置11は不正を検出した場合には、プログラム実行装置11は、判定結果記憶領域18に不正(偽)を設定する。
【0090】
次に、プログラム実行装置11は、資産管理共通部120によって判定結果記憶領域18を参照して、機器に共通する不正(ステップ801)の検出結果が正であって、かつ従来から知られている不正(ステップ802)の検出結果が正であるかを判定する(ステップ803)。
【0091】
機器に共通する不正の検出結果が正であって、かつ従来から知られている不正の検出結果が正である場合には、プログラム実行装置11は判定結果記憶領域18を正(真)に設定し(ステップ804)、資産管理共通部120による処理を終了して、資産管理プログラム12の処理に戻る(ステップ806)。
【0092】
機器に共通する不正の検出結果が正でなく、又は従来から知られている不正の検出結果が正でない場合には、プログラム実行装置11は判定結果記憶領域18を不正(偽)に設定し(ステップ805)、資産管理共通部120による処理を終了して、資産管理プログラム12の処理に戻る(ステップ806)。
【0093】
資産管理プログラム12の処理に戻った後は、プログラム実行装置11は命令コード3を読み出す。
【0094】
図8は、データコピープログラムのプログラム構成の一例を示す図である。
【0095】
プログラム実行装置11は、機器固有部設定テーブル17の行1711の設定に従って、プログラム実行装置11のインタプリタで実行されるすべてのプログラムに対して、outFunction関数群を呼び出す命令コードを命令コードZに置き換える結合処理を実行する。
【0096】
図8に示すデータコピープログラムは、記憶装置13に格納される。データコピープログラムは、データをコピーするプログラムである。例えば、データコピープログラムは、コンテンツの入手時にコンテンツを格納した可搬型記憶装置(メモリカード等)から、コンテンツを記憶装置13に格納するプログラムである。
【0097】
プログラム実行装置11は、命令コード1を読み出す。プログラム実行装置11は、命令コード1を解釈して実行する前に、機器固有部設定プログラム15を実行する。プログラム実行装置11は、命令コード1が行1711のプログラム内位置173「outFunction関数群の呼出箇所」に等しいか否かを判定する。命令コード1は行1711のプログラム内位置173「outFunction関数群の呼出箇所」でないので、プログラム実行装置11は結合処理を実行しない。従って、プログラム実行装置11は命令コード1を実行する。
【0098】
次に、プログラム実行装置11は、命令コード2を読み出す。プログラム実行装置11は、命令コード2が行1711のプログラム内位置173「outFunction関数群の呼出箇所」に等しいか否かを判定する。命令コード2は行1711のプログラム内位置173「outFunction関数群の呼出箇所」ではないので、プログラム実行装置11は、命令コード2を実行する。
【0099】
プログラム実行装置11は、命令コード2を実行すると、次にプログラム実行装置11は、命令コード3を読み出す。プログラム実行装置11は、命令コード1を解釈して実行する前に、機器固有部設定プログラム15を実行する。プログラム実行装置11は、命令コード3が行1711のプログラム内位置173「outFunction関数群の呼出箇所」に等しいか否かを判定する。命令コード3は行1711のプログラム内位置173「outFunction関数群の呼出箇所」であるので、プログラム実行装置11は命令コード3を命令コードZに置き換える結合処理を実行する。従って、プログラム実行装置11は、命令コードZを解釈して実行する。
【0100】
即ち、プログラム実行装置11は、各命令コードを読み出した後、各命令コードが行1711のプログラム内位置173「outFunction関数群の呼出箇所」に等しいか否かを判定する。命令コードと行1711のプログラム内位置173とが等しい場合には、当該命令コードを命令コードZに置き換える結合処理を実行する。一方、命令コードと行1711のプログラム内位置173とが等しくない場合には、当該命令コードをそのまま実行する。
【0101】
従って、「outFunction関数群の呼出」命令は、命令コードZの内容によって、自由に変更可能である。例えば、命令コードZを、なにも実行しないという命令である「NOP命令」にすると、プログラム実行装置11がコンテンツを外部記憶装置11に格納することができなくなる。
【0102】
次に、例えば、命令コードZを「コンテンツ分割保存」に設定した場合について説明する。「コンテンツ分割保存」とは、プログラム実行装置11がコンテンツを記憶装置13の領域の異なる2箇所に仕分けながら保存することをいう。具体的には、プログラム実行装置11がコンテンツを1バイトずつ小刻みに分割して、元のコンテンツの先頭からの位置が偶数番地のコンテンツ細片と奇数番地のコンテンツ細片とを仕分けて、記憶装置13の別の場所に保存する。従って、コンテンツが分割されて、2つのコンテンツファイルとして記憶装置13に保存される。
【0103】
プログラム実行装置11は、分割したコンテンツを元に戻す複合化プログラムがなければ、コンテンツを再生することができない。従って、プログラム実行装置11は、コンテンツを記憶装置13に保存することができるが、コンテンツを再生することができない。
【0104】
この方法は、コンテンツを再生する権利と録画する権利を別に売る場合に、有効である。即ち、当該事業者は録画する権利の購入者にのみ複合化プログラムを配信することによって、保存したコンテンツは、複合化プログラムがなければ、再生することができなくなる。
【0105】
以下に図1を用いて、デジタル機器401の機器固有資産管理モジュール16の取得方法を説明する。
【0106】
まず、コンテンツサーバ404によってコンテンツがデジタル機器401に配信される場合について説明する。
【0107】
デジタル機器401は、ネットワークを介してコンテンツサーバ404にコンテンツ及び機器固有資産管理部16の配信要求402を送信する。デジタル機器401は、配信要求402をコンテンツサーバ404に送信する際、デジタル機器401を特定する機器識別子もコンテンツサーバ404に送信する。
【0108】
コンテンツサーバ404は、配信要求402と機器識別子とを受信すると、機器識別子によって当該機器を特定する。コンテンツサーバ404が機器識別子によって当該機器を特定できない場合には、コンテンツサーバ404は、機器提供サーバ405にネットワークを介して機器識別子を送信する。機器提供サーバ405は、機器識別子を受信すると、機器識別子によって当該機器を特定して、該当する当該機器をコンテンツサーバ404に送信する。
【0109】
コンテンツサーバ404が当該機器を特定すると、当該機器に対応した機器固有資産管理モジュール16と機器固有部設定テーブル17を準備する。なお、機器固有部設定テーブル17は、対象機器名称175及び当該機器固有資産管理モジュール16をどのプログラムのどの位置に設定するか等の情報が設定される。
【0110】
従って、コンテンツサーバ404は、コンテンツ、資産管理プログラム12、資産共通部120、機器固有資産管理モジュール16及び機器固有部設定テーブル17を応答403として、デジタル機器401に送信する。
【0111】
なお、応答403を受信したデジタル機器401は、コンテンツ等をUSBメモリ等の記憶媒体406に保存することができる。しかしながら、他のデジタル機器401で再生できない。なぜなら、機器固有資産管理モジュール16及び機器固有部設定テーブル17が配信要求402を送信したデジタル機器401に固有だからである。具体的には、機器固有部設定テーブル17の対象機器名称175と他のデジタル機器401の名称が一致しないので、他のデジタル機器401は、資産管理プログラム12に機器固有資産管理モジュール17を結合することができない。結合処理が実行されない資産管理プログラム12の命令コード1は「終了」なので、他のデジタル機器401は、コンテンツを再生することなく資産管理プログラム12による処理を終了するからである。これによって、コンテンツの著作権を保護することができる。
【0112】
従って、応答403を受信したデジタル機器401が他のデジタル機器401にコンテンツをコピーした場合には、他のデジタル機器401はコンテンツを再生できない。
【0113】
コピー先のデジタル機器401は、コンテンツを再生可能にするために、コンテンツサーバ404に機器固有部資産管理部16の配信要求402と機器識別子とを送信する。配信要求402と機器識別子とを受信したコンテンツサーバ404は、機器識別子によって、コピー先のデジタル機器401を特定して、機器固有資産管理モジュール16と機器固有部設定テーブル17を当該デジタル機器401に送信するのみでよい。また、コピー先のデジタル機器401は、機器固有資産管理モジュール16と機器固有部設定テーブル17を受信すると、資産管理プログラム12を実行時に、機器固有部設定テーブル17を参照し、機器固有部資産管理モジュール16と資産管理プログラム12を結合し、結合した資産管理プログラム12を実行する。
【0114】
コピー先のデジタル機器401は、結合処理実行後の資産管理プログラム12を実行することによって、コンテンツを再生できるようになる。
【0115】
また、新たな不正なプログラムの出現によって、コンテンツ提供者が機器固有資産管理モジュール16の最新の不正を検出する処理(ステップ705)を更新する場合には、コンテンツサーバ404は、ネットワークを介して更新された機器固有資産管理モジュール16と機器固有部設定テーブル17をデジタル機器401に送信するだけでよく、更新されない資産管理共通部を送信する必要はない。
【0116】
なお、更新された機器固有資産管理モジュール16と機器固有部設定テーブル17とを記憶媒体(CD、DVD又はメモリカード等)に保存し、配布してもよい。
【0117】
次に、デジタル機器401が、コンテンツと、資産管理共通部120とを記憶媒体(CD、DVD又はメモリカード等)406から取得する場合について説明する。
【0118】
デジタル機器401は、コンテンツと、資産管理共通部120と、資産管理プログラム12とを、記憶媒体406から取得すると、機器固有資産管理モジュール16の配信要求402と機器識別子格納領域19に格納される機器識別子とを、コンテンツサーバ404に送信する。
【0119】
コンテンツサーバ404は、配信要求402と機器識別子とを受信すると、機器識別子によってデジタル機器401の機種を特定する。コンテンツサーバ404が機器識別子によってデジタル機器401の機種を識別できない場合には、コンテンツサーバ404は、機器提供サーバ405にネットワークを介して機器識別子を送信する。機器提供サーバ405は、機器識別子を受信すると、機器識別子によってデジタル機器401の機種を識別して、デジタル機器401の機種の情報をコンテンツサーバ404に送信する。
【0120】
コンテンツサーバ404が機種を特定すると、デジタル機器401の機種に対応する機器固有資産管理モジュール16と機器固有部設定テーブル17とを応答403として、デジタル機器401に送信する。
【0121】
デジタル機器401は機器固有資産管理モジュール16と機器固有部設定テーブル17を記憶装置13に格納する。
【0122】
このようにすることで、記憶媒体406には、コンテンツと、資産管理共通部120とを格納するだけでよく、機器固有資産管理モジュール16及び機器固有部設定テーブル17を格納する必要はない。従って、記憶媒体406に格納するコンテンツ以外のプログラム等のデータ量を少なくすることができるので、より多くコンテンツを記憶媒体406に格納することができる。
【0123】
なお、最初にコンテンツを記憶媒体406から取得したデジタル機器401は、コンテンツ等をUSBメモリ等の記憶媒体406に保存することができる。しかしながら、他のデジタル機器401で再生できない。なぜなら、機器固有資産管理モジュール16と機器固有部設定テーブル17が配信要求402を送信したデジタル機器401に依存するものであるからである。これによって、コンテンツの著作権を保護することができる。
【0124】
最初にコンテンツを取得したデジタル機器401からコンテンツをコピーされたデジタル機器401は、記憶媒体406から取得したデジタル機器401以外においても再生可能にするために、コンテンツサーバ404に配信要求402と機器識別子とを送信する。配信要求402と機器識別子とを受信したコンテンツサーバ404は、機器識別子によって、当該デジタル機器401の機器を特定して、機器固有資産管理モジュール16と機器固有部設定テーブル17を当該デジタル機器401に送信するのみでよい。また、コピー先のデジタル機器401は、機器固有資産管理モジュール16と機器固有部設定テーブル17を受信すると、資産管理プログラム12を実行時に、機器固有部設定テーブル17を参照し、機器固有部資産管理モジュール16と資産管理プログラム12を結合し、結合した資産管理プログラムを実行する。
【0125】
コピー先のデジタル機器401は、プログラム実行装置11によって結合処理が実行された後の資産管理プログラム12を実行することによって、コンテンツを再生できるようになる。
【0126】
また、新たな不正なプログラムの出現によって、コンテンツ提供者が機器固有資産管理モジュール16の最新の不正を検出する処理(ステップ705)を更新する場合には、コンテンツサーバ404は、ネットワークを介して更新された機器固有資産管理モジュール16と機器固有部設定テーブル17をデジタル機器401に送信するだけでよく、更新されない資産管理共通部120及び資産管理プログラム12を送信する必要はない。
【0127】
なお、更新された機器固有資産管理モジュール16と機器固有部設定テーブル17とを記憶媒体(CD、DVD又はメモリカード等)に保存し、配布してもよい。
【0128】
なお、記憶媒体406にはコンテンツのみ格納して、資産共通部120と機器固有資産管理モジュール16とを含む資産管理プログラム12、及び機器固有部設定テーブル17は、コンテンツサーバ404から送信するようにしてもよい。
【産業上の利用可能性】
【0129】
本発明は、ソフトウェアを搭載したデジタル機器等に対して、資産管理の効率と効果の向上を目的に、利用可能である。
【図面の簡単な説明】
【0130】
【図1】本発明の実施形態の計算機システムのシステム構成図である。
【図2】本発明の実施形態の資産管理装置のブロック図である。
【図3】本発明の実施形態の機器固有部設定テーブルの構成図である。
【図4】本発明の実施形態の結合処理が実行される前の資産管理プログラムのプログラム構成を示す図である。
【図5】本発明の実施形態の結合処理が実行された後の資産管理プログラムのプログラム構成を示す図である。
【図6】本発明の実施形態の機器固有資産管理モジュールのフローチャートである。
【図7】本発明の実施形態の資産管理共通部のフローチャートである。
【図8】本発明の実施形態のデータコピープログラムのプログラム構成を示す図である。
【符号の説明】
【0131】
1:資産管理装置
11:プログラム実行装置
12:資産管理プログラム
13:記憶装置
14:ワークメモリ
15:機器固有部設定プログラム
16:機器固有資産管理モジュール
17:機器固有部設定テーブル
18:判定結果記憶領域
19:機器識別子格納部
30:バスブリッジ・インターフェースコントローラ
31:入力部
32:表示部
120:資産管理共通部

【特許請求の範囲】
【請求項1】
演算処理をするプロセッサと記憶装置とを備え、不正を検出する資産管理プログラムを実行する資産管理装置であって、
前記資産管理プログラムは、当該資産管理装置及び他の機器に共通する共通資産管理部と、当該資産管理装置に固有の機器固有資産管理部とを含み、
前記資産管理装置は、前記機器固有資産管理部及び機器固有部設定情報を取得して、前記資産管理プログラムの実行時に、前記機器固有部設定情報を参照し、前記機器固有資産管理部を前記資産管理プログラムに結合し、前記結合された資産管理プログラムを実行することを特徴とする資産管理装置。
【請求項2】
前記資産管理装置は、前記機器固有資産管理部を配信する配信サーバとネットワークを介して接続され、
前記資産管理装置は、記憶媒体から前記共通資産管理部を取得し、前記配信サーバから前記ネットワークを介して前記機器固有資産管理部を取得することを特徴とする請求項1に記載の資産管理装置。
【請求項3】
前記機器固有部設定情報は、設定対象プログラムの情報と設定処理の内容とを含み、
前記資産管理装置は、前記設定対象プログラムに対して前記設定処理を結合することを特徴とする請求項1に記載の資産管理装置。
【請求項4】
前記資産管理装置は、
前記共通資産管理部を実行することによって、前記資産管理装置及び他の機器に共通する不正を検出し、
前記機器固有資産管理部を実行することによって、前記資産管理装置に固有の不正と最新の不正とを検出することを特徴とする請求項1に記載の資産管理装置。
【請求項5】
不正を検出する資産管理プログラムを実行する資産管理装置と、前記資産管理装置にネットワークを介して接続された配信サーバとを備える資産管理システムにおいて実行される資産管理方法であって、
前記資産管理プログラムは、当該資産管理装置及び他の機器に共通する共通資産管理部と、当該資産管理装置に固有の機器固有資産管理部とを含み、
前記資産管理装置は、前記機器固有資産管理部の配信要求と前記資産管理装置を識別する機器識別子とを、前記配信サーバに送信し、
前記配信サーバは、前記配信要求と前記機器識別子とを受信すると、前記機器識別子に基づいて、機器固有部設定情報と前記資産管理装置に対応する前記機器固有資産管理部とを特定し、前記特定された前記固有部設定情報と前記機器固有資産管理部を前記資産管理装置に送信し、
前記資産管理装置は、前記機器固有部設定情報と前記機器固有資産管理部を受信すると、前記受信した機器固有部設定情報を参照し、前記機器固有資産管理部を前記資産管理プログラムに結合して、前記結合された資産管理プログラムを実行することを特徴とする資産管理方法。
【請求項6】
前記資産管理装置は、第一資産管理装置と第二資産管理装置とを含み、
前記第一資産管理装置から前記第二資産管理装置にコンテンツがコピーされた場合に、
前記第二管理装置は、前記機器固有資産管理部の配信要求と前記第二資産管理装置を識別する機器識別子とを、前記配信サーバに送信し、
前記配信サーバは、前記配信要求と前記機器識別子とを受信すると、前記機器識別子に基づいて、機器固有部設定情報と前記第二資産管理装置に対応する前記機器固有資産管理部とを特定し、前記特定された前記固有部設定情報と前記機器固有資産管理部を前記第二資産管理装置に送信し、
前記第二資産管理装置は、前記機器固有部設定情報と前記機器固有資産管理部を受信すると、前記受信した機器固有部設定情報を参照し、前記機器固有資産管理部を前記資産管理プログラムに結合して、前記結合された資産管理プログラムを実行することを特徴とする請求項5に記載の資産管理方法。
【請求項7】
資産管理装置と前記資産管理装置にネットワークを介して接続された配信サーバとを備える資産管理システムにおいて、
前記資産管理装置は、演算処理をするプロセッサと記憶装置とを備え、不正を検出する資産管理プログラムを実行し、
前記資産管理プログラムは、当該資産管理装置及び他の機器に共通する共通資産管理部と、当該資産管理装置に固有の機器固有資産管理部とを含み、
前記資産管理装置は、前記機器固有資産管理部の配信要求と前記資産管理装置を識別する機器識別子とを、前記配信サーバに送信し、
前記配信サーバは、前記配信要求と前記機器識別子とを受信すると、前記機器識別子に基づいて、機器固有部設定情報と前記資産管理装置に対応する前記機器固有資産管理部とを特定し、前記特定された前記固有部設定情報と前記機器固有資産管理部を前記資産管理装置に送信し、
前記資産管理装置は、前記機器固有部設定情報と前記機器固有資産管理部を受信すると、前記受信した機器固有部設定情報を参照し、前記機器固有資産管理部を前記資産管理プログラムに結合して、前記結合された資産管理プログラムを実行することを特徴とする資産管理システム。
【請求項8】
前記資産管理装置は、第一資産管理装置と第二資産管理装置とを含み、
前記第一資産管理装置から前記第二資産管理装置にコンテンツがコピーされた場合に、
前記第二管理装置は、前記機器固有資産管理部の配信要求と前記第二資産管理装置を識別する機器識別子とを、前記配信サーバに送信し、
前記配信サーバは、前記配信要求と前記機器識別子とを受信すると、前記機器識別子に基づいて、機器固有部設定情報と前記第二資産管理装置に対応する前記機器固有資産管理部とを特定し、前記特定された前記固有部設定情報と前記機器固有資産管理部を前記第二資産管理装置に送信し、
前記第二資産管理装置は、前記機器固有部設定情報と前記機器固有資産管理部を受信すると、前記受信した機器固有部設定情報を参照し、前記機器固有資産管理部を前記資産管理プログラムに結合して、前記結合された資産管理プログラムを実行することを特徴とする請求項7に記載の資産管理システム。

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図1】
image rotate


【公開番号】特開2007−179260(P2007−179260A)
【公開日】平成19年7月12日(2007.7.12)
【国際特許分類】
【出願番号】特願2005−376382(P2005−376382)
【出願日】平成17年12月27日(2005.12.27)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】