(57)【要約】【課題】本発明は、次から次へと出現する不正なプログラムに対応可能にするために、資産管理プログラムの更新を容易にする資産管理方法を提供することである。【解決手段】演算処理をするプロセッサと記憶装置とを備え、不正を検出する資産管理プログラムを実行する資産管理装置であって、前記資産管理プログラムは、当該資産管理装置及び他の機器に共通する共通資産管理部と、当該資産管理装置に固有の機器固有資産管理部とを含み、前記資産管理装置は、前記機器固有資産管理部及び機器固有部設定情報を取得して、前記資産管理プログラムの実行時に、前記機器固有部設定情報を参照し、前記機器固有資産管理部を前記資産管理プログラムに結合し、前記結合された資産管理プログラムを実行することを特徴とする資産管理装置。【選択図】図５
2007179260.tif 000002
【特許請求の範囲】
【請求項１】
演算処理をするプロセッサと記憶装置とを備え、不正を検出する資産管理プログラムを実行する資産管理装置であって、
前記資産管理プログラムは、当該資産管理装置及び他の機器に共通する共通資産管理部と、当該資産管理装置に固有の機器固有資産管理部とを含み、
前記資産管理装置は、前記機器固有資産管理部及び機器固有部設定情報を取得して、前記資産管理プログラムの実行時に、前記機器固有部設定情報を参照し、前記機器固有資産管理部を前記資産管理プログラムに結合し、前記結合された資産管理プログラムを実行することを特徴とする資産管理装置。
【請求項２】
前記資産管理装置は、前記機器固有資産管理部を配信する配信サーバとネットワークを介して接続され、
前記資産管理装置は、記憶媒体から前記共通資産管理部を取得し、前記配信サーバから前記ネットワークを介して前記機器固有資産管理部を取得することを特徴とする請求項１に記載の資産管理装置。
【請求項３】
前記機器固有部設定情報は、設定対象プログラムの情報と設定処理の内容とを含み、
前記資産管理装置は、前記設定対象プログラムに対して前記設定処理を結合することを特徴とする請求項１に記載の資産管理装置。
【請求項４】
前記資産管理装置は、
前記共通資産管理部を実行することによって、前記資産管理装置及び他の機器に共通する不正を検出し、
前記機器固有資産管理部を実行することによって、前記資産管理装置に固有の不正と最新の不正とを検出することを特徴とする請求項１に記載の資産管理装置。
【請求項５】
不正を検出する資産管理プログラムを実行する資産管理装置と、前記資産管理装置にネットワークを介して接続された配信サーバとを備える資産管理システムにおいて実行される資産管理方法であって、
前記資産管理プログラムは、当該資産管理装置及び他の機器に共通する共通資産管理部と、当該資産管理装置に固有の機器固有資産管理部とを含み、
前記資産管理装置は、前記機器固有資産管理部の配信要求と前記資産管理装置を識別する機器識別子とを、前記配信サーバに送信し、
前記配信サーバは、前記配信要求と前記機器識別子とを受信すると、前記機器識別子に基づいて、機器固有部設定情報と前記資産管理装置に対応する前記機器固有資産管理部とを特定し、前記特定された前記固有部設定情報と前記機器固有資産管理部を前記資産管理装置に送信し、
前記資産管理装置は、前記機器固有部設定情報と前記機器固有資産管理部を受信すると、前記受信した機器固有部設定情報を参照し、前記機器固有資産管理部を前記資産管理プログラムに結合して、前記結合された資産管理プログラムを実行することを特徴とする資産管理方法。
【請求項６】
前記資産管理装置は、第一資産管理装置と第二資産管理装置とを含み、
前記第一資産管理装置から前記第二資産管理装置にコンテンツがコピーされた場合に、
前記第二管理装置は、前記機器固有資産管理部の配信要求と前記第二資産管理装置を識別する機器識別子とを、前記配信サーバに送信し、
前記配信サーバは、前記配信要求と前記機器識別子とを受信すると、前記機器識別子に基づいて、機器固有部設定情報と前記第二資産管理装置に対応する前記機器固有資産管理部とを特定し、前記特定された前記固有部設定情報と前記機器固有資産管理部を前記第二資産管理装置に送信し、
前記第二資産管理装置は、前記機器固有部設定情報と前記機器固有資産管理部を受信すると、前記受信した機器固有部設定情報を参照し、前記機器固有資産管理部を前記資産管理プログラムに結合して、前記結合された資産管理プログラムを実行することを特徴とする請求項５に記載の資産管理方法。
【請求項７】
資産管理装置と前記資産管理装置にネットワークを介して接続された配信サーバとを備える資産管理システムにおいて、
前記資産管理装置は、演算処理をするプロセッサと記憶装置とを備え、不正を検出する資産管理プログラムを実行し、
前記資産管理プログラムは、当該資産管理装置及び他の機器に共通する共通資産管理部と、当該資産管理装置に固有の機器固有資産管理部とを含み、
前記資産管理装置は、前記機器固有資産管理部の配信要求と前記資産管理装置を識別する機器識別子とを、前記配信サーバに送信し、
前記配信サーバは、前記配信要求と前記機器識別子とを受信すると、前記機器識別子に基づいて、機器固有部設定情報と前記資産管理装置に対応する前記機器固有資産管理部とを特定し、前記特定された前記固有部設定情報と前記機器固有資産管理部を前記資産管理装置に送信し、
前記資産管理装置は、前記機器固有部設定情報と前記機器固有資産管理部を受信すると、前記受信した機器固有部設定情報を参照し、前記機器固有資産管理部を前記資産管理プログラムに結合して、前記結合された資産管理プログラムを実行することを特徴とする資産管理システム。
【請求項８】
前記資産管理装置は、第一資産管理装置と第二資産管理装置とを含み、
前記第一資産管理装置から前記第二資産管理装置にコンテンツがコピーされた場合に、
前記第二管理装置は、前記機器固有資産管理部の配信要求と前記第二資産管理装置を識別する機器識別子とを、前記配信サーバに送信し、
前記配信サーバは、前記配信要求と前記機器識別子とを受信すると、前記機器識別子に基づいて、機器固有部設定情報と前記第二資産管理装置に対応する前記機器固有資産管理部とを特定し、前記特定された前記固有部設定情報と前記機器固有資産管理部を前記第二資産管理装置に送信し、
前記第二資産管理装置は、前記機器固有部設定情報と前記機器固有資産管理部を受信すると、前記受信した機器固有部設定情報を参照し、前記機器固有資産管理部を前記資産管理プログラムに結合して、前記結合された資産管理プログラムを実行することを特徴とする請求項７に記載の資産管理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
資産管理の効率及び効果の向上に関する。
【背景技術】
【０００２】
著作権侵害を防止するための仕組み及びウィルス等を検出する仕組みを広く資産管理又はソフトウェア管理という。
【０００３】
このような資産管理をするために、不正を検出する資産管理プログラムが存在する。ここで不正とは、不正ソフトウェア（例えば、ウィルス等のソフトウェア及び不正コピーを可能にするソフトウェア）及び不正コピー等をいう。さらに、資産管理プログラムには、不正ソフトウェアを除去するものも存在する。
【０００４】
不正を検出する資産管理プログラムを製造時に書き込んだ記憶媒体（ＤＶＤ等）を販売・配布する方法が知られている（非特許文献１参照）。記憶媒体に格納されたコンテンツを再生する再生機器（ＤＶＤプレイヤー等）は、再生機器に搭載された仮想マシン（ＶＭ）によるインタプリタによって、資産管理プログラムを実行する。
【０００５】
即ち、非特許文献１によると、再生機器が資産管理プログラムをインタプリタによって実行するので、多種多様な再生機器においても実行できる点に特徴がある。例えば、この方法は、機器上に再生機能をエミュレートしてコンテンツを再生するパーソナルコンピュータ（ＰＣ）及びカーナビゲーションシステム等に対しても、資産管理プログラムを実行できる。
【０００６】
ここで、インタプリタとは、実行する機器の機械語とは別の言語（中間語）を設定し、実行すべき機器上で中間語を解釈実行する別のプログラムであり、高級言語で記述されたプログラムを変換された中間語プログラムを実行する。
【０００７】
高級言語で記述されたプログラムを機器上でコンパイラによって実行する方法も知られている。コンパイラとは、高級言語で記述されたプログラムを、実行すべき機器の機械語プログラムに変換した上で、変換後の機械語プログラムを直接実行する。
【０００８】
インタプリンタは、以下のコンパイラの欠点を解消することができる（特許文献３参照）。
【０００９】
（コンパイラの欠点１）ソースプログラムを機械語プログラムに変換するコンパイラが機器ごとに必要であり、コンパイラの開発量が大きくなる。また、保守や拡張をそれぞれの機器に対応して行なう必要があり、保守・拡張のオーバヘッドが大きくなる。
【００１０】
（コンパイラの欠点２）同一プログラムを複数機器で実行する場合、機器ごとにコンパイル（ソースプログラムから機械語プログラムへの変換）が必要であり、機械語プログラムの管理のオーバヘッドが大きい。
【００１１】
（コンパイラの欠点３）複数機器がネットワークで接続されている環境において、同一の内容のプログラムであっても、各機器に対応して複数の機械語プログラムが必要であり、バージョン管理やディスクスペースに問題がある。また、同一プログラムを分散して実行することが困難である。
【００１２】
（コンパイラの欠点４）実際に運用されているシステムのなかには、ソースプログラムがなく、機械語プログラムのみで運用されている場合がある。このようなシステムでは、構成機器の移行・変更が困難である。また、ハードウェア技術の進歩によって計算機アーキテクチャが高度化しているが、機械語プログラム財産の継承のため、アーキテクチャの変更に強い制限が課せられてしまう。
【００１３】
しかし、資産管理プログラムは、多種多様な機器に対応しなければならない。従って、コンパイラよりもインタプリタが、資産管理プログラムに適する。
【００１４】
特許文献１には、ソフトウェアのライセンスを管理するための資産管理方法が記載されている。しかし、この方法は、ネットワークに接続された機器にしか実行できない。
【００１５】
また、違法コピー等の不正を検出する資産管理プログラムを、コンテンツと共に記憶媒体（ＣＤ、ＤＶＤ等）に書き込む方法が知られている（非特許文献１参照）。この方法は、特許文献１に記載の方法とは異なり、小型で形態性に優れた機器及びネットワークに接続されていない機器に対しても、確実に資産管理プログラムを実行できる。しかしながら、この方法は、資産管理プログラムを記憶媒体に書き込むため、書き込み後に出現した最新の不正なプログラムを検出することは困難である。また、近年、動画及び音声等のコンテンツは、専用機器のみならず、再生機能をエミュレートして再生可能な機器（カーナビゲーションシステム及びパーソナルコンピュータ等）によっても再生できる。資産管理プログラムは、これらの機器にも対応しなければならない。従って、資産管理プログラムは、各機器に特有のプログラムを含まなければならないので、資産管理プログラムのデータ量は増大してしまう。
【００１６】
従って、非特許文献１に記載された方法では、資産管理プログラムのデータ量が増大することによって、記憶媒体のデータ量は一定であるため、コンテンツの書き込み領域を減少させてしまう問題点、及び資産管理プログラムの書き込み後に販売された機器に資産管理プログラムが対応できない問題点がある。
【００１７】
特許文献２には、移動可能なクライアント端末又はネットワークに接続されていないクライアント端末の資産管理を可能にする資産管理方法が記載されている。
【００１８】
しかし、非特許文献１及び特許文献２に記載された方法では、再生可能な再生機器の種類の増大に伴う資産管理プログラムのデータ量の増大してしまい、資産管理プログラムの実行時のオーバーヘッドが増大する問題点及び資産管理プログラムを再生機器に配信する際又は資産管理プログラムの更新時に時間がかかる問題点がある。
【特許文献１】特開２００１−２２２４２４号公報
【特許文献２】特開２００４−１７８１２１号公報
【特許文献３】特開平１０−２５４７１２号公報
【非特許文献１】「Ｗｈａｔ’ｓ  Ｎｅｗ−攻勢をかけるＢｌｕ−ｒａｙ  Ｄｉｓｋ  著作権保護技術を追加−既存のＡＡＣＳとは独立に動作」（日経エレクトロニクス、２００５／０９／１２号、４０〜４１ページ掲載、日経ＢＰ社）
【発明の開示】
【発明が解決しようとする課題】
【００１９】
本発明の目的は、次から次へと出現する不正プログラムに対応するために、資産管理プログラムの更新を容易にする資産管理方法を提供することである。また、本発明の他の目的はコンテンツを再生可能な機器の増加及び不正なプログラムの種類数の増加によって、資産管理プログラムのデータ量を増大させずに、各再生可能な機器にとって最小限の実行量で資産管理を可能にする資産管理方法を提供することである。
【課題を解決するための手段】
【００２０】
演算処理をするプロセッサと記憶装置とを備え、不正を検出する資産管理プログラムを実行する資産管理装置であって、前記資産管理プログラムは、当該資産管理装置及び他の機器に共通する共通資産管理部と、当該資産管理装置に固有の機器固有資産管理部とを含み、前記資産管理装置は、前記機器固有資産管理部及び機器固有部設定情報を取得して、前記資産管理プログラムの実行時に、前記機器固有部設定情報を参照し、前記機器固有資産管理部を前記資産管理プログラムに結合し、前記結合された資産管理プログラムを実行することを特徴とする。
【発明の効果】
【００２１】
資産管理プログラムの更新を容易にする資産管理方法を提供することができる。
【発明を実施するための最良の形態】
【００２２】
以下に、本発明の実施形態について図面を参照しながら説明する。
【００２３】
図１は、本発明の実施の形態の計算機システムの構成を示すシステム構成図である。
【００２４】
本計算機システムは、デジタル機器４０１、コンテンツサーバ４０４及び機器提供サーバ４０５を備える。
【００２５】
デジタル機器４０１は、図２に示す資産管理装置１の一例であって、コンテンツを再生可能である。具体的には、デジタル機器４０１は、携帯電話、パーソナルコンピュータ（ＰＣ）、ＤＶＤプレーヤ等である。デジタル機器４０１は、再生するコンテンツを記憶媒体４０６（ＣＤ、ＤＶＤ又はメモリカード）又はコンテンツサーバ４０４から取得する。
【００２６】
コンテンツサーバ４０４は、コンテンツを提供するサーバであり、プロセッサと記憶領域を備える計算機である。
【００２７】
機器提供サーバ４０５は、デジタル機器４０１固有の情報を備えるサーバであり、プロセッサと記憶領域を備える計算機である。
【００２８】
デジタル機器４０１、コンテンツサーバ４０４及び機器提供サーバ４０５は、ネットワーク４０７を介して接続される。
【００２９】
図２は、本発明の実施の形態の資産管理装置１の一例を示すブロック図である。資産管理装置１は、図１に示すデジタル機器４０１を含む。
【００３０】
資産管理装置１は、プログラム実行装置１１、記憶装置１３、ワークメモリ１４、入力部３１、表示部３２及びネットワークインタフェース３３を備える。プログラム実行装置１１、記憶装置１３、ワークメモリ１４、入力部３１、表示部３２及びネットワークインタフェース３３はバスブリッジ・インタフェースコントローラ３０によって接続される。
【００３１】
ネットワークインタフェース３３は、資産管理装置１に接続された装置と、ネットワークを介して通信するインタフェースである。
【００３２】
入力部３１は、入力制御部３１０、キーボード３１１、マウス３１２及び外部用インタフェース３１３を備える。入力制御部３１０は、キーボード３１１、マウス３１２及び外部用インタフェース３１３を制御する。外部用インタフェース３１３は、外部の記憶媒体等と接続するインタフェースである。例えば、外部用インタフェース３１３としては、ＵＳＢ（Universal Serial Bus）及びメモリカードスロット等がある。
【００３３】
表示部３２は、表示制御部３２０、表示装置３２１及びフレームメモリ３２２を備える。フレームメモリ３２２は、表示装置３２１に表示される画像を記憶する記憶領域である。表示制御部３２０は、表示装置３２１及びフレームメモリ３２２を制御する。
【００３４】
記憶装置１３は、資産管理プログラム１２、機器固有部設定プログラム１５、機器固有部設定テーブル１７及び機器識別子格納領域１９を含む。
【００３５】
資産管理プログラム１２は、資産管理装置１の不正を検出するプログラムである。ここで、不正とは、不正ソフトウェア（例えばウィルス等のソフトウェア及び不正コピーを可能にするソフトウェア）及び不正コピー等をいう。
【００３６】
資産管理プログラム１２は、資産管理共通部１２０及び機器固有資産管理モジュール１６を含む。資産管理共通部１２０は、当該資産管理装置１及び他の機器に共通する処理を実行するプログラムである。例えば、当該資産管理装置１及び他の機器に共通する処理は、当該資産管理装置１及び他の機器に共通する不正を検出する処理である。
【００３７】
一方、機器固有資産管理モジュール１６は、プログラム実行装置１１は、当該資産管理装置１及び他の機器に固有の処理を実行するモジュールである。例えば、当該資産管理装置１及び他の機器に固有の処理は、当該資産管理装置１及び他の機器に固有の不正を検出する処理である。なお、機器固有資産管理モジュール１６は、単独で実行可能なプログラムであっても、プログラムの断片的な部分であって単独で実行不可能なモジュールであってもよい。
【００３８】
ワークメモリ１４は、プログラム実行装置１１がプログラムを実行する際に、記憶装置１３に格納された各プログラムが格納される。また、ワークメモリ１４は、一般的にはＤＲＡＭ等のアクセス速度の速い記憶媒体であるが、アクセス速度が遅いディスク装置、メモリカード及び磁気テープでもよい。
【００３９】
機器固有部設定プログラム１５は、後述する結合処理を実行するプログラムである。
【００４０】
機器固有部設定テーブル１７は、結合処理の内容を示すテーブルである。機器固有部設定テーブル１７は、プログラム実行装置１１のインタプリタが命令コードを解釈して実行する際に参照される。
【００４１】
機器識別子格納領域１９には、機器を一意に識別する一意な識別子である機器識別子が格納される。
【００４２】
プログラム実行装置１１は、種々のプログラムを実行する装置である。プログラム実行装置１１は、図示せぬプロセッサと記憶装置とを備える。また、プログラム実行装置１１は、ＯＳ（Operating System）とインタプリタとを含む。なお、ＯＳ及びインタプリンタはプログラム実行時に記憶装置１３からプログラム実行装置１１に提供されるようにしてもよい。
【００４３】
プログラム実行装置１１は、判定結果記憶領域１８を含む。判定結果記憶領域１８は、機器固有資産管理モジュール１６の実行結果と資産管理共通部１２０の実行結果とを保持する。なお、判定結果記憶領域１８に保持される実行結果は、プログラム実行装置１１によって参照可能である。
【００４４】
なお、図２は汎用パーソナルコンピュータとして図示したが、再生専用装置等であってもよい。
【００４５】
図３は、本発明の実施の形態の機器固有部設定テーブル１７のテーブルの構成の一例を示す図である。
【００４６】
機器固有部設定テーブル１７は、資産管理装置１の記憶装置１３に格納される。
【００４７】
機器固有部設定テーブル１７は、設定番号１７１、設定対象プログラム１７２、プログラム内位置１７３、設定処理１７４及び対象機器名称１７５を含む。
【００４８】
設定番号１７１は、結合処理を識別する一意な識別子である。設定対象プログラム１７２は、結合処理を実行する対象のプログラムを特定する。プログラム内位置１７３は、設定処理１７４を結合する設定対象プログラム１７２内の位置を特定する。設定処理１７４は、結合される具体的な処理の内容を示す。対象機器名称１７５は、結合処理が実行される対象の機器の名称を示す。
【００４９】
プログラム実行装置１１がプログラムの命令コードを解釈して実行する前に、プログラム実行装置１１は、機器固有部設定テーブル１７を参照して、機器固有部設定プログラム１５を実行する。具体的には、プログラム実行装置１１は、実行される命令コードのプログラムが機器固有部設定テーブル１７の設定対象プログラム１７２と一致し、かつ実行される命令コードのプログラム内位置と機器固有部設定テーブル１７のプログラム内位置１７３とが一致するか否かを判定する。
【００５０】
実行される命令コードのプログラムが機器固有部設定テーブル１７の設定対象プログラム１７２と一致し、かつ実行される命令コードのプログラム内位置と機器固有部設定テーブル１７のプログラム内位置１７３とが一致する場合には、プログラム実行装置１１は、機器固有部設定テーブル１７の設定処理１７４を参照して、当該命令コードを設定処理１７４の内容に置き換える結合処理を実行する。
【００５１】
実行される命令コードのプログラムが機器固有部設定テーブル１７の設定対象プログラム１７２と一致しない場合又は実行される命令コードのプログラム内位置と機器固有部設定テーブル１７３と一致しない場合には、プログラム実行装置１１は、結合処理を実行せず、当該命令コードをそのまま実行する。
【００５２】
図３に示す機器固有部設定テーブル１７は、設定番号１７１が「１」の行１７１０と設定番号１７１が「２」の行１７１１に結合処理が設定されている。
【００５３】
行１７１０には、設定対象プログラム１７２は「資産管理プログラム」、プログラム内位置１７３は「０００１番地」、設定処理１７４は「命令コード１’（機器固有資産管理モジュールへの分岐命令）」及び対象機器名称１７５は「ＡＢＣ−１」が設定されている。
【００５４】
従って、プログラム実行装置１１は、機器固有部設定プログラム１５によって、資産管理プログラム１２の番地０００１の命令コード１を命令コード１’に置き換えるという結合処理を実行する。これによって、資産管理プログラム１２の先頭番地で、機器固有資産管理モジュール１６へ分岐するようになる。
【００５５】
一方、行１７１１には、設定対象プログラム１７２は「すべて」、プログラム内位置１７３は「ｏｕｔＦｕｎｃｔｉｏｎ関数群の呼出箇所すべて」、設定処理１７４は「命令コードＺ（ＮＯＰ命令等）」及び対象機器名称１７５は「ＡＢＣ−１」が設定されている。
【００５６】
従って、プログラム実行装置１１は、機器固有部設定プログラム１５によって、プログラム実行装置１１のインタプリタで実行されるすべてのプログラムに対して、ｏｕｔＦｕｎｃｔｉｏｎ関数群が呼び出される命令コードを命令コードＺ（ＮＯＰ）に置き換えるという結合処理を実行する。これによって、ｏｕｔＦｕｎｃｔｉｏｎが実行されなくなる。
【００５７】
図４は、プログラム実行装置１１が機器固有部設定テーブル１７を参照して結合処理を実行する前の資産管理プログラム１２のプログラム構成の一例を示す図である。
【００５８】
資産管理プログラム１２は、命令コード１から６の命令コードによって構成される。番地４０は、資産管理プログラム１２内の位置を識別する一意な識別子である。命令コード４１は、命令内容４２を識別する一意な識別子である。命令内容４２は、命令コード４１の内容である。
【００５９】
ラベル（ＬＡＢＥＬ００１、ＬＡＢＥＬ００２）は、プログラム内の位置を特定し、分岐先の指定に用いられる。
【００６０】
番地０００１には、命令コード１が位置する。命令コード１の内容は「終了」であって、プログラム実行装置１１は資産管理プログラム１２を終了する。このため、この資産管理プログラム１２は、そのままの状態では以下のステップは実行されない。
【００６１】
番地０００２には、命令コード２が位置する。命令コード２の内容は「資産管理共通部への分岐命令」であって、プログラム実行装置１１は、図７に示す資産管理共通部１２０の処理を開始する。
【００６２】
番地０００３には、命令コード３が位置する。命令コード３の内容は、「判定結果参照」であって、プログラム実行装置１１は、資産管理共通部１２０の判定結果及び機器固有資産管理モジュール１６の判定結果を保持する判定結果記憶領域１８の判定結果を参照する。
【００６３】
番地０００４には、命令コード４が位置する。命令コード４の命令内容は「条件分岐：真の場合にＬＡＢＥＬ００２に分岐」であって、プログラム実行装置１１は、命令コード３で参照した判定結果が「真」である場合は、ＬＡＢＥＬ００２の命令コード６を実行してコンテンツを再生する。一方、命令コード３で参照した判定結果が「偽」の場合は、番地０００５の命令コード５を実行して、この処理を終了する。
【００６４】
番地０００５には、命令コード５が位置する。命令コード５の命令内容は「終了」であって、プログラム実行装置１１は資産管理プログラム１２による処理を終了する。
【００６５】
番地０００６には、命令コード６が位置する。命令コード６の命令内容は「コンテンツ再生処理開始」であって、プログラム実行装置１１は、コンテンツの再生を開始する。
【００６６】
図５は、プログラム実行装置１１が機器固有部設定テーブル１７を参照して結合処理を実行した後の資産管理プログラム１２のプログラム構成の一例を示す図である。
【００６７】
プログラム実行装置１１は、各命令コードを読み出した後、解釈して実行する前に、機器固有部設定プログラム１５を実行する。プログラム実行装置１１は、機器固有部設定プログラム１５を実行することによって、各命令コードが行１７１０のプログラム内位置１７３に等しいか否かを判定する。その結果、命令コードと行１７１０のプログラム内位置１７３とが等しい場合には、当該命令コードを設定処理１７４に置き換える結合処理を実行する。一方、命令コードと行１７１０のプログラム内位置１７３とが等しくない場合には、機器固有部設定プログラム１５は、結合処理を実行しない。即ち、プログラム実行装置１１は、当該命令コードをそのまま実行する。
【００６８】
機器固有部設定テーブル１７の設定番号１７１が「１」の行１７１０は、設定対象プログラム１７２は「資産管理プログラム」、プログラム内位置１７３は「０００１番地」及び設定処理１７４は「命令コード１’（機器固有資産管理モジュールへの分岐命令）」と設定される。従って、機器固有部設定プログラム１５は、図４に示す資産管理プログラム１２の０００１番地の命令コード１を命令コード１’に置き換える結合処理を実行する。
【００６９】
以下、プログラム実行装置１１により結合処理が実行された後の資産管理プログラム１２が実行されるステップについて説明する。
【００７０】
プログラム実行装置１１は、番地０００１の命令コード１を読み出す。プログラム実行装置１１は、命令コード１を解釈して実行する前に、機器固有部設定プログラム１５を実行する。プログラム実行装置１１は、命令コード１を含むプログラムが行１７１０の設定対象プログラム１７２に等しいか否か及び命令コード１のプログラム内位置が行１７１０のプログラム内位置１７３に等しいか否かを判定する。命令コード１のプログラムとプログラム内位置は、それぞれ設定対象プログラム１７２とプログラム内位置１７３に等しい。従って、プログラム実行装置１１は、機器固有部設定プログラム１５によって番地０００１の命令コード１は機命令コード１’に置き換える結合処理を実行する。従って、番地０００１には、命令コード１’が位置する。命令コード１’の命令内容は「機器固有資産管理モジュールへの分岐命令」であって、プログラム実行装置１１に図６に示す機器固有資産管理モジュール１６の処理を開始させる命令である。
【００７１】
プログラム実行装置１１は命令コード２から命令コード６を実行する前に、命令コード１を実行する場合と同様に、機器固有部設定プログラム１５を実行して、判定をする。しかし、命令コード２から命令コード６のプログラム内位置はプログラム内位置１７３と等しくないので、プログラム実行装置は、結合処理をしない。従って、プログラム実行装置１１は、命令コード２から命令コード６を実行する。命令コード２から命令コード６の内容は、図４を参照して説明したものと同様である。
【００７２】
図６は、機器固有資産管理モジュール１６のフローチャートである。
【００７３】
プログラム実行装置１１は、図５に示す結合処理後の資産管理プログラム１２の命令コード１’によって機器固有資産管理モジュール１６を実行する。
【００７４】
まず、機器固有資産管理モジュール１６が不正に導入されたものか否かを判定するために、プログラム実行装置１１は、機器固有部設定テーブル１７の設定番号「１」の行１７１０の対象機器名称１７５に対象機器名称が記載されているか否かを判定する（ステップ７０１）。機器固有部設定テーブル１７の設定番号「１」の行１７１０の対象機器名称１７５に記載が有る場合には、プログラム実行装置１１は、機器固有資産管理モジュール１６は正当に導入されたものと判定して、ステップ７０２に進む。一方、機器固有部設定テーブル１７の設定番号「１」の行１７１０の対象機器名称１７５に記載が無い場合には、プログラム実行装置１１は、機器固有資産管理モジュール１６が不正に導入されたものと判定して、ステップ７１１に進む。
【００７５】
ステップ７０１で対象機器名称１７５に記載が無く、機器固有資産管理モジュール１６が不正に導入されたものと判定された場合には、プログラム実行装置１１は、判定結果記憶領域１８に不正（偽）を設定し（ステップ７１１）、機器固有資産管理モジュール１６による処理を終了して、資産管理プログラム１２の処理に戻る（ステップ７１２）。
【００７６】
ステップ７０１で対象機器名称１７５に記載が有り、機器固有資産管理モジュール１６が正当に導入されたものと判定された場合には、プログラム実行装置１１は、機器識別子格納領域１９に格納される機器識別子と対象機器名称１７５の機器名称を参照する（ステップ７０２）。
【００７７】
次に、コンテンツの著作権を保護するために、プログラム実行装置１１は、機器識別子が対象機器名称１７５の機器名称を表すものか否かを判定する（ステップ７０３）。
【００７８】
機器識別子が対象機器名称１７５の機器名称を表すものでない場合には、プログラム実行装置１１は、判定結果記憶領域１８に不正（偽）を設定し（ステップ７０７）、機器固有資産管理モジュール１６による処理を終了して、資産管理プログラム１２の処理に戻る（ステップ７１０）。
【００７９】
資産管理プログラム１２において、プログラム実行装置１１が命令コード６のコンテンツ再生開始処理を実行するには、判定結果記憶領域１８に不正（偽）が設定されていないことが条件である。機器識別子が対象機器名称１７５の機器名称を表すものでない場合には、ステップ７０７にて判定結果記憶領域１８に不正（偽）と設定されるので、プログラム実行装置１１は、コンテンツを再生することがない。従って、コンテンツは、機器識別子が対象機器名称１７５の機器名称を表す機器以外では再生できないため、コンテンツの著作権は保護される。
【００８０】
機器識別子が対象機器名称１７５の機器名称を表す場合には、プログラム実行装置１１は当該機器特有の不正を検出する（ステップ７０４）。プログラム実行装置１１が不正を検出しない場合には、プログラム実行装置１１は、判定結果記憶領域１８に正（真）を設定する。一方、プログラム実行装置１１が不正を検出した場合には、プログラム実行装置１１は、判定結果記憶領域１８に不正（偽）を設定する。
【００８１】
次に、プログラム実行装置１１は、最新の不正を検出する（ステップ７０５）。なお、最新の不正とは、当該機器固有資産管理モジュール１６より前のバージョンの機器固有資産管理モジュール１６では、対応していない不正のことをいう。プログラム実行装置１１が不正を検出しない場合には、プログラム実行装置１１は、判定結果記憶領域１８に正（真）を設定する。一方、プログラム実行装置１１が不正を検出した場合には、プログラム実行装置１１は、判定結果記憶領域１８に不正（偽）を設定する。
【００８２】
次に、プログラム実行装置１１は、判定結果記憶領域１８を参照して、機器特有の不正の検出結果が正であって、かつ最新の不正の検出結果が正であるかを判定する（ステップ７０６）。
【００８３】
機器特有の不正の検出結果が正であって、かつ最新の不正の検出結果が正である場合には、プログラム実行装置１１は判定結果記憶領域１８に正（真）を設定し（ステップ７０８）、機器固有資産管理モジュール１６による処理を終了して、資産管理プログラム１２の処理に戻る（ステップ７１０）。
【００８４】
機器特有の不正の検出結果が正でない、又は最新の不正の検出結果が正でない場合には、プログラム実行装置１１は、判定結果記憶領域１８に不正（偽）を設定し（ステップ７０９）、機器固有資産管理モジュール１６による処理を終了して、資産管理プログラム１２の処理に戻る（ステップ７１０）。
【００８５】
資産管理プログラム１２に戻った後は、プログラム実行装置１１は、命令コード２を読み出す。
【００８６】
図７は、資産管理共通部１２０のフローチャートである。
【００８７】
プログラム実行装置１１は、資産管理プログラム１２の命令コード２によって資産管理共通部１２０を実行する。
【００８８】
まず、プログラム実行装置１１は、資産管理共通部１２０によって機器に共通する不正を検出する（ステップ８０１）。プログラム実行装置１１が不正を検出しない場合には、プログラム実行装置１１は判定結果記憶領域１８に正（真）を設定する。一方、プログラム実行装置１１が不正を検出した場合には、プログラム実行装置１１は、判定結果記憶領域１８に不正（偽）を設定する。
【００８９】
次に、資産管理共通部１２０は、従来から知られている不正を検出する処理を実行する（ステップ８０２）。従来から知られている不正とは、資産管理共通部１２０が配布又は配信された時に存在する不正である。プログラム実行装置１１が従来から知られている不正を検出しない場合には、プログラム実行装置１１は判定結果記憶領域１８に正（真）を設定する。一方、プログラム実行装置１１は不正を検出した場合には、プログラム実行装置１１は、判定結果記憶領域１８に不正（偽）を設定する。
【００９０】
次に、プログラム実行装置１１は、資産管理共通部１２０によって判定結果記憶領域１８を参照して、機器に共通する不正（ステップ８０１）の検出結果が正であって、かつ従来から知られている不正（ステップ８０２）の検出結果が正であるかを判定する（ステップ８０３）。
【００９１】
機器に共通する不正の検出結果が正であって、かつ従来から知られている不正の検出結果が正である場合には、プログラム実行装置１１は判定結果記憶領域１８を正（真）に設定し（ステップ８０４）、資産管理共通部１２０による処理を終了して、資産管理プログラム１２の処理に戻る（ステップ８０６）。
【００９２】
機器に共通する不正の検出結果が正でなく、又は従来から知られている不正の検出結果が正でない場合には、プログラム実行装置１１は判定結果記憶領域１８を不正（偽）に設定し（ステップ８０５）、資産管理共通部１２０による処理を終了して、資産管理プログラム１２の処理に戻る（ステップ８０６）。
【００９３】
資産管理プログラム１２の処理に戻った後は、プログラム実行装置１１は命令コード３を読み出す。
【００９４】
図８は、データコピープログラムのプログラム構成の一例を示す図である。
【００９５】
プログラム実行装置１１は、機器固有部設定テーブル１７の行１７１１の設定に従って、プログラム実行装置１１のインタプリタで実行されるすべてのプログラムに対して、ｏｕｔＦｕｎｃｔｉｏｎ関数群を呼び出す命令コードを命令コードＺに置き換える結合処理を実行する。
【００９６】
図８に示すデータコピープログラムは、記憶装置１３に格納される。データコピープログラムは、データをコピーするプログラムである。例えば、データコピープログラムは、コンテンツの入手時にコンテンツを格納した可搬型記憶装置（メモリカード等）から、コンテンツを記憶装置１３に格納するプログラムである。
【００９７】
プログラム実行装置１１は、命令コード１を読み出す。プログラム実行装置１１は、命令コード１を解釈して実行する前に、機器固有部設定プログラム１５を実行する。プログラム実行装置１１は、命令コード１が行１７１１のプログラム内位置１７３「ｏｕｔＦｕｎｃｔｉｏｎ関数群の呼出箇所」に等しいか否かを判定する。命令コード１は行１７１１のプログラム内位置１７３「ｏｕｔＦｕｎｃｔｉｏｎ関数群の呼出箇所」でないので、プログラム実行装置１１は結合処理を実行しない。従って、プログラム実行装置１１は命令コード１を実行する。
【００９８】
次に、プログラム実行装置１１は、命令コード２を読み出す。プログラム実行装置１１は、命令コード２が行１７１１のプログラム内位置１７３「ｏｕｔＦｕｎｃｔｉｏｎ関数群の呼出箇所」に等しいか否かを判定する。命令コード２は行１７１１のプログラム内位置１７３「ｏｕｔＦｕｎｃｔｉｏｎ関数群の呼出箇所」ではないので、プログラム実行装置１１は、命令コード２を実行する。
【００９９】
プログラム実行装置１１は、命令コード２を実行すると、次にプログラム実行装置１１は、命令コード３を読み出す。プログラム実行装置１１は、命令コード１を解釈して実行する前に、機器固有部設定プログラム１５を実行する。プログラム実行装置１１は、命令コード３が行１７１１のプログラム内位置１７３「ｏｕｔＦｕｎｃｔｉｏｎ関数群の呼出箇所」に等しいか否かを判定する。命令コード３は行１７１１のプログラム内位置１７３「ｏｕｔＦｕｎｃｔｉｏｎ関数群の呼出箇所」であるので、プログラム実行装置１１は命令コード３を命令コードＺに置き換える結合処理を実行する。従って、プログラム実行装置１１は、命令コードＺを解釈して実行する。
【０１００】
即ち、プログラム実行装置１１は、各命令コードを読み出した後、各命令コードが行１７１１のプログラム内位置１７３「ｏｕｔＦｕｎｃｔｉｏｎ関数群の呼出箇所」に等しいか否かを判定する。命令コードと行１７１１のプログラム内位置１７３とが等しい場合には、当該命令コードを命令コードＺに置き換える結合処理を実行する。一方、命令コードと行１７１１のプログラム内位置１７３とが等しくない場合には、当該命令コードをそのまま実行する。
【０１０１】
従って、「ｏｕｔＦｕｎｃｔｉｏｎ関数群の呼出」命令は、命令コードＺの内容によって、自由に変更可能である。例えば、命令コードＺを、なにも実行しないという命令である「ＮＯＰ命令」にすると、プログラム実行装置１１がコンテンツを外部記憶装置１１に格納することができなくなる。
【０１０２】
次に、例えば、命令コードＺを「コンテンツ分割保存」に設定した場合について説明する。「コンテンツ分割保存」とは、プログラム実行装置１１がコンテンツを記憶装置１３の領域の異なる２箇所に仕分けながら保存することをいう。具体的には、プログラム実行装置１１がコンテンツを１バイトずつ小刻みに分割して、元のコンテンツの先頭からの位置が偶数番地のコンテンツ細片と奇数番地のコンテンツ細片とを仕分けて、記憶装置１３の別の場所に保存する。従って、コンテンツが分割されて、２つのコンテンツファイルとして記憶装置１３に保存される。
【０１０３】
プログラム実行装置１１は、分割したコンテンツを元に戻す複合化プログラムがなければ、コンテンツを再生することができない。従って、プログラム実行装置１１は、コンテンツを記憶装置１３に保存することができるが、コンテンツを再生することができない。
【０１０４】
この方法は、コンテンツを再生する権利と録画する権利を別に売る場合に、有効である。即ち、当該事業者は録画する権利の購入者にのみ複合化プログラムを配信することによって、保存したコンテンツは、複合化プログラムがなければ、再生することができなくなる。
【０１０５】
以下に図１を用いて、デジタル機器４０１の機器固有資産管理モジュール１６の取得方法を説明する。
【０１０６】
まず、コンテンツサーバ４０４によってコンテンツがデジタル機器４０１に配信される場合について説明する。
【０１０７】
デジタル機器４０１は、ネットワークを介してコンテンツサーバ４０４にコンテンツ及び機器固有資産管理部１６の配信要求４０２を送信する。デジタル機器４０１は、配信要求４０２をコンテンツサーバ４０４に送信する際、デジタル機器４０１を特定する機器識別子もコンテンツサーバ４０４に送信する。
【０１０８】
コンテンツサーバ４０４は、配信要求４０２と機器識別子とを受信すると、機器識別子によって当該機器を特定する。コンテンツサーバ４０４が機器識別子によって当該機器を特定できない場合には、コンテンツサーバ４０４は、機器提供サーバ４０５にネットワークを介して機器識別子を送信する。機器提供サーバ４０５は、機器識別子を受信すると、機器識別子によって当該機器を特定して、該当する当該機器をコンテンツサーバ４０４に送信する。
【０１０９】
コンテンツサーバ４０４が当該機器を特定すると、当該機器に対応した機器固有資産管理モジュール１６と機器固有部設定テーブル１７を準備する。なお、機器固有部設定テーブル１７は、対象機器名称１７５及び当該機器固有資産管理モジュール１６をどのプログラムのどの位置に設定するか等の情報が設定される。
【０１１０】
従って、コンテンツサーバ４０４は、コンテンツ、資産管理プログラム１２、資産共通部１２０、機器固有資産管理モジュール１６及び機器固有部設定テーブル１７を応答４０３として、デジタル機器４０１に送信する。
【０１１１】
なお、応答４０３を受信したデジタル機器４０１は、コンテンツ等をＵＳＢメモリ等の記憶媒体４０６に保存することができる。しかしながら、他のデジタル機器４０１で再生できない。なぜなら、機器固有資産管理モジュール１６及び機器固有部設定テーブル１７が配信要求４０２を送信したデジタル機器４０１に固有だからである。具体的には、機器固有部設定テーブル１７の対象機器名称１７５と他のデジタル機器４０１の名称が一致しないので、他のデジタル機器４０１は、資産管理プログラム１２に機器固有資産管理モジュール１７を結合することができない。結合処理が実行されない資産管理プログラム１２の命令コード１は「終了」なので、他のデジタル機器４０１は、コンテンツを再生することなく資産管理プログラム１２による処理を終了するからである。これによって、コンテンツの著作権を保護することができる。
【０１１２】
従って、応答４０３を受信したデジタル機器４０１が他のデジタル機器４０１にコンテンツをコピーした場合には、他のデジタル機器４０１はコンテンツを再生できない。
【０１１３】
コピー先のデジタル機器４０１は、コンテンツを再生可能にするために、コンテンツサーバ４０４に機器固有部資産管理部１６の配信要求４０２と機器識別子とを送信する。配信要求４０２と機器識別子とを受信したコンテンツサーバ４０４は、機器識別子によって、コピー先のデジタル機器４０１を特定して、機器固有資産管理モジュール１６と機器固有部設定テーブル１７を当該デジタル機器４０１に送信するのみでよい。また、コピー先のデジタル機器４０１は、機器固有資産管理モジュール１６と機器固有部設定テーブル１７を受信すると、資産管理プログラム１２を実行時に、機器固有部設定テーブル１７を参照し、機器固有部資産管理モジュール１６と資産管理プログラム１２を結合し、結合した資産管理プログラム１２を実行する。
【０１１４】
コピー先のデジタル機器４０１は、結合処理実行後の資産管理プログラム１２を実行することによって、コンテンツを再生できるようになる。
【０１１５】
また、新たな不正なプログラムの出現によって、コンテンツ提供者が機器固有資産管理モジュール１６の最新の不正を検出する処理（ステップ７０５）を更新する場合には、コンテンツサーバ４０４は、ネットワークを介して更新された機器固有資産管理モジュール１６と機器固有部設定テーブル１７をデジタル機器４０１に送信するだけでよく、更新されない資産管理共通部を送信する必要はない。
【０１１６】
なお、更新された機器固有資産管理モジュール１６と機器固有部設定テーブル１７とを記憶媒体（ＣＤ、ＤＶＤ又はメモリカード等）に保存し、配布してもよい。
【０１１７】
次に、デジタル機器４０１が、コンテンツと、資産管理共通部１２０とを記憶媒体（ＣＤ、ＤＶＤ又はメモリカード等）４０６から取得する場合について説明する。
【０１１８】
デジタル機器４０１は、コンテンツと、資産管理共通部１２０と、資産管理プログラム１２とを、記憶媒体４０６から取得すると、機器固有資産管理モジュール１６の配信要求４０２と機器識別子格納領域１９に格納される機器識別子とを、コンテンツサーバ４０４に送信する。
【０１１９】
コンテンツサーバ４０４は、配信要求４０２と機器識別子とを受信すると、機器識別子によってデジタル機器４０１の機種を特定する。コンテンツサーバ４０４が機器識別子によってデジタル機器４０１の機種を識別できない場合には、コンテンツサーバ４０４は、機器提供サーバ４０５にネットワークを介して機器識別子を送信する。機器提供サーバ４０５は、機器識別子を受信すると、機器識別子によってデジタル機器４０１の機種を識別して、デジタル機器４０１の機種の情報をコンテンツサーバ４０４に送信する。
【０１２０】
コンテンツサーバ４０４が機種を特定すると、デジタル機器４０１の機種に対応する機器固有資産管理モジュール１６と機器固有部設定テーブル１７とを応答４０３として、デジタル機器４０１に送信する。
【０１２１】
デジタル機器４０１は機器固有資産管理モジュール１６と機器固有部設定テーブル１７を記憶装置１３に格納する。
【０１２２】
このようにすることで、記憶媒体４０６には、コンテンツと、資産管理共通部１２０とを格納するだけでよく、機器固有資産管理モジュール１６及び機器固有部設定テーブル１７を格納する必要はない。従って、記憶媒体４０６に格納するコンテンツ以外のプログラム等のデータ量を少なくすることができるので、より多くコンテンツを記憶媒体４０６に格納することができる。
【０１２３】
なお、最初にコンテンツを記憶媒体４０６から取得したデジタル機器４０１は、コンテンツ等をＵＳＢメモリ等の記憶媒体４０６に保存することができる。しかしながら、他のデジタル機器４０１で再生できない。なぜなら、機器固有資産管理モジュール１６と機器固有部設定テーブル１７が配信要求４０２を送信したデジタル機器４０１に依存するものであるからである。これによって、コンテンツの著作権を保護することができる。
【０１２４】
最初にコンテンツを取得したデジタル機器４０１からコンテンツをコピーされたデジタル機器４０１は、記憶媒体４０６から取得したデジタル機器４０１以外においても再生可能にするために、コンテンツサーバ４０４に配信要求４０２と機器識別子とを送信する。配信要求４０２と機器識別子とを受信したコンテンツサーバ４０４は、機器識別子によって、当該デジタル機器４０１の機器を特定して、機器固有資産管理モジュール１６と機器固有部設定テーブル１７を当該デジタル機器４０１に送信するのみでよい。また、コピー先のデジタル機器４０１は、機器固有資産管理モジュール１６と機器固有部設定テーブル１７を受信すると、資産管理プログラム１２を実行時に、機器固有部設定テーブル１７を参照し、機器固有部資産管理モジュール１６と資産管理プログラム１２を結合し、結合した資産管理プログラムを実行する。
【０１２５】
コピー先のデジタル機器４０１は、プログラム実行装置１１によって結合処理が実行された後の資産管理プログラム１２を実行することによって、コンテンツを再生できるようになる。
【０１２６】
また、新たな不正なプログラムの出現によって、コンテンツ提供者が機器固有資産管理モジュール１６の最新の不正を検出する処理（ステップ７０５）を更新する場合には、コンテンツサーバ４０４は、ネットワークを介して更新された機器固有資産管理モジュール１６と機器固有部設定テーブル１７をデジタル機器４０１に送信するだけでよく、更新されない資産管理共通部１２０及び資産管理プログラム１２を送信する必要はない。
【０１２７】
なお、更新された機器固有資産管理モジュール１６と機器固有部設定テーブル１７とを記憶媒体（ＣＤ、ＤＶＤ又はメモリカード等）に保存し、配布してもよい。
【０１２８】
なお、記憶媒体４０６にはコンテンツのみ格納して、資産共通部１２０と機器固有資産管理モジュール１６とを含む資産管理プログラム１２、及び機器固有部設定テーブル１７は、コンテンツサーバ４０４から送信するようにしてもよい。
【産業上の利用可能性】
【０１２９】
本発明は、ソフトウェアを搭載したデジタル機器等に対して、資産管理の効率と効果の向上を目的に、利用可能である。
【図面の簡単な説明】
【０１３０】
【図１】本発明の実施形態の計算機システムのシステム構成図である。
【図２】本発明の実施形態の資産管理装置のブロック図である。
【図３】本発明の実施形態の機器固有部設定テーブルの構成図である。
【図４】本発明の実施形態の結合処理が実行される前の資産管理プログラムのプログラム構成を示す図である。
【図５】本発明の実施形態の結合処理が実行された後の資産管理プログラムのプログラム構成を示す図である。
【図６】本発明の実施形態の機器固有資産管理モジュールのフローチャートである。
【図７】本発明の実施形態の資産管理共通部のフローチャートである。
【図８】本発明の実施形態のデータコピープログラムのプログラム構成を示す図である。
【符号の説明】
【０１３１】
１：資産管理装置
１１：プログラム実行装置
１２：資産管理プログラム
１３：記憶装置
１４：ワークメモリ
１５：機器固有部設定プログラム
１６：機器固有資産管理モジュール
１７：機器固有部設定テーブル
１８：判定結果記憶領域
１９：機器識別子格納部
３０：バスブリッジ・インターフェースコントローラ
３１：入力部
３２：表示部
１２０：資産管理共通部
【図２】
2007179260.tif 000003
【図３】
2007179260.tif 000004
【図４】
2007179260.tif 000005
【図５】
2007179260.tif 000006
【図６】
2007179260.tif 000007
【図７】
2007179260.tif 000008
【図８】
2007179260.tif 000009
【図１】
2007179260.tif 000010