(57)【要約】【課題】  エラーを事後的に解析することなしに，簡易な記述のみでエラーの内容および起こった位置を特定する。【解決手段】  ライセンス１８２を記憶するデータ記憶部１５０と，コンテンツを選択するコンテンツ選択部１５２と，上記ライセンスを上記データ記憶部から抽出するライセンス抽出部１５４と，上記ライセンスにおける使用条件情報中の条件式と上記条件式に予め付与されたエラーコードとを読み取り，上記条件式を満たしているかどうかを判断する条件式判断部１５８と，上記条件式を満たしていなければ，上記エラーコードを保持するエラーコード保持部１６４とを含むライセンス評価装置１１０が提供される。このエラーコードをアプリケーションに返すことによって，アプリケーションはエラーを事後的に解析することなしに，エラーを特定することができる。【選択図】    図２
2006004072.tif 000002
【特許請求の範囲】
【請求項１】
コンテンツのライセンスを記憶するデータ記憶部と；
コンテンツを選択するコンテンツ選択部と；
前記選択されたコンテンツに対応するライセンスを前記データ記憶部から抽出するライセンス抽出部と；
前記ライセンスにおける使用条件情報中の条件式と前記条件式に予め付与されたエラーコードとを読み取り，前記条件式を満たしているかどうかを判断する条件式判断部と；
前記条件式を満たしていれば，コンテンツの処理を行うコンテンツ処理部と；
前記条件式を満たしていなければ，前記エラーコードを保持するエラーコード保持部と；
を備えることを特徴とする，ライセンス評価装置。
【請求項２】
前記ライセンス評価装置は，コンテンツに関する主たる処理を行うメインモジュール部と，前記メインモジュール部に関連付けられた複数のサブモジュール部とからなり，
前記サブモジュール部の１つは，少なくとも前記エラーコード保持部を含み，
前記エラーコード保持部を含むサブモジュール部から前記メインモジュール部に処理を移行するとき，当該サブモジュール部は，前記エラーコード保持部に保持されたエラーコードを前記メインモジュール部に戻り値として送ることを特徴とする，請求項１に記載のライセンス評価装置。
【請求項３】
前記データ記憶部は，前記ライセンスに基づく前記コンテンツの使用状態を表すステータス情報も記憶し，
前記ライセンス抽出部に抽出されたライセンスに使用制限がある場合，前記選択されたコンテンツに対応するステータス情報を前記データ記憶部から抽出するステータス情報抽出部をさらに含み，
前記条件式判断部は，前記ステータス情報の使用状態を用いて前記条件式を判断することを特徴とする，請求項１に記載のライセンス評価装置。
【請求項４】
前記使用条件情報には複数の条件式と，その条件式にそれぞれ付与された複数のエラーコードがあり，
前記エラーコード保持部は，前記使用状態が前記条件式を満たしていない全ての条件式のエラーコードを保持することを特徴とする，請求項１に記載のライセンス評価装置。
【請求項５】
前記エラーコードに応じて，エラー通知を行うエラー通知部をさらに備えることを特徴とする，請求項１に記載のライセンス評価装置。
【請求項６】
前記コンテンツ処理部によるコンテンツの処理を受けて前記ステータス情報を更新するステータス情報更新部をさらに備えることを特徴とする，請求項１に記載のライセンス評価装置。
【請求項７】
コンテンツのライセンスを評価するコンピュータプログラムであって：
コンピュータを，
コンテンツのライセンスを記憶するデータ記憶部と；
コンテンツを選択するコンテンツ選択部と；
前記選択されたコンテンツに対応するライセンスを前記データ記憶部から抽出するライセンス抽出部と；
前記ライセンスにおける使用条件情報中の条件式と前記条件式に予め付与されたエラーコードとを読み取り，前記条件式を満たしているかどうかを判断する条件式判断部と；
前記条件式を満たしていれば，コンテンツの処理を行うコンテンツ処理部と；
前記条件式を満たしていなければ，前記エラーコードを保持するエラーコード保持部と；
して機能させることを特徴とする，コンピュータプログラム。
【請求項８】
前記コンピュータプログラムは，コンテンツに関する主たる処理を行うメインモジュールと，前記メインモジュールに関連付けられた複数のサブモジュールとからなり，
前記サブモジュールの１つは，少なくとも前記エラーコード保持部として機能し，
前記エラーコード保持部として機能するサブモジュールから前記メインモジュールに処理を移行するとき，当該サブモジュールは，前記エラーコードを前記メインモジュールに戻り値として送ることを特徴とする，請求項７に記載のコンピュータプログラム。
【請求項９】
前記データ記憶部は，前記ライセンスに基づく前記コンテンツの使用状態を表すステータス情報も記憶し，
前記ライセンス抽出部に抽出されたライセンスに使用制限がある場合，前記選択されたコンテンツに対応するステータス情報を前記データ記憶部から抽出するステータス情報抽出部としてさらに機能し，
前記条件式判断部は，前記ステータス情報の使用状態を用いて前記条件式を判断することを特徴とする，請求項７に記載のコンピュータプログラム。
【請求項１０】
前記使用条件情報には複数の条件式と，その条件式にそれぞれ付与された複数のエラーコードがあり，
前記エラーコード保持部は，前記使用状態が前記条件式を満たしていない全ての条件式のエラーコードを保持することを特徴とする，請求項７に記載のコンピュータプログラム。
【請求項１１】
前記エラーコードに応じて，エラー通知を行うエラー通知部としてさらに機能することを特徴とする，請求項７に記載のコンピュータプログラム。
【請求項１２】
前記コンテンツ処理部によるコンテンツの処理を受けて前記ステータス情報を更新するステータス情報更新部としてさらに機能することを特徴とする，請求項７に記載のコンピュータプログラム。
【請求項１３】
コンテンツを選択するコンテンツ選択工程と；
前記選択されたコンテンツに対応するライセンスをデータ記憶部から抽出するライセンス抽出工程と；
前記ライセンスにおける使用条件情報中の条件式と前記条件式に予め付与されたエラーコードとを読み取り，前記条件式を満たしているかどうかを判断する条件式判断工程と；
前記条件式を満たしていれば，コンテンツの処理を行うコンテンツ処理工程と；
前記条件式を満たしていなければ，前記エラーコードを保持するエラーコード保持工程と；
を含むことを特徴とする，ライセンス評価方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，ライセンスに基づいてコンテンツの処理を行うライセンス評価装置，ライセンス評価方法およびそのコンピュータプログラムに関する。
【背景技術】
【０００２】
音楽コンテンツや映像コンテンツなどのデジタルコンテンツを利用する場合，コンテンツと当該コンテンツのライセンスを取得する必要がある。近日，このようなコンテンツとライセンスとを独立に管理するコンテンツの利用方法が実施されている。従って，上記コンテンツは，コンテンツの配信側において暗号化され，別途取得したライセンスに基づいて上記の暗号化が解かれる仕組みになっている。このような状況下では，コンテンツを自由に配布することが可能となり，コンテンツの利用は別途のライセンスにより管理される。
【０００３】
上記のようにコンテンツとライセンスが独立して提供される情報処理装置において，ライセンスのバリエーションや購入手順が複雑な場合でも，容易かつ安全にライセンス処理を行う技術が知られている（例えば，技術文献１）。ここでは，複雑なライセンスをサービス毎に分離し，そのサービス毎にライセンスを個別定義している。
【０００４】
しかし，ライセンスの使用制限を満たしているかどうかの判断において，上記の情報処理装置では，単にライセンスの使用制限内かどうかの判断のみが行われ，具体的にどの使用制限を満たしていないか特定できなかった。また，使用制限に引っかかったときに別途のエラー追跡ソフトで追跡することも可能であるが，エラーの特定に関する処理が煩雑になる問題があった。
【０００５】
例えば，ライセンスに基づいて期間を制限する場合，アプリケーションは，使用制限に満たないことは分かるが，その期間開始にまだなっていないのか，それとも期間を過ぎてしまっているのかということを認識することができない。また，アプリケーションは，複数の使用制限にかかっている場合に個々のエラーを特定することができず，アプリケーション層でのコンテンツの取り扱いに支障が生じていた。このようなエラーの特定をプログラム内で行うと，評価式を追加する毎にプログラムの修正が必要になる。
【０００６】
【特許文献１】特開２００４−３０８４４０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明は，従来のライセンスの評価装置が有する上記問題点に鑑みてなされたものであり，本発明の目的は，エラーを事後的に解析することなしに，簡易な記述のみでエラーの内容および位置を特定することが可能な，新規かつ改良されたライセンス評価装置，ライセンス評価方法およびそのコンピュータプログラムを提供することである。
【課題を解決するための手段】
【０００８】
上記課題を解決するために，本発明のある観点によれば，コンテンツのライセンスを記憶するデータ記憶部と；コンテンツを選択するコンテンツ選択部と；上記選択されたコンテンツに対応するライセンスを上記データ記憶部から抽出するライセンス抽出部と；上記ライセンスにおける使用条件情報中の条件式と上記条件式に予め付与されたエラーコードとを読み取り，上記条件式を満たしているかどうかを判断する条件式判断部と；上記条件式を満たしていれば，コンテンツの処理を行うコンテンツ処理部と；上記条件式を満たしていなければ，上記エラーコードを保持するエラーコード保持部とを備えることを特徴とする，ライセンス評価装置が提供される。
【０００９】
ここで，ライセンス評価装置は，パーソナルコンピュータ，ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ），携帯電話，携帯型音声プレーヤ，家庭ゲーム機，情報家電等で例示できる。
【００１０】
上記ライセンスは，コンテンツを処理（再生，チェックアウト等）するための暗号解読鍵を有する権利またはその権利を記述したデータであり，上記使用条件情報は，かかるライセンス内に記述されたコンテンツの使用に関する条件等をリスト形式で表した記述である。また，使用条件情報に記述される使用制限は，コンテンツの再生時間，再生期間，再生回数，コピー可能回数，チェックアウト回数，の最大値および記憶媒体への記録可否，ライセンスの移動可否，使用ログ義務の有無等を含む。
【００１１】
ライセンス評価装置は，コンテンツとライセンスとが独立して管理されるシステムに適用され，ライセンスにおける使用条件情報に記述された条件式を評価することによりライセンスの有無を判断する。具体的には，条件式判断部は，ライセンスの条件式の記述を使用条件情報から順次読み込み，その条件式を認識して，ライセンスの制限を評価する。従来は，このようなライセンスの評価において，ライセンスと合致しない条件式が１つでも参照されると，他の条件式に拘わらずエラーが生じたことのみ報告されていた。本発明は，そのような使用条件情報の記述にエラーコードを付与するのみという容易な構成で，そのエラー原因を特定することができる。
【００１２】
上記の条件式ならびにエラーコードは，ライセンスに関するプログラムの中で単に参照されるリストであり，その条件式やエラーコードが記述された使用条件情報自体がプログラムとして機能するものではない。従って，エラーコードを既存使用条件情報に追加したとしても，プログラム自体の変更を伴うものではない。
【００１３】
上記ライセンス評価装置は，コンテンツに関する主たる処理を行うメインモジュール部と，上記メインモジュール部に関連付けられた複数のサブモジュール部とからなり，上記サブモジュール部の１つは，少なくとも上記エラーコード保持部を含み，上記エラーコード保持部を含むサブモジュール部から上記メインモジュール部に処理を移行するとき，当該サブモジュール部は，上記エラーコード保持部に保持されたエラーコードを上記メインモジュール部に戻り値として送るとしても良い。
【００１４】
ライセンス評価装置では，コンテンツの処理を行うためその目的に応じて複数のモジュール部が準備されている。コンテンツの処理が要求されるとメインモジュール部（以下，単にメインモジュールという。）は，そのライセンスの有無を確認するためにライセンスに関するサブモジュール部（以下，単にサブモジュールという。）にその処理を移行する。このサブモジュールは，上記使用条件情報の記述を参照し条件式を評価する。上記サブモジュールでエラーが生じた場合，上記条件式と併せて読み取ったエラーコードを参照することができる。このエラーコードを戻り値として返すと，メインモジュールでもエラーコードを把握することができ，エラーの起こった位置を事後的に解析することなしに，そのエラーの内容および位置を特定することができる。
【００１５】
上記データ記憶部は，上記ライセンスに基づく上記コンテンツの使用状態を表すステータス情報も記憶し，上記ライセンス抽出部に抽出されたライセンスに使用制限がある場合，上記選択されたコンテンツに対応するステータス情報を上記データ記憶部から抽出するステータス情報抽出部をさらに含み，上記条件式判断部は，上記ステータス情報の使用状態を用いて上記条件式を判断するとしても良い。
【００１６】
かかる構成により，上記条件式判断部は，ライセンスの使用条件情報の使用制限と上記ステータス情報の使用状態を比較し，ライセンスの有無を判断することができる。
【００１７】
上記使用条件情報には複数の条件式と，その条件式にそれぞれ付与された複数のエラーコードがあり，上記エラーコード保持部は，上記使用状態が上記条件式を満たしていない全ての条件式のエラーコードを保持することができる。ここでエラーコードを保持するとは，エラーコード変数に代入して，その値を保持することを含む。
【００１８】
ライセンスの使用制限は，上述したステータスＩＤ単位のコンテンツの再生時間，再生期間，再生回数等があり，上記使用条件情報には，その使用制限毎の条件式が記述されている。かかる使用制限は複数設定することが可能であり，それに伴って，複数の条件式を使用条件情報に記述することができる。また，その複数の条件式を独立して定義することもできるが，論理和や論理積によって結合することもできる。本発明では，その条件毎にエラーコードを付与している。かかる構成により，全ての条件式を順次評価し，エラー（条件式を満足しない状態）が生じた条件式全てを特定することができる。
【００１９】
また，上記エラーコードに応じて，エラー通知を行うエラー通知部をさらに備えるとしても良い。かかる構成により，ユーザは，どのような制限により上記コンテンツの処理が行えなかったかを明確に把握することができる。
【００２０】
上記コンテンツ処理部によるコンテンツの処理を受けて上記ステータス情報を更新するステータス情報更新部をさらに備えるとしても良い。ステータス情報の更新は，ステータスＩＤ単位のコンテンツの再生時間，再生期間，再生回数等を追加，変更，削除することをいう。例えば，コンテンツ処理部によりコンテンツの再生が行われた場合に，ステータス情報にある使用状態を定義する変数を更新する。
【００２１】
上記ライセンス評価装置を構成する各構成部は，互いに別体の装置を構成しても良く，その複数に分けられた装置により上記ライセンス評価装置として機能するとしても良い。
【００２２】
また，上記ライセンス評価装置の各部を遂行するコンピュータプログラム，およびライセンス評価方法も提供される。
【発明の効果】
【００２３】
以上説明したように本発明によれば，使用条件情報の条件式にエラーコードを追加する構成により，エラーが生じたパラメータを事後的に解析することなしに，エラーの内容および起こった位置を特定することができる。
【００２４】
また，新たな条件式とエラーコードの追加は，条件式判断部やエラーコード保持部の実行プログラムを変更することなしに，使用条件情報の記述を追加することのみで行うことが可能となり，維持コストを大幅に削減することができる。
【発明を実施するための最良の形態】
【００２５】
以下に添付図面を参照しながら，本発明の好適な実施の形態について詳細に説明する。なお，本明細書及び図面において，実質的に同一の機能構成を有する構成要素については，同一の符号を付することにより重複説明を省略する。
【００２６】
ユーザが有料のコンテンツを利用しようと考えた場合，コンテンツ自体とそのコンテンツを利用するライセンスとを併せて取得する必要がある。近日は，このようなコンテンツとライセンスとを独立に管理するシステムが実施されている。ユーザは，暗号化されたコンテンツをコンテンツ配信サーバ等から自由にダウンロードし，このコンテンツとは別途にライセンスのみを購入する。
【００２７】
上記ライセンスには，ライセンス購入金額に応じた使用制限が記述される。ユーザは，この使用制限の記述を許可なしに変更することができない。また，ユーザは，かかるライセンスやコンテンツの暗号化の内容を認識しなくとも，コンテンツとライセンスを対応付けることのみによって，かかるコンテンツを利用することができる。
【００２８】
以下，コンテンツ配信システムを参照して，上記コンテンツとライセンスの関係を説明する。
【００２９】
（コンテンツ配信システム）
図１は，コンテンツ配信システムを概略的に表したブロック図である。上記コンテンツ配信システムは，通信網１００と，コンテンツ配信サーバ１０２と，ライセンス取得サーバ１０４と，ライセンス評価装置１１０とを含んで構成される。
【００３０】
上記通信網１００は，例えば公衆回線網であるインターネットのネットワーク網を含み，電話回線等によりサーバや各装置が接続される。
【００３１】
上記コンテンツ配信サーバ１０２は，ユーザが利用可能なコンテンツ１１２を記憶し，ライセンス評価装置１１０等の要求に応じてコンテンツ１１２を配信する。
【００３２】
上記ライセンス取得サーバ１０４は，コンテンツ配信サーバ１０２から配信されるコンテンツ１１２に対応したライセンス１１４を記憶し，ライセンス評価装置１１０等の要求に応じてこのライセンス１１４を提供する。ただし，上記ライセンス１１４は有料な場合があり，付随する課金サーバ（図示せず）によってユーザの課金を確認してから提供される。このライセンス１１４は，後述するプロダクト情報を備え，コンテンツの利用形態（利用制限）に応じてこのプロダクト情報を随時参照する。
【００３３】
上記ライセンス評価装置１１０は，パーソナルコンピュータ，ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ），携帯電話，携帯型音声プレーヤ，家庭ゲーム機，情報家電等からなり，コンテンツ１１２の配信およびライセンス１１４の取得を行う。また，通信網１００を介してコンテンツ配信サーバ１０２から受信したコンテンツ１１２を，通信網１００を介してライセンス取得サーバ１０４から取得したライセンス１１４によって処理（再生，チェックアウト等）可能な状態に変更し，コンテンツ１１２を利用する。
【００３４】
上記のコンテンツ配信システムによりコンテンツとライセンスを独立に扱い，小容量のデータからなるライセンスを売買の単位にすることができる。
【００３５】
（ライセンス評価装置１１０）
上記コンテンツ配信システムを構成しているライセンス評価装置１１０を以下に詳述する。
【００３６】
図２は，ライセンス評価装置１１０の構成を概略的に表したブロック図である。上記ライセンス評価装置１１０は，大きく，ライセンスに関する処理を行うサブモジュール（サブモジュール部）１４０と，メインモジュール（メインモジュール部）および他のサブモジュール１４２の領域に分けて考えることができる。ここで，モジュールは，コンテンツを処理する上で，論理的に完結しているプログラムの部分とも言える。上記サブモジュール１４０は，ライセンスに関する処理を一括して管理し，メインモジュールは，サブモジュール１４０を管理する。
【００３７】
また，上記ライセンス評価装置１１０は，データ記憶部１５０と，コンテンツ選択部１５２と，ライセンス抽出部１５４と，ステータス情報抽出部１５６と，条件式判断部１５８と，コンテンツ処理部１６０と，ステータス情報更新部１６２と，エラーコード保持部１６４と，エラー通知部１６６とを含んで構成される。
【００３８】
上記データ記憶部１５０は，コンテンツ１８０のライセンス１８２と，ライセンス１８２に基づくコンテンツ１８０の使用状態を表すステータス情報１８４とを記憶する。かかるライセンス１８２とステータス情報１８４とは，コンテンツ１８０のステータスＩＤ１８６により関連付けられている。また，ライセンス１８２やステータス情報１８４は暗号化されて記憶されるとしても良い。
【００３９】
上記コンテンツ選択部１５２は，利用するコンテンツ１８０を選択する。かかるコンテンツ１８０は，記憶媒体やライセンス評価装置１１０のデータ記憶部１５０に予め記憶されているとしても良いし，インターネット等の通信網を介してコンテンツ配信サーバ１０２等から読み込まれるとしても良い。ここでコンテンツ１８０は，例えば，映像，画像，音声，テキストおよびそれぞれを複合したものをいう。
【００４０】
上記ライセンス抽出部１５４は，選択されたコンテンツ１８０に対応するライセンス１８２をデータ記憶部１５０から抽出する。選択されたコンテンツ１８０は，各コンテンツ１８０とライセンス１８２および各コンテンツ１８０とステータス情報１８４の関係を特定するステータスＩＤ１８６が付与されている。ライセンス抽出部１５４は，コンテンツ１８０からこのステータスＩＤ１８６を読み取り，ステータスＩＤ１８６が示すライセンス１８２をデータ記憶部１５０から検索し，ライセンス確認対象として読み取る。
【００４１】
上記ステータス情報抽出部１５６は，ライセンス１８２に使用制限がある場合，例えば，ステータスＩＤ単位のコンテンツの再生時間，再生期間，再生回数，コピー可能回数，チェックアウト回数に関して使用制限を設けている場合，選択されたコンテンツ１８０に対応するステータス情報１８４をデータ記憶部１５０から抽出する。具体的にステータス情報抽出部１５６は，選択されたコンテンツ１８０から，このコンテンツ１８０に付与されたステータスＩＤ１８６を読み取り，ステータスＩＤ１８６が示すステータス情報１８４をデータ記憶部１５０から検出する。一方，ライセンス１８２に使用制限が無い場合，例えば，コンテンツ１８０購入後は使用制限無く自由にそのコンテンツを利用して良い場合には，ステータス情報１８４を抽出する必要がない。
【００４２】
図３は，コンテンツに付与されたステータスＩＤ１８６と，ライセンス１８２およびステータス情報１８４との関係を示した説明図である。コンテンツ１８０には，ステータスＩＤ１８６が付与されている。このステータスＩＤ１８６は，コンテンツの利用単位を表すことができる。従って，コンテンツ１８０内のさらに細分化されたコンテンツまたはトラックに関してステータスＩＤ１８６を付与することもできる。また，ライセンス１８２では，対応するコンテンツを特定するためにヘッダ１９２においてステータスＩＤを指定している。ライセンス抽出部１５４は，コンテンツ１８０から読み取ったステータスＩＤ１８６を指定しているライセンス１８２を検出し，コンテンツ１８０とライセンス１８２とを対応付ける。
【００４３】
同様に，ステータス情報１８４では，対応するコンテンツを特定するためにヘッダ１９４においてステータスＩＤを指定している。ステータス情報抽出部１５６は，コンテンツ１８０から読み取ったステータスＩＤ１８６を指定しているステータス情報１８４を検出し，コンテンツ１８０とステータス情報１８４とを対応付ける。
【００４４】
上記条件式判断部１５８は，ステータス情報１８４の使用状態が，ライセンス１８２における使用条件情報中の条件式を満たしているかどうかを判断する。図３の例で，ライセンス評価装置１１０は，先ず，ライセンス１８２の使用条件情報から条件式１９６である「再生回数≦最大再生回数」の記述を読み取り，かかる条件式１９６を認識する。また，ライセンス評価装置１１０は，ライセンス１８２の使用条件情報からエラーコード１９８の「回数制限エラー」と使用制限２００の「最大再生回数４」とを読み取る。次に，ステータス情報１８４の使用状態２０２である「再生回数２」を読み取り，条件式１９６に当てはめて，使用制限２００と使用状態２０２とを比較する。
【００４５】
条件式判断部１５８は，上記の比較を行い，条件式１９６の条件を満たしていると判断した場合，メインモジュールを介して，コンテンツ処理部１６０にコンテンツの処理を許可する。従来，上記条件式１９６を満たしていない場合，条件式判断部１５８は，コンテンツ処理部１６０にコンテンツ処理の許可を出さないで，「エラー」であることのみを報告していた。一方，本実施形態においては，条件式１９６と共に読み込まれたエラーコード１９８を条件式判断部１５８が保持することで，エラーの具体的な内容およびエラーの生じた位置を特定していた。例えば，図３では，回数制限に関するエラーであることや，条件式１９６の位置等を特定することができる。
【００４６】
上記コンテンツ処理部１６０は，条件式判断部１５８がコンテンツ１８０の処理を許可した場合，即ち，ステータス情報１８４による使用状態が条件式１９６を満たしていると判断された場合，コンテンツ１８０の処理，例えば表示部１９０を用いてコンテンツ１８０の再生を行う。かかるコンテンツ１８０の再生は，その再生ルールに乗っ取り，コンテンツ１８０を形成するトラック等が重ねてもしくは同時に再生される。また，コンテンツによっては，抽出した（選択した）トラックを順次に重ねず再生するルールを適用している場合があり，上記の「重ねてもしくは同時に」はそのような再生ルールを排他的に考えるものではない。
【００４７】
上記ステータス情報更新部１６２は，コンテンツ処理部１６０によるコンテンツ１８０の処理に応じて，ステータス情報１８４を更新する。かかる更新は，ステータスＩＤ単位のコンテンツもしくはトラックの再生時間，再生期間，再生回数，コピー可能回数，チェックアウト回数等の追加，変更，削除によって行われる。
【００４８】
上記エラーコード保持部１６４は，条件式判断部１５８が，ステータス情報１８４の使用状態が条件式１９６を満たしていると判断した場合，条件式１９６に予め付与されたエラーコード１９８を保持する。かかるエラーコード１９８の保持は，エラーコード変数への書き込み等の処理を含む。また，ライセンスに関する処理を一旦完了し，サブモジュール１４０からメインモジュールにその処理を移行するとき，かかるエラーコード１９８を戻り値としてメインモジュール１４０に返すこともできる。このようにエラーコード１９８を保持または送信することによって，エラーを事後的に解析することなしに，当該エラーの関係を特定することができる。
【００４９】
上記エラー通知部１６６は，エラーコード保持部１６４からのエラーコード１９８に応じて，エラーの通知を行う。このエラーの通知は，ライセンス評価装置１１０におけるエラーランプや警告音によって行われるとしても良いし，表示部１９０に詳細なエラー内容を表示して行われるとしても良い。
【００５０】
また，コンピュータをして，上記各部として機能せしめるコンピュータプログラムも提供される。
【００５１】
以下に，コンテンツ１８０，ライセンス１８２，ステータス情報１８４に関して詳細に説明する。
【００５２】
（コンテンツ１８０）
有料のコンテンツを利用する場合，当該コンテンツは，著作権管理システム技術等により管理される。具体的に，上記著作権管理システムは，コンテンツのライセンスを設定することによって，正当ユーザ（コンテンツの著作権に対する正当な対価を支払ってライセンスを購入し，私的使用の範囲内での利用を行うユーザ）に対しては，比較的自由にコンテンツの利用を認めている。一方で，インターネット等を通じたコンテンツの大量配布行為等といった違法利用を行うユーザや，正当な対価を支払わずにライセンスの範囲を越えてコンテンツを利用しようとするユーザに対しては，コンテンツの利用を厳しく制限している。
【００５３】
上記著作権管理システムにおいて，コンテンツを再生するアプリケーションは，上記ライセンスに関するサブモジュール１４０に相当するＤＲＭ（Ｄｉｇｉｔａｌ  Ｒｉｇｈｔ  Ｍａｎａｇｅｍｅｎｔ）モジュールを介して当該コンテンツや権利データ等の通信，管理を行っている。コンテンツに関連付けられたライセンスやステータス情報はこのＤＲＭモジュールによって制御されている。
【００５４】
図４は，本実施形態にかかるライセンス評価装置で再生されるコンテンツの構成を示した構成図である。ここでは，映画コンテンツの構成例を挙げて説明する。
【００５５】
図４に示すように，１つのコンテンツファイル２１０内に１つの映画コンテンツ２２０が含まれており，この映画コンテンツ２２０は，例えば，映像トラック（Ｖｉｄｅｏ  Ｔｒａｃｋ）２３０と，音声トラック（Ａｕｄｉｏ  Ｔｒａｃｋ）２３２と，字幕トラック（Ｓｕｂｔｉｔｌｅ  Ｔｒａｃｋ）２３４と，各トラック２３０，２３２，２３４に対応するセキュリティ情報２４０，２４２，２４４とから構成されている。
【００５６】
映画コンテンツ２２０に含まれる上記各トラックは，コンテンツの構成要素であり，コンテンツの実際の内容を表すデータである。１つのコンテンツを構成するトラックの数は，コンテンツ毎に異なり，図４の例では，３つのトラック２３０，２３２，２３４から構成されている。このうち，映像トラック２３０は，映画の映像に相当する動画データである映像データを含む。また，音声トラック２３２は，映画の音声に相当する音声データを含む。また，字幕トラック２３４は，映画の字幕データを含む。これらの各トラック２３０，２３２，２３４は，対応するセキュリティ情報に含まれるトラック鍵２５０でそれぞれ暗号化されている。
【００５７】
なお，コンテンツは，上記映像トラック２３０，音声トラック２３２，字幕トラック２３４のいずれかのみで構成されてもよいし，上記以外にも，他のトラック（静止画トラック，音楽に関する文字情報トラック等）を含んでもよい。
【００５８】
上記セキュリティ情報２４０，２４２，２４４は，コンテンツの著作権管理を行うための情報（ＳＩＮＦ：Ｓｅｃｕｒｉｔｙ  Ｉｎｆｏｒｍａｔｉｏｎ）であり，例えば，ライセンス評価装置１１０や，ライセンス評価装置１１０に通信網１００を介して接続されたコンテンツ配信サーバ１０２等によってトラック毎に付加される。図４の例では，１つの映画コンテンツ２２０内の，３つのトラック２３０，２３２，２３４に対して３つのセキュリティ情報２４０，２４２，２４４がそれぞれ付加されている。なお，本実施形態では，このようにトラック単位でセキュリティ情報が設けられているが，かかる例に限定されず，例えば，トラック毎のライセンス管理を行わない場合には，コンテンツ単位でセキュリティ情報を設けても良い。
【００５９】
このセキュリティ情報は，例えば，暗号化されたトラック鍵２５０と，属性情報２６０と，署名２７０とからなる。
【００６０】
上記トラック鍵２５０は，上記暗号化された各トラックを解読（デコード）するための鍵である。セキュリティ情報２４０のトラック鍵２５０は，映像トラック２３０を解読するための鍵であり，セキュリティ情報２４２のトラック鍵２５０は，音声トラック２３２を解読するための鍵であり，セキュリティ情報２４４のトラック鍵２５０は，字幕トラック２３４を解読するための鍵である。また，このようなトラック鍵自体も，ライセンス鍵で暗号化されている。従って，適正なライセンスがなければ，トラック鍵を解読することができず，この結果，上記トラックのコンテンツデータを解読して再生等することができない。
【００６１】
上記属性情報（Ａｔｔｒｉｂｕｔｅ）２６０は，コンテンツの属性を表す情報であり，後述する複数のコンテンツ属性ＩＤからなる。このコンテンツ属性ＩＤに上述したステータスＩＤが含まれる。コンテンツの属性は，コンテンツの著作権管理面での性質，特徴（例えば，ステータス，ファイル，トラック等）のみならず，コンテンツの内容面での性質，特徴（例えば，コンテンツの監督，主演俳優等）なども含む。本実施形態では，属性情報２６０は，例えば，コンテンツを構成するトラック毎に定められ，コンテンツを構成する各トラックの属性を表している。このため，同一の映画コンテンツ２２０内であっても，異なるトラックに対応する属性情報２６０は，異なる情報となる場合がある。このようにコンテンツに付加された属性情報２６０は，当該コンテンツとライセンスとのマッチングをとるために利用される。かかる属性情報２６０は，例えば，属性コードと，コンテンツ属性ＩＤとからなる。
【００６２】
上記署名２７０は，ライセンス評価装置１１０や，ライセンス評価装置１１０に通信網１００を介して接続されたコンテンツ配信サーバ１０２等によって付加されたデジタル署名であり，セキュリティ情報全体の改竄を防止する機能を有する。この署名２７０は，例えば，デジタル署名の正当性を検証するための証明書をも含む。
【００６３】
次に，本実施形態にかかる属性情報２６０について詳細に説明する。
【００６４】
図５は，本実施形態にかかる属性情報２６０の構成例を概念的に示す説明図である。かかる属性情報２６０は，属性コード２８０と，かかる属性コードに対応するコンテンツ属性ＩＤ２９０とから構成されている。
【００６５】
上述したように，属性情報２６０は，トラックの属性を表す情報である。この属性情報２６０は，コンテンツ毎にライセンス評価装置１１０や，ライセンス評価装置１１０に通信網１００を介して接続されたコンテンツ配信サーバ１０２等によって設定され，当該トラックに対応したセキュリティ情報内に付加される。
【００６６】
上記属性コード２８０は，コンテンツの属性の種類を識別するための識別コードである。この属性コード２８０は，属性情報２６０が付加されるコンテンツの異同にかかわらず，例えば，著作権管理システム内で，コンテンツの属性の種類毎に共通に定められたコードである。この属性コードは，例えば「Ａ０００」等の４桁の文字列で構成される。本実施形態では，例えば，「Ａ０００」〜「Ａ９９９」までの１０００個の属性コードを設定可能であり，これにより１０００種類の属性を定義することができる。
【００６７】
上記コンテンツ属性ＩＤ２９０は，コンテンツの属性を特定するＩＤである。このコンテンツ属性ＩＤ２９０は，コンテンツの属性毎に固有な文字列（図５の例では１４桁の文字列）で構成されており，当該コンテンツ属性ＩＤ２９０が付加されたコンテンツの属性を一意に特定する。このコンテンツ属性ＩＤ２９０は，コンテンツの属性の種類（上記属性コード）毎に複数の種類が設定されている。以下に，各コンテンツ属性ＩＤについてそれぞれ説明する。
【００６８】
属性コードが「Ａ０００」のコンテンツ属性ＩＤは，ステータスＩＤである。このステータスＩＤは，ライセンスが適用されるトラックまたはコンテンツ単位で固有に付与されるＩＤである。このライセンスが適用されるトラックまたはコンテンツは，ライセンスを用いた著作権管理の対象として意味のあるデータの集合である。このステータスＩＤをコンテンツに対して付加することにより，システム内で流通するライセンスが適用されるコンテンツが識別される。
【００６９】
ここで，コンテンツを管理する管理者（サービスプロバイダ）は，ステータスＩＤを付与する単位（即ち，ライセンスが適用されるコンテンツまたはトラックの単位）を多様な形態で自由に決定できる。
【００７０】
例えば，かかるステータスＩＤは，複数のトラックに跨って同一のステータスＩＤを付与するとしても良いし，コンテンツ単位で付与されても良い。また，コンテンツを跨って，複数のトラックに同一のステータスＩＤを付与することもできる。この場合，それぞれの組み合わせに応じたステータス情報が関連付けられ，そのステータス情報に応じてライセンスが適用される。
【００７１】
属性コードが例えば「Ａ０２９」のコンテンツ属性ＩＤは，コンテンツＩＤ（ファイルＩＤとも呼ぶ。）である。このコンテンツＩＤは，１又は２以上のトラックを含むコンテンツファイル単位で固有に付与されるＩＤである。例えば，図４の例では，１つの映画コンテンツ２２０を含むコンテンツファイル２１０に対し，１つのファイルＩＤが付与される。このようなコンテンツＩＤをコンテンツに対して付加することにより，システム内で流通するコンテンツのファイルを識別できる。
【００７２】
属性コードが例えば「Ａ２５７」〜「Ａ２６４」の８つのコンテンツ属性ＩＤは，グループＩＤである。このグループＩＤは，複数のコンテンツで共通する属性である共通属性単位で固有に付与されるＩＤである。このグループＩＤは，複数種類の共通属性に対応して複数種類設定される。このグループＩＤが表す共通属性は，コンテンツ配信サーバ１０２の管理者（サービスプロバイダ）が自由に設定することができる。
【００７３】
上述したように，かかるステータスＩＤにはそれぞれライセンスとステータス情報が関連付けられている。ライセンス評価装置１１０のＤＲＭモジュールは，先ず，指定されたトラックに対応したセキュリティ情報を読み込み，その中の属性情報２６０からステータスＩＤを抽出する。さらにそのステータスＩＤに関連付けられたライセンスを参照し，必要あればさらにステータス情報をも参照し，その内容がライセンスの制限内であるかどうか確認する。
【００７４】
ここで，条件式判断部１５８がライセンスの確認を終えると，セキュリティ情報内にあるトラック鍵２５０によって指定されたトラックが復号され，コンテンツが処理可能な状態になる。
【００７５】
（ライセンス１８２）
ユーザは，ライセンス評価装置１１０においてコンテンツを利用しようと試みた場合，上述したコンテンツと共に，予めライセンス取得サーバ１０４からライセンスを取得しておかなければならない。このようなライセンスは，ユーザまたはライセンス評価装置１１０を特定するリーフＩＤやコンテンツの使用制限等を含んでいる。
【００７６】
図６は，本実施形態におけるライセンスの構成例を示した説明図である。ライセンス１８２は，ヘッダ１９２と，バージョン３１０と，プロファイル３１２と，作成日時３１４と，有効期限３１６と，使用条件情報３１８と，使用条件情報の電子署名３２０と，コンテンツ条件３２２と，定数３２４と，リーフＩＤ３２６と，電子署名３２８と，証明書３３０とを含んで構成される。
【００７７】
上記ヘッダ１９２におけるステータスＩＤは，上述したように各コンテンツ１８０とライセンス１８２および各コンテンツ１８０とステータス情報１８４の関係を特定する。従って，ライセンス抽出部１５４は，コンテンツ１８０から読み取ったステータスＩＤ１８６とデータ記憶部１５０内のライセンス１８２のヘッダに記述されたステータスＩＤとを比較することによって，ライセンス１８２とコンテンツ１８０とを関連付ける。
【００７８】
上記バージョン３１０は，ライセンス１８２のバージョンを表し，メジャーバージョンとマイナーバージョンを順次並べて記載する。
【００７９】
上記プロファイル３１２は，ライセンス１８２の記述方法に対する制限を規定する情報であり整数値で記載される。
【００８０】
上記作成日時３１４は，当該ライセンス１８２が設定された日時，即ち，ライセンス１８２の作成日時が記載されている。
【００８１】
上記有効期限３１６は，当該ライセンス１８２の有効期限を示し，通常西暦による年，月，日，時刻の記載が行われる。有効期限を無制限にする場合，その旨の記号を添付するか，有効期限を９９９９年１２月３１日２３時５９分５９秒に設定する。
【００８２】
上記使用条件情報３１８は，ライセンス１８２に基づいてコンテンツ１８０を使用できる使用制限がリスト形式で記述される。この使用制限は，ステータスＩＤ単位のコンテンツの再生時間，再生期間，再生回数，コピー可能回数，チェックアウト回数，の最大値および記憶媒体への記録可否，ライセンスの移動可否，使用ログ義務の有無等を含んでいる。また，使用条件情報３１８には，大きく条件式とエラーコードと使用制限とが記述されている。
【００８３】
上記使用条件情報の電子署名３２０は，使用条件情報３１８に対応する電子署名であり，使用条件情報３１８の改竄を防止する機能を有する。この電子署名３２０は，例えば，電子署名３２０の正当性を検証するための証明書をも含む。
【００８４】
上記コンテンツ条件３２２は，処理するコンテンツ１８０に関する制限が設けられている。
【００８５】
上記定数３２４は，使用条件情報３１８で参照される定数が記載されている。
【００８６】
上記リーフＩＤ３２６は，ライセンス評価装置１１０に割り当てられ，ライセンス評価装置１１０を識別する識別情報である。
【００８７】
上記電子署名３２８は，ライセンス１８２全体に対応する電子著名であり，ライセンス１８２の改竄を防止する。
【００８８】
上記証明書３３０は，ライセンス取得サーバ１０４の公開鍵を含む証明書である。
【００８９】
本実施形態においては，条件式判断部１５８によって使用条件情報３１８に記述された条件式とエラーコードが参照され，条件式に満たない場合，即ち，ライセンス１８２の使用制限にかかった場合は，そのエラーコードによって，エラーの内容を把握することができる。
【００９０】
（ステータス情報１８４）
ステータス情報１８４は，コンテンツ１８０の利用単位であるステータスＩＤ１８６に対応して生成される。従って，ステータス情報１８４は，ライセンス１８２とも対応する。ただし，ライセンス１８２は，固定された使用制限を規定しているのに対して，ステータス情報１８４は，コンテンツ１８０の使用に応じて使用状態が更新される。そして，次回のコンテンツ１８０利用時には，かかる更新後の使用状態が参照され，ライセンス１８２と再度比較することによって，利用の可否が決定される。
【００９１】
また，ステータス情報１８４には，ライセンス１８２の使用制限に対応して，ステータスＩＤ単位のコンテンツの再生時間，再生期間，再生回数，コピー可能回数，チェックアウト回数が書き込まれる。使用制限に関する項目がライセンス１８２にあって，ステータス情報１８４にない場合は，ステータス情報抽出部１５６においてステータス情報１８４に新たに上記項目が追加される。
【００９２】
次に，ライセンス評価装置１１０の理解を容易にするため，さらに詳細な説明を行う。ここでは，ライセンス１８２の取得における条件式の追加とその条件式による評価を主に説明する。
【００９３】
ユーザが，ライセンス取得サーバ１０４からライセンス１８２を取得する場合，先ず，ライセンス取得サーバが，ライセンス取得サーバ１０４に記憶されたプロダクト情報を参照してライセンス１８２を生成する。かかるプロダクト情報には，対応するコンテンツ１８０に関する全ての使用条件と使用制限が記述され，そのコンテンツ１８０の購入方法や購入金額に応じて，プロダクト情報から部分的に条件式等が抽出され，抽出された条件式等により各々のライセンス評価装置１１０に対するライセンス１８２が設定される。
【００９４】
図７は，プロダクト情報４００の記述例を示した説明図である。上記プロダクト情報４００には，コンテンツ１８０の条件式がＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）によって羅列される。図７に示すプロダクト情報においては，再生回数３回，チェックアウト回数３回，再生開始日２００１年１２月１日，再生終了日２００２年２月２８日との使用制限が付されている。
【００９５】
このプロダクト情報４００からライセンス１８２を生成する場合，ユーザの利用条件に応じて，例えば，コンテンツ１８０の再生だけを許容する使用条件が選択される。この場合，プロダクト情報４００のルール部からコンテンツ１８０の再生に関する項目（条件式および使用制限）が分割される。例えば，再生開始日，再生終了日，および，チェックアウト回数の使用制限がライセンス１８２に分割され，ライセンス評価装置１１０に課せられる。
【００９６】
図８は，上記のようにプロダクト情報４００から分割された従来のライセンス１８２を示した説明図である。図８に示された記述は，ライセンス１８２中の使用条件情報に記載され，Usage_rulesとして表される。条件式「（’ivar.rend.resp’＜= ’gvar.sys.ucdt’） and (’gvar.sys.ucdt’＜= ’ivar.rend.reep’)」で，「’ivar.rend.resp’」や「’ivar.rend.reep’」は図中下の初期値における使用制限を示す変数であり，「’gvar.sys.ucdt’」は，ステータス情報１８４の使用状態を示す変数である。ここでは，使用状態「’gvar.sys.ucdt’」（使用時の時刻）が条件式を満たすかどうか，即ち，再生開始日より遅く，再生終了日より早いかが評価される。かかる記述は，単にデータを記載したリストであり，条件式判断部１５８は，ライセンスを評価する別途のプログラムによりかかる条件式を参照，評価している。
【００９７】
また，図８のライセンス１８２では，チェックアウト回数も条件式「’gvar.sys.umcc’＜’ivar.comrecc’」によって評価および管理される。
【００９８】
このような従来のライセンスの評価においては，ＤＲＭモジュールが「’ivar.rend.resp’」や「’gvar.sys.ucdt’」の意味を認識できず，比較演算のみを行っていた。従って，ＤＲＭモジュールは，エラーの生じた条件式に使用された変数を戻り値としてメインモジュールに返し，アプリケーションは，その複数の変数を解析していた。しかし，アプリケーションは，かかる変数がどのような条件の下で評価されたかが分からないので，明確にエラーを把握することは困難であった。
【００９９】
このような使用条件情報は，ある程度定められた記述によって構成される。
【０１００】
使用制限で定義できるものは，ステータスＩＤ単位のコンテンツの再生時間，再生期間，再生回数，コピー可能回数，チェックアウト回数等がある。基本的な記述方法としては，各ドメイン，つまりコンテンツの利用形態のカテゴリ毎に条件式が記述される。
【０１０１】
図９は，各々の使用条件情報の記載を示した説明図である。１つの使用条件情報（Ｕｓａｇｅ  Ｒｕｌｅ）は，先頭に記述するｄｏｍａｉｎ＿ｉｄによってそれを適用するドメインを規定する。さらに，それに続く「’{’…’}’」内に，各種ルールが規定され，その枠内では，ルールセクション，ｉｎｖａｒｉａｂｌｅｓセクション，およびｏｖｅｒｈｅａｄ  ｐａｒｔセクションの３つのセクションが定義される。
【０１０２】
上記ルールセクションは，上記枠内において複数のdomain_ruleを記述することが可能である。ｉｎｖａｒｉａｂｌｅｓセクションは，ルールセクションに続いて記述され，変数の定義を行う。ｏｖｅｒｈｅａｄ  ｐａｒｔセクションは，ｉｎｖａｒｉａｂｌｅｓセクションに続く部分であり，各ドメイン毎の独自のルールを記述する部分である。
【０１０３】
domain_idは，ドメインを示す名称であり，「drm」，「renderer」，「ripper」，「burner」，「lcm」の文字列のうちのいずれかである。
【０１０４】
上記ｄｒｍドメインは全ての利用形態のカテゴリ（上述のＤＲＭモジュールに対応する。），上記ｒｅｎｄｅｒｅｒドメインはコンテンツの再生，表示等の利用形態のカテゴリ，上記ｒｉｐｐｅｒドメインはＣＤのコンテンツの読み出しの利用形態のカテゴリ，上記ｂｕｒｎｅｒドメインはコンテンツのＣＤ−Ｒへの記録の利用形態のカテゴリをそれぞれ表している。
【０１０５】
ルールセクションに記述される条件式は，各ドメインの状態変数や定数などを参照するためのＣｈａｒｓ  Ｃｏｄｅ（ＣＣ）に対して，比較演算を施したものである。
【０１０６】
利用できる演算子には，単項演算子として「!」，２項演算子として「=」，「＜」，「＞」，「＜=」，「＞=」，「in」，「and」，「or」を利用できる。上記２項演算子の演算優先順位は，上記の並び順では，前にある演算子ほど高いことになる。どの演算子も左結合である。
【０１０７】
上記ｉｎｖａｒｉａｂｌｅｓセクションは，各種定数を記述する部分であり，「Ｃｈａｒｓ  Ｃｏｄｅ  =  値；」の形式でＣｈａｒｓＣｏｄｅに値を定義する。
【０１０８】
上記の記述を基に，具体的な使用条件情報の実施形態を数点挙げる。詳述する以下の説明によって本実施形態の特徴であるエラーコードの追加を明確に把握することができる。
【０１０９】
図１０は，ライセンス１８２の使用条件情報の一例を示したデータリストである。ここでは，ｄｒｍドメインとｒｅｎｄｅｒｅｒドメインにおいて，使用制限であるライセンスの認証と再生期間内の利用が評価されている。
【０１１０】
図１０の上側に記述された条件式は，「'ivar.com.rlef' = 'gvar.sys.uref'」であり，変数'ivar.com.rlef'には，ライセンスによって利用を許可された端末のＩＤである所定値/07ff000000000001が代入される。rlefは上述したリーフＩＤを示す。ここで，ＤＲＭモジュールがソースにおいて管理している端末ＩＤを読み込み，条件式判断部１５８でその値が一致しているかどうか判断され，一致していれば，かかる条件式判断を終了し，図１０の下側の条件式に移行する。このように，ライセンス評価装置１１０は，ライセンス１８２の使用条件情報から条件式を順次読み込み，読み込んだ順に条件式を評価する。
【０１１１】
また，上記条件式の値が一致していない場合，条件式と共に読み込まれたエラーコード「ERROR_LEAF_MISMATCH」が保持され，サブモジュールの戻り値として，メインモジュールに返される。次に，メインモジュールは，かかるエラーの内容をエラーコードに対するエラーテーブルから読み出して，表示部等を介してエラー通知を行う。
【０１１２】
図１１は，エラーメッセージを示した外観図である。上記のようにライセンス評価装置１１０のＩＤとライセンスで指定されるＩＤとが異なる場合，不正利用として，「他人のライセンスを使用しています。自分用のライセンスをダウンロードしてください。」の警告が表示される。
【０１１３】
同様に，図１０の下側に記述された条件式は，「'gvar.rend.uefu' + 'ivar.rend.rxp1' ＞= 'gvar.sys.ucdt'」であり，'ivar.rend.rxp1'には所定の期間（本実施形態においては７日間）が条件式と共に記載されている。ここでは，変数'gvar.rend.uefu'に，そのコンテンツを最初に利用した時間が読み込まれるが，この値自体は，ステータス情報１８４に記憶されている。条件式判断部１５８は，コンテンツを最初に利用した時間'gvar.rend.uefu'にライセンス期間'ivar.rend.rxp1'を足し，その結果がコンテンツ利用時より後であることを判断する。この条件式が満たされれば，ライセンス１８２の確認は終了し，ライセンス評価装置１１０は，次の処理に移行する。
【０１１４】
また，上記条件式が満たされない場合，条件式と共に読み込まれたエラーコード「ERROR_EXPIRED」が保持され，サブモジュールの戻り値として，メインモジュールに返される。次に，メインモジュールは，かかるエラーの内容をエラーコードに対するエラーテーブルから読み出して，表示部等を介してエラー通知を行う。
【０１１５】
図１２は，エラーメッセージを示した外観図である。上記のライセンス１８２は，このライセンス１８２を通じてコンテンツ１８０を最初に利用した時から７日間利用することが可能である。この利用可能期間を超過した場合，「再生期限を過ぎています。新しいライセンスを購入してください。」の警告が表示される。
【０１１６】
図１３は，ライセンス１８２の使用条件情報の一例を示したデータリストである。ここでは，ｄｒｍドメインにおいて，使用制限である視聴ライセンスの有無が評価されている。
【０１１７】
図１３に記述された条件式は，「'ivar.attr.A256’ = ’ivar.com.X001'」であり，'ivar.com.X001'にはこのライセンス１８２で使用されるＰｒｅｖｉｅｗの値（本実施形態においては，/0000000000000001）が条件式と共に記載されている。ここでは，条件式判断部１５８が変数'ivar.attr.A256’に，当該ライセンスと関連付けられたコンテンツのセキュリティ情報内の属性情報における属性コードA256の値を読み込む。条件式判断部１５８は，両値が一致しているかどうかを判断し，一致していれば，ライセンス１８２の確認は終了する。
【０１１８】
また，上記の両値が一致しない場合，条件式と共に読み込まれたエラーコード「CAN_NOT_PREVIEW_ERROR」が保持され，サブモジュールの戻り値として，メインモジュールに返される。次に，メインモジュールは，かかるエラーの内容をエラーコードに対するエラーテーブルから読み出して，表示部等を介してエラー通知を行う。
【０１１９】
図１４は，エラーメッセージを示した外観図である。上記のライセンス１８２では，Previewの視聴を行うことができないので，「対応する視聴ライセンスがありません。視聴ライセンスをダウンロードしてください。」の警告が表示される。
【０１２０】
図１５は，ライセンス１８２の使用条件情報の一例を示したデータリストである。ここでは，ｒｅｎｄｅｒｅｒドメインにおいて，使用制限であるライセンス取得サーバ１０４への定期更新の有無が評価されている。
【０１２１】
図１５に記述された条件式は，「'gvar.sys.ultc’ + ‘ivar.rend.rtci’ ＞ ‘gvar.sys.trtm’」であり，‘ivar.rend.rtci’にはライセンス取得サーバ１０４へのアクセスを行うべき最低期間（本実施形態においては，１分間）が条件式と共に記載されている。ここで，変数'gvar.sys.ultc’には，ライセンス取得サーバ１０４に最後に接続した時間が書き込まれるが，この値自体は，当該ライセンス１８２と関連付けられたステータス情報１８４に記憶されている。条件式判断部１５８は，最後にライセンス取得サーバ１０４にアクセスした時間'gvar.sys.ultc’にアクセス最低期間‘ivar.rend.rtci’を足して，その結果が，コンテンツ利用時より後であることを判断する。この条件式が満たされれば，ライセンス１８２の確認は終了する。
【０１２２】
また，上記条件式が満たされない場合，条件式と共に読み込まれたエラーコード「NEED_SERVER_CONNECTION」が保持され，サブモジュールの戻り値として，メインモジュールに返される。次に，メインモジュールは，かかるエラーの内容をエラーコードに対するエラーテーブルから読み出して，表示部等を介してエラー通知を行う。
【０１２３】
図１６は，エラーメッセージを示した外観図である。上記のライセンス１８２では，定期にライセンス取得サーバへのアクセスが要求されるので，「サーバに接続し，時間情報の更新が必要です。」の警告が表示される。
【０１２４】
図１７は，ライセンス１８２の使用条件情報の一例を示したデータリストである。ここでは，ｒｅｎｄｅｒｅｒドメインにおいて，使用制限であるライセンス取得サーバ１０４への更新の有無が評価されている。
【０１２５】
図１７に記述された条件式は，「'gvar.sys.ultc’＞‘gvar.sys.usst’」であり，ライセンス１８２は定数を持っていない。変数‘gvar.sys.usst’に，ＤＲＭモジュールを含むアプリケーションが起動した時刻が書き込まれ，変数
'gvar.sys.ultc’には最後にコンテンツ取得サーバ１０４にアクセスした時刻が書き込まれる。条件式判断部１５８は，最後にライセンス取得サーバ１０４にアクセスした時刻'gvar.sys.ultc’とアプリケーションの起動時刻‘gvar.sys.usst’とを比較して，ライセンス取得サーバ１０４へのアクセスがアプリケーション起動時刻より後に行われていることを判断する。この条件式が満たされれば，ライセンス１８２の確認は終了する。
【０１２６】
また，上記条件式が満たされない場合，条件式と共に読み込まれたエラーコード「NEED_SERVER_CONNECTION」が保持され，サブモジュールの戻り値として，メインモジュールに返される。次に，メインモジュールは，かかるエラーの内容をエラーコードに対するエラーテーブルから読み出して，表示部等を介してエラー通知を行う。このとき，図１５の場合と同様，図１６に示したエラーメッセージが表示される。
【０１２７】
次に，使用条件情報中に条件式が複数並記されている場合のエラー通知について述べる。
【０１２８】
図１８は，ライセンス１８２の使用条件情報の一例を示したデータリストである。ここでは，ｒｅｎｄｅｒｅｒドメインにおいて，使用制限である一定期間内の利用が評価されている。
【０１２９】
図１８に記述された条件式は，「'ivar.rend.resp' ＜= 'gvar.sys.ucdt'」および「'gvar.sys.ucdt' ＜='ivar.rend.reep'」の２つの条件を含み，論理積で結ばれている。従って，この２つの条件を同時に満たしている場合のみコンテンツを利用することができる。'ivar.rend.resp'および'ivar.rend.reep'は，ライセンスに定数として記載され，'ivar.rend.resp'はライセンス１８２で指定される開始期限，'ivar.rend.reep'はライセンス１８２で指定される終了期限を示す。ここでは，変数'gvar.sys.ucdt'が現在時刻を示し，条件式判断部１５８は，かかる現在時刻が開始期限より後であり，かつ，終了期限より前であることを判断する。この条件式が満たされれば，ライセンス１８２の確認は終了する。
【０１３０】
また，上記条件式の何れか一方が満たされない場合，条件式と共に読み込まれたエラーコード「ERROR_TOO_EARLY」もしくは「ERROR_TOO_LATE」が保持され，サブモジュールの戻り値として，メインモジュールに返される。次に，メインモジュールは，かかるエラーの内容をエラーコードに対するエラーテーブルから読み出して，表示部等を介してエラー通知を行う。
【０１３１】
図１９および図２０は，エラーメッセージを示した外観図である。上記のライセンス１８２に定められた期間内の利用でない場合は，開始期限に到達していなければ，図１９のように「再生期限に到達していません。期限になるまでお待ちください。」の警告が表示され，終了期限を超過していれば，図２０のように「再生期限を過ぎています。新しいライセンスを購入してください。」の警告が表示される。
【０１３２】
本実施形態では，条件式判断毎に分けてエラーの特定について説明したが，複数のエラーが同時に生じる場合，その複数のエラーに対応した複数のエラーコードを同時に保持し，全ての条件式判断が終了した後に戻り値としてメインモジュールに返すことができる。従って，従来，エラーが起こったことのみしか分からなかったメインモジュールにおいて，確実にエラーの原因を把握することができる。
【０１３３】
（ライセンス評価方法）
次に，ユーザがコンテンツの利用を希望した時，当該コンテンツにおけるライセンスの評価を行うライセンス評価方法について説明する。
【０１３４】
図２１は，ライセンス評価方法の流れを示したフローチャート図である。先ず，ライセンス評価装置１１０は，ユーザの希望に応じて，処理するコンテンツを選択する（Ｓ６００）。ライセンス評価装置１１０のアプリケーション（メインモジュール）は，ライセンスの有無を確認するＤＲＭモジュールに処理を引き渡し，ＤＲＭモジュールは，コンテンツ選択工程（Ｓ６００）で選択されたコンテンツに対応するライセンスをデータ記憶部から抽出する（Ｓ６０２）。
【０１３５】
ＤＲＭモジュールは，抽出したライセンスに使用制限があるかどうか確認し，使用制限がある場合，選択されたコンテンツに対応した，ライセンスに基づく上記コンテンツの使用状態を表すステータス情報を上記データ記憶部から抽出する（Ｓ６０４）。ライセンスに，かかる使用制限が無い場合は，上記のステータス情報抽出工程（Ｓ６０４）を省略することができる。
【０１３６】
ここで，ＤＲＭモジュールは，ライセンスにおける使用条件情報中の条件式と上記条件式に予め付与されたエラーコードとを読み取り，ステータス情報抽出工程（Ｓ６０４）で抽出したステータス情報の使用状態が上記条件式を満たしているかどうかを判断する（Ｓ６０６）。ただし，かかる条件式にステータス情報の使用状態が参照されるとは限られず，前回までの使用状態を利用しない使用制限，例えば，コンテンツの利用を希望する時刻などのみを参照する場合もある。
【０１３７】
この条件式判断工程（Ｓ６０６）で，ステータス情報の使用状態もしくはその他の使用制限に関する引用値が使用条件情報から参照された条件式を満たしていれば，ＤＲＭモジュールは，アプリケーションに対してライセンスによるコンテンツの許可を行い，アプリケーションは，コンテンツ選択工程（Ｓ６００）で選択されたコンテンツの処理（再生，チェックアウト等）を行う（Ｓ６０８）。また，ＤＲＭモジュールは，コンテンツ処理工程（Ｓ６０８）によるコンテンツの処理を受けてステータス情報抽出工程（Ｓ６０４）で抽出されたステータス情報を更新する（Ｓ６１０）。かかるステータス情報の更新は，再生時間や再生時刻の変更，再生回数やチェックアウトのインクリメント等が考えられる。
【０１３８】
また，上記条件式判断工程（Ｓ６０６）で，ステータス情報の使用状態もしくはその他の使用制限に関する引用値が使用条件情報から参照された条件式を満たしてなければ，条件式判断工程（Ｓ６０６）において条件式と共に参照されたエラーコードを保持し（Ｓ６１２），アプリケーションに処理を移行するときに，使用制限を満たしていない全てのエラーコードを戻り値として受け渡す。アプリケーションは，このエラーコードに応じて，エラー通知，例えば，表示部にエラーに関するＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）の警告を行う（Ｓ６１４）。
【０１３９】
次に，ＤＲＭモジュールによる処理を具体的に説明する。使用条件情報の条件式ならびにエラーコードはＤＲＭモジュールの処理の中で単に参照されるリストであり，その使用条件情報自体がプログラムとして機能するものではない。従って，エラーコードを既存使用条件情報に追加したとしても，それがＤＲＭモジュールのプログラム自体の変更をするものではないので，何ら不都合を伴わない。
【０１４０】
図２２は，上述した条件式判断工程（Ｓ６０６）の詳細な流れを示したフローチャートである。ここでは，図１０の下側に例示した条件式を参照して再生期間内の利用であるかどうかを確認している。先ず，ＤＲＭモジュールは，ライセンスの使用条件情報から条件式「'gvar.rend.uefu' + 'ivar.rend.rxp1' ＞= 'gvar.sys.ucdt'」およびエラーコード「ERROR_EXPIRED」を読み取る（Ｓ６５０）。次に，このコンテンツの再生が初回，即ち初めての視聴であるかどうかが確認される（Ｓ６５２）。初視聴と判断された場合は，ステータス情報にそのコンテンツを最初に利用した時間を示す変数'gvar.rend.uefu'を作成し，コンテンツの最初の利用時間，即ち現在時刻を代入する（Ｓ６５４）。初視聴でなければ，変数'gvar.rend.uefu'は既に作成されているので，ステータス情報から変数'gvar.rend.uefu'を読み出し，最初に利用された時間を取得する（Ｓ６５６）。
【０１４１】
ＤＲＭモジュールは，条件式における'ivar.rend.rxp1'の内部変数にライセンスに記載されたライセンス期間の固定値を代入し（Ｓ６５８），さらに，他の内部変数'gvar.sys.ucdt'に現在時刻を代入する（Ｓ６６０）。このとき，ライセンスの使用条件情報から読み取ったエラーコード「ERROR_EXPIRED」もエラーコード変数に代入しておく（Ｓ６６２）。続いて上記の変数を代入した条件式を評価し（Ｓ６６４），その条件式が満たされていれば，正常終了，満たされていなければエラー終了される（Ｓ６６６）。このエラー終了（Ｓ６６６）では，上記エラーコード変数に代入されたエラーコードが，リターンコードとしてＤＲＭモジュールからアプリケーションに受け渡される。
【０１４２】
上記エラーの報告を受けるライセンス評価方法により，アプリケーションは，どの項目がエラーなのか追跡しなくて済み，戻り値として挙げられるエラーコードのみを確認すればエラー原因を特定することができる。
【０１４３】
以上，添付図面を参照しながら本発明の好適な実施形態について説明したが，本発明は係る例に限定されないことは言うまでもない。当業者であれば，特許請求の範囲に記載された範疇内において，各種の変更例または修正例に想到し得ることは明らかであり，それらについても当然に本発明の技術的範囲に属するものと了解される。
【０１４４】
上記に示した実施形態においては，ライセンスの使用条件情報のエラーコードにより，エラーの内容および位置を特定しているが，かかるエラーの場合に限らず，使用条件情報の条件式の判断によって何かしらの情報を取得したい場合など，様々な利用形態に本記述を適応することができる。
【０１４５】
また，上述の実施形態においては，サブモジュールがメインモジュールにエラーコードを引き渡すとき，戻り値を利用しているが，かかる場合に限らず，サブモジュールがエラーコードをグローバル変数に代入して，メインモジュールがエラーの有無を確認し，そのグローバル変数からエラーコードを参照するとしても良い。
【産業上の利用可能性】
【０１４６】
本発明は，ライセンスに基づいてコンテンツの処理を行うライセンス評価装置，ライセンス評価方法およびそのコンピュータプログラムに適用可能である。
【図面の簡単な説明】
【０１４７】
【図１】コンテンツ配信システムを概略的に表したブロック図である。
【図２】ライセンス評価装置の構成を概略的に表したブロック図である。
【図３】ステータスＩＤと，ライセンスおよびステータス情報との関係を示した説明図である。
【図４】ライセンス評価装置で再生されるコンテンツの構成を示した構成図である。
【図５】属性情報の構成例を概念的に示す説明図である。
【図６】ライセンスの構成例を示した説明図である。
【図７】プロダクト情報の記述例を示した説明図である。
【図８】従来のライセンスを示した説明図である。
【図９】使用条件情報の記載を示した説明図である。
【図１０】ライセンスの使用条件情報の一例を示したデータリストである。
【図１１】エラーメッセージを示した外観図である。
【図１２】エラーメッセージを示した外観図である。
【図１３】ライセンスの使用条件情報の一例を示したデータリストである。
【図１４】エラーメッセージを示した外観図である。
【図１５】ライセンスの使用条件情報の一例を示したデータリストである。
【図１６】エラーメッセージを示した外観図である。
【図１７】ライセンスの使用条件情報の一例を示したデータリストである。
【図１８】ライセンスの使用条件情報の一例を示したデータリストである。
【図１９】エラーメッセージを示した外観図である。
【図２０】エラーメッセージを示した外観図である。
【図２１】ライセンス評価方法の流れを示したフローチャート図である。
【図２２】条件式判断工程の詳細な流れを示したフローチャートである。
【符号の説明】
【０１４８】
１１０  ライセンス評価装置
１５０  データ記憶部
１５２  コンテンツ選択部
１５４  ライセンス抽出部
１５６  ステータス情報抽出部
１５８  条件式判断部
１６０  コンテンツ処理部
１６２  ステータス情報更新部
１６４  エラーコード保持部
１６６  エラー通知部
Ｓ６００  コンテンツ選択工程
Ｓ６０２  ライセンス抽出工程
Ｓ６０４  ステータス情報抽出工程
Ｓ６０６  条件式判断工程
Ｓ６０８  コンテンツ処理工程
Ｓ６１０  ステータス情報更新工程
Ｓ６１２  エラーコード保持工程
Ｓ６１４  エラー通知工程
【図１】
2006004072.tif 000003
【図２】
2006004072.tif 000004
【図３】
2006004072.tif 000005
【図４】
2006004072.tif 000006
【図５】
2006004072.tif 000007
【図６】
2006004072.tif 000008
【図７】
2006004072.tif 000009
【図８】
2006004072.tif 000010
【図９】
2006004072.tif 000011
【図１０】
2006004072.tif 000012
【図１１】
2006004072.tif 000013
【図１２】
2006004072.tif 000014
【図１３】
2006004072.tif 000015
【図１４】
2006004072.tif 000016
【図１５】
2006004072.tif 000017
【図１６】
2006004072.tif 000018
【図１７】
2006004072.tif 000019
【図１８】
2006004072.tif 000020
【図１９】
2006004072.tif 000021
【図２０】
2006004072.tif 000022
【図２１】
2006004072.tif 000023
【図２２】
2006004072.tif 000024