(57)【要約】【課題】放送外マネージドアプリケーションを利用したサービスの品質を向上させる。【解決手段】この情報処理装置は、放送信号を受信可能な放送受信部と、少なくとも、放送受信部により受信される放送信号を利用するアプリケーションの動作を制御する情報と、有効期限を示す情報が記述されたアプリケーション情報テーブルを取得し、有効期限を示す情報をもとに、取得されたアプリケーション情報テーブルの有効期限の超過の有無を判定し、有効期限の超過が判定されたとき、アプリケーション情報テーブルに基づくアプリケーションの起動を無効化するように構成されるコントローラとを具備する。【選択図】図７
2020039171.tif 000002
【特許請求の範囲】
【請求項１】
放送信号を受信可能な放送受信部と、
少なくとも、前記放送受信部により受信される放送信号を利用するアプリケーションの動作を制御する情報と、有効期限を示す情報が記述されたアプリケーション情報テーブルを取得し、前記有効期限を示す情報をもとに、前記取得されたアプリケーション情報テーブルの有効期限が超過しているかどうかを判定し、前記有効期限を超過していることが判定されたとき、前記アプリケーション情報テーブルに基づく前記アプリケーションの起動を無効化するように構成されるコントローラと
を具備する情報処理装置。
【請求項２】
請求項１に記載の情報処理装置であって、
前記コントローラは、最後に取得した前記アプリケーション情報テーブルを保持し、前記保持されたアプリケーション情報テーブルに記述された前記有効期限を示す情報をもとに当該アプリケーション情報テーブルの有効期限が超過しているかどうかを判定するように構成される
情報処理装置。
【請求項３】
請求項２に記載の情報処理装置であって、
前記コントローラは、起動させたい前記アプリケーションがユーザにより選択されたとき、前記アプリケーション情報テーブルの有効期限が超過しているかどうかを判定するように構成される
情報処理装置。
【請求項４】
請求項３に記載の情報処理装置であって、
前記コントローラは、オフライン時に、前記保持された前記アプリケーション情報テーブルをもとに前記アプリケーションの動作を制御するように構成される
情報処理装置。
【請求項５】
請求項４に記載の情報処理装置であって、
前記コントローラは、通信により前記アプリケーションを取得するように構成される
情報処理装置。
【請求項６】
請求項５に記載の情報処理装置であって、
前記コントローラは、通信により前記アプリケーション情報テーブルを取得するように構成される
情報処理装置。
【請求項７】
コントローラが、
少なくとも、放送信号を利用するアプリケーションの動作を制御する情報と、有効期限を示す情報が記述されたアプリケーション情報テーブルを取得し、
前記有効期限を示す情報をもとに、前記取得されたアプリケーション情報テーブルの有効期限が超過しているかどうかを判定し、
前記有効期限を超過していることが判定されたとき、前記アプリケーション情報テーブルに基づく前記アプリケーションの起動を無効化する
情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、放送コンテンツの提示とともに、アプリケーション情報テーブルを用いてアプリケーションを実行することが可能な情報処理装置および情報処理方法に関する。
【背景技術】
【０００２】
近年、放送コンテンツの再生と同時に、インターネット等のネットワークを通じて配信されるアプリケーションの実行を行うことを可能とする技術が知られている。このような技術として、ハイブリッド放送（Hybrid Broadcast Broadband TV、以下「ＨｂｂＴＶ」と称する。）と呼ばれる技術が知られている。ＨｂｂＴＶの標準規格として、欧州では「ETSI TS 102 796」（非特許文献１参照。）が策定されている。また、我が国でもこれに相当する標準規格「IPTVFJ STD-0010」（非特許文献２参照。）、「IPTVFJ STD-0011」（非特許文献３参照。）が策定されている。
【０００３】
例えばＨｂｂＴＶなどのように、放送コンテンツの再生と同時にアプリケーションが実行されるシステムでは、アプリケーションの起動から終了までのライフサイクルが、放送コンテンツに重畳されたＡＩＴセクション（Application Information Table）と呼ばれるデータ構造によって管理される。ＡＩＴセクションを取得した情報端末は、ＡＩＴセクションに含まれるアプリケーション制御用のコードをもとにアプリケーションの制御を行う。
【０００４】
また、放送ＡＩＴセクションと同等の情報を有し、インターネットなど通信網を利用して受信機にアプリケーションに関する情報を提供するために最適なフォーマットとして、ＸＭＬ形式で記述されたＸＭＬ−ＡＩＴがある。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】ETSI（European Telecommunications Standards Institute）「ETSI TS 102 796 V1.1.1 （2010-06)」http://www.etsi.org/deliver/etsi_ts/102700_102799/102796/01.01.01_60/ts_102796v010101p.pdf（平成２３年１０月２１日閲覧）
【非特許文献２】一般社団法人IPTVフォーラム「放送通信連携システム仕様1.0 版」https://www.iptvforum.jp/download/input.html（平成２５年１２月４日閲覧）
【非特許文献３】一般社団法人IPTVフォーラム「IPTVFJ STD-0011 HTML5 ブラウザ仕様1.0 版」https://www.iptvforum.jp/download/input.html（平成２５年１２月４日閲覧）
【発明の概要】
【発明が解決しようとする課題】
【０００６】
今後、放送局以外の事業者、例えば端末メーカやサードパーティなどのアプリケーション事業者から、放送番組を何らかのかたちで利用するアプリケーションが提供されることが想定される。以後、このようなアプリケーションを「放送外マネージドアプリケーション」と呼ぶこととする。
【０００７】
しかし、このような放送外マネージドアプリケーションを利用したサービスを実際に運用するにあたっては、解決すべき様々な課題が未だ残されており、その対策が望まれている。
【０００８】
以上のような事情を鑑み、本技術の目的は、放送外マネージドアプリケーションを利用したサービスの品質を向上させることのできる情報処理装置および情報処理方法を提供することにある。
【課題を解決するための手段】
【０００９】
上記の課題を解決するために、本技術に係る情報処理装置は、
放送信号を受信可能な放送受信部と、
少なくとも、前記放送受信部により受信される放送信号を利用するアプリケーションの動作を制御する情報と、有効期限を示す情報が記述されたアプリケーション情報テーブルを取得し、前記有効期限を示す情報をもとに、前記取得されたアプリケーション情報テーブルの有効期限が超過しているかどうかを判定し、前記有効期限を超過していることが判定されたとき、前記アプリケーション情報テーブルに基づく前記アプリケーションの起動を無効化するように構成されるコントローラと
を具備する。
【００１０】
前記コントローラは、最後に取得した前記アプリケーション情報テーブルを保持し、前記保持されたアプリケーション情報テーブルに記述された前記有効期限を示す情報をもとに当該アプリケーション情報テーブルの有効期限が超過しているかどうかを判定するように構成されるものであってよい。
【００１１】
前記コントローラは、起動させたい前記アプリケーションがユーザにより選択されたとき、前記アプリケーション情報テーブルの有効期限が超過しているかどうかを判定するように構成されるものであってよい。
【００１２】
前記コントローラは、オフライン時に、前記保持された前記アプリケーション情報テーブルをもとに前記アプリケーションの動作を制御するように構成されるものであってよい。
【００１３】
前記コントローラは、通信により前記アプリケーションを取得するように構成されるものであってよい。
【００１４】
前記コントローラは、通信により前記アプリケーション情報テーブルを取得するように構成されるものであってよい。
【００１５】
本技術に係る情報処理方法は、
コントローラが、
少なくとも、放送信号を利用するアプリケーションの動作を制御する情報と、有効期限を示す情報が記述されたアプリケーション情報テーブルを取得し、
前記有効期限を示す情報をもとに、前記取得されたアプリケーション情報テーブルの有効期限が超過しているかどうかを判定し、
前記有効期限を超過していることが判定されたとき、前記アプリケーション情報テーブルに基づく前記アプリケーションの起動を無効化する。
【発明の効果】
【００１６】
以上のように、本技術によれば、放送外マネージドアプリケーションを利用したサービスの品質を向上させることができる。
【図面の簡単な説明】
【００１７】
【図１】本実施形態の情報処理システムの概要を示す図である。
【図２】ＸＭＬ−ＡＩＴのデータ構造を示す図である。
【図３】利用許諾情報記述子のシンタクスを示す図である。
【図４】セクションＡＩＴのデータ構造を示す図である。
【図５】外部アプリケーション制御記述子のシンタクスを示す図である。
【図６】アプリケーション制御コードの定義を示す図である。
【図７】本実施形態の情報処理装置の構成を示すブロック図である。
【図８】情報処理装置においてリモートコントローラのアプリショップ呼び出しボタンが操作されから、情報処理装置においてユーザにより選択された放送外マネージドアプリケーションが起動されるまでのアプリケーションサーバ、ＸＭＬ−ＡＩＴサーバ、情報処理装置およびストアサーバの間でのやりとりの流れを示すシーケンス図である。
【図９】情報処理装置のアプリケーションコントローラによる処理手順を示すフローチャートである。
【図１０】アプリケーションローンチャの例を示す図である。
【図１１】放送外マネージドアプリケーションが起動されてから以後の放送リソースの利用許諾範囲の制御に関する放送局、アプリケーションサーバ、ＸＭＬ−ＡＩＴサーバおよび情報処理装置の間でのやりとりの流れを示すシーケンス図である。
【図１２】放送外マネージドアプリケーションの実行中にダイレクト選局操作が発生した場合の放送局、アプリケーションサーバ、ＸＭＬ−ＡＩＴサーバ、および情報処理装置の間でのやりとりの流れを示すシーケンス図である。
【図１３】放送外マネージドアプリケーションの実行中にダイレクト選局操作が発生した場合のアプリケーションコントローラの制御の流れを示すフローチャートである。
【図１４】ＸＭＬ−ＡＩＴの利用許諾情報記述子２１の中のオーバーレイエリア情報に基づくオーバーレイエリアの設定例を示す図である。
【図１５】オーバーレイエリアの第１の更新例を示す図である。
【図１６】オーバーレイエリアの第２の更新例を示す図である。
【図１７】オーバーレイエリアの第３の更新例を示す図である。
【図１８】電子署名の生成と検証の仕組みについて説明するためのブロック図である。
【図１９】専用モジュール方式の概念図である。
【図２０】放送局公開鍵証明書記述子の構成を示す図である。
【図２１】専用モジュール方式による放送局公開鍵証明書の取得および更新に関するフローチャートである。
【図２２】データ放送拡張方式（その１）によるルート証明書記述子の構成を示す図である。
【図２３】データ放送拡張方式（その１）による放送局公開鍵証明書の取得および更新に関するフローチャートである。
【図２４】データ放送拡張方式（その２）によるルート証明書記述子の構成を示す図である。
【図２５】データ放送拡張方式（その２）による放送局公開鍵証明書の取得および更新に関するフローチャートである。
【図２６】電子署名およびハッシュ値の生成とこれらの検証の仕組みについて説明するための図である。
【図２７】アプリケーションローンチャにおいて起動したい放送外マネージドアプリケーションが選択されてからＸＭＬ−ＡＩＴの有効期限をもとに放送外マネージドアプリケーションの起動の可否を決定するまでの制御の流れを示すフローチャートである。
【図２８】アプリケーションタイプ記述子のシンタクスを示す図である。
【図２９】全画面制御を説明するための図である。
【図３０】全画面制御を説明するための図である。
【図３１】部分画面制御を説明するための図である。
【図３２】部分画面制御を説明するための図である。
【図３３】部分画面制御を説明するための図である。
【図３４】放送外マネージドアプリケーション（パッケージタイプ）の構成を説明する図である。
【図３５】アプリケーション志向の放送外マネージドアプリケーションを、この放送外マネージドアプリケーションに対するユーザからの操作に応じた動作とともに説明するための図である
【図３６】放送受信志向の放送外マネージドアプリケーションを、この放送外マネージドアプリケーションに対するユーザからの操作に応じた動作とともに説明するための図である。
【発明を実施するための形態】
【００１８】
以下、本技術の実施の形態を図面をもとに説明する。
＜第１の実施形態＞
［情報処理システム］
図１は、本実施形態の情報処理システムの構成を示す図である。
本実施形態の情報処理システム１０は、放送局１００と、インターネットなどの第１のネットワーク２００と、アプリケーションサーバ３００と、ＸＭＬ−ＡＩＴサーバ４００と、エッジルータ５００と、ＬＡＮ（Local Area Network）などの第２のネットワーク６００と、放送用の受信機としての情報処理装置７００と、ストアサーバ８００とを有する。
【００１９】
放送局１００（放送装置）は、例えば、地上波、衛星波、ＩＰ（Internet Protocol）ネットワークなどの通信媒体を介してデジタル放送信号を送信する放送設備（放送部）を有する。放送局１００は、映像、音声、字幕などの各トランスポートストリームが多重化されたＡＶストリームと、ＡＶストリームに付随するデータなどが重畳されたいわゆる放送ストリームを送出する。ＡＶストリームに付随するデータとしては、ＨＴＭＬ、ＢＭＬなどなどのマークアップ言語やJava（登録商標）スクリプトなどのスクリプト言語で記述された放送マネージドアプリケーションおよび起動後の放送外マネージドアプリケーションの動作を制御するためのセクション形式のＡＩＴ（Application Information Table）などが含まれる。以後、このＡＩＴを「セクションＡＩＴ」と呼ぶ。
【００２０】
なお、本実施形態において、映像、音声、字幕などの各トランスポートストリームが多重化されて伝送されるＡＶストリームのことを「放送コンテンツ」と呼び、この用語にはアプリケーション、セクションＡＩＴの意味は含まれないこととする。
【００２１】
ストアサーバ８００は、情報処理装置７００のユーザに、利用したい放送外マネージドアプリケーションを選択あるいは購入可能な環境を提供し、ユーザによって選択あるいは購入された放送外マネージドアプリケーションを利用するために必要な情報を付与するサービスを行う。「放送外マネージドアプリケーション」とは、放送リソースの制作者以外の者、例えば、端末メーカやサードパーティなどのアプリケーション事業者から提供されるアプリケーションである。放送外マネージドアプリケーションと上記の放送マネージドアプリケーションとの根本的な相違点は、放送マネージドアプリケーションが起動から終了までの動作が放送波により配信されるセクションＡＩＴによって管理されるのに対し、放送外マネージドアプリケーションは、ネットワークを通じて取得されるＸＭＬ−ＡＩＴ（Extensible Markup Language-Application Information Table）によって、少なくとも起動などの動作の制御が行われる点にある。
【００２２】
ストアサーバ８００は、ユーザからの任意の放送外マネージドアプリケーションの利用のリクエストに対して、そのユーザの情報処理装置７００に、当該放送外マネージドアプリケーションを利用可能とするために必要な情報を配信する。当該放送外マネージドアプリケーションを利用可能とするために必要な情報とは、例えば、放送外マネージドアプリケーションのＸＭＬ−ＡＩＴのロケーション情報などである。
【００２３】
ＸＭＬ−ＡＩＴサーバ４００は、第１のネットワーク２００に接続可能とされている。ＸＭＬ−ＡＩＴサーバ４００は、情報処理装置７００からのリクエストに応じて、ＸＭＬ−ＡＩＴを第１のネットワーク２００を通じて配信する。このＸＭＬ−ＡＩＴは放送外マネージドアプリケーションの少なくとも起動の制御をするための情報を含む。なお、セクションＡＩＴは、ＸＭＬ−ＡＩＴに従って起動された放送外マネージドアプリケーションの起動後の動作を制御するための情報を含む場合がある。
【００２４】
アプリケーションサーバ３００は、第１のネットワーク２００に接続可能とされている。アプリケーションサーバ３００は、情報処理装置７００からのリクエストに応じて放送外マネージドアプリケーションを応答する。また、アプリケーションサーバ３００は、放送マネージドアプリケーションを提供することも可能としてよい。
【００２５】
なお、ストアサーバ８００、アプリケーションサーバ３００およびＸＭＬ−ＡＩＴサーバ４００は１つのサーバであってもよい。ストアサーバ８００、アプリケーションサーバ３００およびＸＭＬ−ＡＩＴサーバ４００は、それぞれＣＰＵ、メインメモリ、データ記憶装置、ユーザインタフェースなどを備え、典型的なコンピュータとしての構成を備える。
【００２６】
エッジルータ５００は、第１のネットワーク２００と第２のネットワーク６００とを接続するためのルータである。第２のネットワーク６００は有線、無線を問わない。
【００２７】
情報処理装置７００は、例えば、パーソナルコンピュータ、携帯電話、スマートフォン、テレビジョン装置、ゲーム機、タブレット端末、オーディオ・ビデオ再生機器などであるが、具体的な製品の形態は問わない。
【００２８】
情報処理装置７００は、放送局１００からデジタル放送信号を受信し、復調してトランスポートストリームを得る。情報処理装置７００は、このトランスポートストリームから放送ストリームを分離し、デコードして情報処理装置７００に接続される表示部（図示せず）及びスピーカ部（図示せず）や、記録装置（図示せず）に出力することが可能である。
【００２９】
なお、表示部、スピーカ部および記録装置はそれぞれ、情報処理装置７００と一体であってもよいし、互いに独立した機器として直接又は第２のネットワーク６００を介して情報処理装置７００に接続されていてもよい。あるいは、表示部及びスピーカ部を有する機器（図示せず）が直接又は第２のネットワーク６００を介して情報処理装置７００に接続されていてもよい。
【００３０】
また、情報処理装置７００は、取得したトランスポートストリームから放送マネージドアプリケーションやＡＩＴセクションを含むＰＳＩ／ＳＩを抽出し、当該ＡＩＴセクションを解釈して放送マネージドアプリケーションの制御を行うことが可能である。情報処理装置７００は、放送マネージドアプリケーションが可視的なアプリケーションである場合には、この放送マネージドアプリケーションの実行により生成された映像信号を、上記放送コンテンツの映像信号及び字幕信号と合成して表示部に出力する。
【００３１】
また、情報処理装置７００は、ユーザから与えられる指令に従ってストアサーバ８００にアクセスすることによって、ユーザが利用したい放送外マネージドアプリケーションを選択あるいは購入することが可能である。情報処理装置７００がストアサーバ８００にアクセスして放送外マネージドアプリケーションを選択あるいは購入するタイミングは、放送ストリームのタイミングに依存しない。すなわち、任意である。
【００３２】
情報処理装置７００は、放送外マネージドアプリケーションを選択あるいは購入により、その放送外マネージドアプリケーションを利用するために必要な情報として、ストアサーバ８００から、当該放送外マネージドアプリケーションのためのＸＭＬ−ＡＩＴのロケーション情報を取得する。
【００３３】
情報処理装置７００は、取得したＸＭＬ−ＡＩＴのロケーション情報を用いてＸＭＬ−ＡＩＴサーバ４００にアクセスすることによってＸＭＬ−ＡＩＴを取得することができる。
【００３４】
さらに、情報処理装置７００は、取得したＸＭＬ−ＡＩＴに記述されている、放送外マネージドアプリケーションのロケーション情報を用いてアプリケーションサーバ３００にネットワークを通じてアクセスすることによって、当該ＸＭＬ−ＡＩＴの制御対象である放送外マネージドアプリケーションを取得することができる。
【００３５】
さらに、情報処理装置７００は、取得したＸＭＬ−ＡＩＴから制御対象である放送外マネージドアプリケーションのアプリケーション識別子を抽出し、受信されたトランスポートストリームに多重化された１以上のセクションＡＩＴの中から当該アプリケーション識別子を有するセクションＡＩＴを抽出する。情報処理装置７００は、このセクションＡＩＴに従って、既に起動された放送外マネージドアプリケーションの動作を制御することも可能である。
【００３６】
ここで、放送外マネージドアプリケーションについて説明を補足する。
【００３７】
放送外マネージドアプリケーションは、パッケージタイプの放送外マネージドアプリケーションとウェブタイプの放送外マネージドアプリケーションとに大別される。
【００３８】
図３４は、放送外マネージドアプリケーション（パッケージタイプ）の構成を説明する図である。
放送外マネージドアプリケーション３０は、例えば、ＨＴＭＬ（Hyper Text Markup Language）文書、ＢＭＬ文書（Broadcast Markup Language）、ＭＨＥＧ文書（Multimedia and Hypermedia information coding）などのマークアップ文書３１，３２と、このマークアップ文書３１，３２に紐付けられた、例えば、静止画、動画、音声、ベクター図形などのデータファイル３３，３４，３５，３６、Ｊａｖａ（登録商標）スクリプトなどのスクリプトファイル３７、さらにはＣＳＳ（Cascading Style Sheets）などのスタイルシート３８などで構成される。
【００３９】
放送外マネージドアプリケーション３０は１以上のページで構成される。各々のページはハイパーリンクによって互いに連結されることによって、全体として１つの放送外マネージドアプリケーション３０を構成する。
【００４０】
パッケージタイプの放送外マネージドアプリケーション３０は、放送外マネージドアプリケーション３０を構成する全てのリソースファイルがパッケージ化されたものである。このパッケージは、アプリケーションサーバ３００に配置され、情報処理装置７００からの取得要求に応じて情報処理装置７００に送付される。情報処理装置７００は取得したパッケージを保存する。したがって、情報処理装置７００は自身に保存されたパッケージ内の各リソースファイルにアクセスするだけで、放送外マネージドアプリケーション３０を起動させることができる。
【００４１】
これに対し、ウェブタイプの放送外マネージドアプリケーションは、必要なリソースファイルがページ単位で情報処理装置７００により取得されて起動されるアプリケーションである。取得されたページ単位のリソースファイルは、情報処理装置７００に保存されることはない。放送外マネージドアプリケーションを起動させるために、情報処理装置７００は、その都度、サーバに対して必要なページ単位のリソースファイルにアクセスする。
【００４２】
以降、主に、パッケージタイプの放送外マネージドアプリケーションを情報処理装置７００が取得し、利用する場合を想定して説明を行う。
【００４３】
放送外マネージドアプリケーションは可視的な状態と不可視の状態をとり得る。可視的な状態とは、画面を通じてその放送外マネージドアプリケーションの動作をユーザが視ることのできる状態である。不可視の状態とは、放送外マネージドアプリケーションの動作を画面を通じてユーザが視ることができない状態である。
【００４４】
また、放送外マネージドアプリケーションは、情報処理装置７００のユーザによる操作に従って提示する情報や機能を変えることができる双方向型アプリケーションでもよいし、ユーザに対して一方向に情報を提示するアプリケーションでもよい。
【００４５】
［ＸＭＬ−ＡＩＴのデータ構造］
次に、ＸＭＬ−ＡＩＴのデータ構造について説明する。
図２は、本実施形態のＸＭＬ−ＡＩＴのデータ構造を示す図である。
【００４６】
ＸＭＬ−ＡＩＴには、放送外マネージドアプリケーション毎の、アプリケーション名（appName）、アプリケーション識別子（applicationId）、アプリケーション記述子（applicationDescriptor）、トランスポートプロトコル記述子（applicationTransport）、アプリケーションロケーション記述子（applicationLocation）、アプリケーションバウンダリ記述子（applicationBoundary）、アプリケーションスペシフィック記述子（applicationSpecificDescriptor）、アプリケーションユーセジ記述子（applicationUsageDescriptor）、利用許諾情報記述子２１（broadcastResourcePermissionDescriptor）、有効期限（expireDate）２２、親アプリケーションＩＤ（parentAppID）２３、アプリケーションのハッシュ記述子（applicationHashDescriptor）２４、およびアプリケーションタイプ記述子(applicationTypeDescriptor)２５などが格納される。
【００４７】
アプリケーション記述子には、アプリケーションタイプ（applicationType）、アプリケーション制御コード（controlCode）２６、アプリケーションの可視、不可視性を指定するフラグ（visibility）、アプリケーションがサービスに紐づいているかを示すフラグ（serviceBound）、アプリケーションの優先度（priority）、アプリケーションのバージョン（version）、アイコン情報（icon）、情報処理装置７００がアプリケーションを記録またはキャッシュするための情報（storageCapability）などが格納される。
【００４８】
利用許諾情報記述子２１は、放送外マネージドアプリケーションに放送リソースの利用が許諾されている場合に付加される記述子である。
【００４９】
有効期限２２は、情報処理装置７００がネットワークに接続されていないとき（オフライン時）、情報処理装置７００にキャッシュされているＸＭＬ−ＡＩＴの有効期限を指定する情報である。
【００５０】
親アプリケーションＩＤ２３は、有効期限が連動する関係を有する親の放送外マネージドアプリケーションのＩＤである。ここで、「有効期限が連動する関係」とは、例えば、
１．親の放送外マネージドアプリケーションの有効期限と同期して自放送外マネージドアプリケーションの有効期限とする。
２．親の放送外マネージドアプリケーションの有効期限が尽きたときに自放送外マネージドアプリケーションの有効期限が有効になる。
３．親の放送外マネージドアプリケーションの有効期限と同期して自放送外マネージドアプリケーションの有効期限が尽きる。
ことなどが挙げられる。
【００５１】
なお、この例では、親の放送外マネージドアプリケーションの有効期限の影響を自放送外マネージドアプリケーションが受ける場合を想定している。すなわち、自放送外マネージドアプリケーションの有効期限の影響を親の放送外マネージドアプリケーションが受けるかどうかは、その親の放送外マネージドアプリケーションのＸＭＬ−ＡＩＴの親アプリケーションＩＤに依存する。
【００５２】
図３は、利用許諾情報記述子２１のシンタクスを示す図である。
利用許諾情報記述子２１には、１以上のサービス利用許諾情報（Service_permission）と１以上のオーバーレイエリア情報（Overlay_area）を記述できる。
【００５３】
サービス利用許諾情報は、利用許諾の適用範囲を示すパーミッション指定単位（scope）を含む。パーミッション指定単位には次のものがある。
all：全ての放送事業者
affiliate：系列局
broadcaster：放送事業者
service：チャンネル
event：番組
series：シリーズ
【００５４】
パーミッション指定単位が"affiliate"である場合、どの系列局であるかが系列ＩＤ（affiation_id）により指定される。
【００５５】
パーミッション指定単位が"broadcaster"である場合には、どの放送事業者であるかが放送事業者ＩＤ（broadcaster_id）により指定される。
【００５６】
パーミッション指定単位が"service"である場合には、どのチャンネルであるかがネットワークＩＤ（network_Id）、トランスポートストリームＩＤ（transport_stream_id）およびサービスＩＤ（service_id）により指定される。
【００５７】
パーミッション指定単位が"event"である場合、どの番組であるかがネットワークＩＤ、トランスポートストリームＩＤ、サービスＩＤおよびイベントＩＤ（event_id）により指定される。
【００５８】
パーミッション指定単位が"series"である場合、どのシリーズであるかがネットワークＩＤ、トランスポートストリームＩＤ、サービスＩＤおよびシリーズＩＤ（series_id）により指定される。
【００５９】
サービス利用許諾情報には、さらに、パーミッションビットマップ（permission）が格納される。パーミッションビットマップは、サービス利用許諾情報のバイナリデータである。
【００６０】
パーミッションビットマップはアプリケーションコントローラ７０８のメモリに保持される。アプリケーションコントローラ７０８はこのメモリに保持されたパーミッションビットマップを参照して放送外マネージドアプリケーションによる放送リソースの利用範囲を制御する。
【００６１】
メモリに保持されたパーミッションビットマップは、放送外マネージドアプリケーションを起動後に情報処理装置７００が取得するセクションＡＩＴの外部アプリケーション制御記述子に格納されたパーミッションビットマップと比較される。双方のパーミッションビットマップに差分があれば、セクションＡＩＴの外部アプリケーション制御記述子に格納されたパーミッションビットマップで、メモリのパーミッションビットマップが上書きされる。以後はこの上書きがされたパーミッションビットマップを参照して放送外マネージドアプリケーションによる放送リソースの利用範囲の制御がアプリケーションコントローラ７０８によって行われる。
【００６２】
これにより、例えば、放送外マネージドアプリケーションの提供者などの第三者によって作成されたＸＭＬ−ＡＩＴに設定された利用許諾情報の範囲を、放送局側がセクションＡＩＴを用いて動的に変更できる仕組みが実現される。
【００６３】
サービス利用許諾情報には、さらに、パーミッションエラー時の振る舞いに関する情報（Overlay_Permission_error_behaviour）が記述される。パーミッションエラー時の振る舞いに関する情報としては、例えば次のものがある。
app_off：アプリケーションを非表示にする。
video_off：放送リソースのビデオを非表示にする。
app_suspend：アプリケーションを非表示にし、アプリケーションの動作を一時停止する。
このように、パーミッションンエラーが発生したとき、放送リソースの少なくともビデオが非表示の状態とされるため、実質的に放送リソースの利用が不可の状態となる。
【００６４】
次に、オーバーレイエリア情報（Overlay_area）について説明する。
オーバーレイエリア情報はオーバーレイエリアを定義するための情報である。オーバーレイエリアとは、放送外マネージドアプリケーションを表示してよい表示画面上の領域のことである。言い換えれば、オーバーレイエリアは、主に放送映像が表示される領域の上に重ねて設定される領域である。
【００６５】
オーバーレイエリアを定義するための情報としては、エリアＩＤ（areaId）、HTMLアプリケーション内の要素のＩＤ（elementId）、エリア左上水平座標（upper_left_horizontal）、エリア左上垂直座標（upper_left_vertical）、エリア水平サイズ（horizontal_size）およびエリア垂直サイズ（vertical_size）などがある。
【００６６】
エリアＩＤはオーバーレイエリアを識別するための識別子である。
ＨＴＭＬアプリケーション内の要素のＩＤは、オーバーレイエリアと紐付けられる放送外マネージドアプリケーションまたは放送外マネージドアプリケーション内の要素を特定する識別子である。
【００６７】
エリア左上水平座標とエリア左上垂直座標はオーバーレイエリアの左上角の座標を指定する情報である。
エリア垂直サイズとエリア水平サイズはオーバーレイエリアの縦横のサイズを指定する情報である。
【００６８】
［ＸＭＬ−ＡＩＴの電子署名］
ＸＭＬ−ＡＩＴには、改ざんを検出するための電子署名が添付される。電子署名としては、例えばＸＭＬ署名などが用いられる。ＸＭＬ署名の形式は、ＸＭＬ−ＡＩＴに対して独立したdetached署名、ＸＭＬ−ＡＩＴを包含した形式を有するenveloping署名、ＸＭＬ−ＡＩＴに包含された形式のenveloped署名のいずれであるかを問わない。なお、ＸＭＬ−ＡＩＴのフォーマットへの影響を抑えるにはdetached署名を採用するのがよい。
【００６９】
情報処理装置７００のアプリケーションコントローラ７０８は、リファレンス検証（Reference Validation）と署名検証（Signature Validation）とを含むコア検証（Core Validation）の手続きに従って、ＸＭＬ署名を検証する。
【００７０】
リファレンス検証とは、リソース（ＸＭＬ−ＡＩＴ）に正規化変換プロセス（Transform）及びダイジェスト計算アルゴリズム（DigestMethod）を適用することにより、リファレンス（Reference）のダイジェスト値（DigestValue）を検証する方式である。リファレンス検証により得られた結果と、登録されたダイジェスト値（DigestValue）とが比較され、これらが一致しない場合、検証失敗となる。
【００７１】
署名検証とは、署名情報（SignatureInfo）要素をＸＭＬ正規化アルゴリズム（CanonicalizationMethod）で指定された正規化方式でシリアル化し、鍵情報（KeyInfo）等を用いて鍵データを取得し、署名アルゴリズム（SignatureMethod）で指定された方式を用いて署名を検証する方式である。
【００７２】
［セクションＡＩＴの構成］
図４はセクションＡＩＴのデータ構造を示す図である。
セクションＡＩＴは、テーブルＩＤ（table_id）、セクションシンタックス指示（section_syntax_indicator）、セクション長（section_length）、アプリケーションタイプ（application_type）、バージョン番号（version_number）、カレントネクスト指示（current_next_indicator）、セクション番号（section_number）、最終セクション番号（last_section_number）、共通記述子領域４１（descriptor）、アプリケーション情報ループ長（application_loop_length）、アプリケーション識別子（application_identifier）、アプリケーション制御コード４２（application_control_code）、アプリケーション記述子（application_descriptor）などが格納される。
【００７３】
共通記述子領域４１には、放送外マネージドアプリケーションの動作を制御するための外部アプリケーション制御記述子（External_application_control_descriptor）が格納される。
【００７４】
［外部アプリケーション制御記述子のシンタクス］
図５は、外部アプリケーション制御記述子（External_application_control_descriptor）のシンタクスを示す図である。
外部アプリケーション制御記述子には、記述子タグ（descriptor_tag）、記述子長（descriptor_length）、パーミッションビットマップ数（permission_bitmap_count）、パーミッションビットマップ５８（permission_bitmap）などが記述される。
【００７５】
セクションＡＩＴに記述されるパーミッションビットマップ５８は、情報処理装置７００において既に起動されている放送外マネージドアプリケーションによる放送リソースの利用許諾の範囲を示すバイナリデータ、すなわち、サービス利用許諾情報のバイナリデータである。このパーミッションビットマップは、情報処理装置７００のアプリケーションコントローラ７０８のメモリに既に保持されているパーミッションビットマップと比較される。
【００７６】
なお、ＸＭＬ−ＡＩＴのパーミッションビットマップとセクションＡＩＴのパーミッションビットマップには、パーミッションエラー時の振る舞いに関する情報のバイナリデータが含まれていてもよい。但し、この実施形態では、ＸＭＬ−ＡＩＴの方にのみ、パーミッションエラー時の振る舞いに関する情報のバイナリデータがパーミッションビットマップに含まれるようにした。
【００７７】
外部アプリケーション制御記述子には、オーバーレイエリアに関する情報として、オーバーレイ許可極性（overlay_admission_polarity）、オーバーレイ制御エリア数（overlay_contolled_area_count）が記述される。
【００７８】
オーバーレイ許可極性は、セクションＡＩＴで定義されるオーバーレイエリアを利用できるエリアとするか、利用できないエリアとするかを指定する情報である。
【００７９】
オーバーレイ制御エリア数は、オーバーレイエリアの数を指定する情報である。
【００８０】
外部アプリケーション制御記述子には、さらに、オーバーレイエリアに関する情報として、オーバーレイエリアタグ（overlay_controlled_area_tag）、エリア左上水平座標（upper_left_horizontal）、エリア左上垂直座標（upper_left_vertical）、エリア水平サイズ（horizontal_size）およびエリア垂直サイズ（vertical_size）などが記述される。
【００８１】
オーバーレイエリアタグは、オーバーレイエリアを識別するタグ情報である。
【００８２】
エリア左上水平座標、エリア左上垂直座標、エリア水平サイズおよびエリア垂直サイズの各々が指定する情報は、ＸＭＬ−ＡＩＴの利用許諾情報記述子において同じ名前の記述子と同じである。
【００８３】
外部アプリケーション制御記述子には、さらに、ブラック・ホワイトアプリケーションリスト数（bw_application_list_count）、アプリケーションＩＤ（application_identifier）、ブラック・ホワイト極性（black_white_polarity）などが記述される。
【００８４】
ブラック・ホワイトアプリケーションリスト数は、放送リソースの利用を許諾する、または禁止するアプリケーションの数を指定する情報である。
【００８５】
アプリケーションＩＤは、放送リソースの利用を許諾する、または禁止するアプリケーションのアプリケーションＩＤである。
【００８６】
ブラック・ホワイト極性は、放送リソースの利用を許諾する、または禁止するかのいずれかを指定する情報である。例えば、オーバーレイ許可極性として、オーバーレイエリアを利用できる極性が指定されている場合であっても、特定の放送外マネージドアプリケーションに対してブラック・ホワイト極性によって"禁止"が指定されている場合には、その特定の放送外マネージドアプリケーションによる放送リソースの利用は禁止される。また、オーバーレイ許可極性として、オーバーレイエリアを利用できない極性が指定されている場合であっても、特定の放送外マネージドアプリケーションに対してブラック・ホワイト極性によって"許諾"が指定されている場合には、その特定の放送外マネージドアプリケーションによる放送リソースの利用は許諾される。
【００８７】
［アプリケーション制御コードの定義］
アプリケーションのライフサイクルは、ＸＭＬ−ＡＩＴおよびセクションＡＩＴに格納されるアプリケーション制御コード２６、４２をもとに、情報処理装置７００によって動的に制御される。
【００８８】
図６はアプリケーション制御コード２６、４２の定義を示す図である。
同図に示すように、アプリケーション制御コード２６、４２としては、"AUTOSTART"、"PRESENT"、"DESTROY"、"KILL"、"PREFETCH"、"REMOTE"、"DISABLED"、"PLAYBACK_AUTOSTART"が標準規格上存在する。これらアプリケーション制御コードの定義は以下のとおりである。
【００８９】
"AUTOSTART"は、サービスの選択に伴いアプリケーションを自動で起動することを指示するコードである。アプリケーションが既に実行されている場合にはこの限りでない。
"PRESENT"は、サービスが選択されている間、アプリケーションを実行可能な状態とすることを指示するコードである。但し、対象のアプリケーションは、サービスの選択に伴って自動的にアプリケーションは起動されず、ユーザからの起動の指示を受けて起動される。
"DESTROY"は、アプリケーションの終了の許可を指示するコードである。
"KILL"は、アプリケーションの強制的な終了を指示するコードである。
"PREFETCH"は、アプリケーションのキャッシュを指示するコードである。
"REMOTE"は、現在のトランスポートストリームでは取得できないアプリケーションであることを示すコードである。そのアプリケーションは、別のトランスポートストリームあるいはキャッシュから取得して利用可能となる。
"DISABLED"は、アプリケーションの起動を禁止することを示すコードである。
"PLAYBACK_AUTOSTART"は、ストレージ（記録装置）に録画された放送コンテンツの再生に伴いアプリケーションを起動させるためのコードである。
【００９０】
［情報処理装置７００の構成］
図７は本実施形態の情報処理装置７００の構成を示すブロック図である。
情報処理装置７００は、放送インタフェース７０１、デマルチプレクサ７０２、出力処理部７０３、映像デコーダ７０４、音声デコーダ７０５、字幕デコーダ７０６、通信インタフェース７０７、アプリケーションコントローラ７０８（コントローラ）を有する。
【００９１】
放送インタフェース７０１（放送受信部）は、アンテナ及びチューナを有し、これらを用いてユーザにより選局されたデジタル放送信号を受信する。放送インタフェース７０１は、受信したデジタル放送信号に対して復調処理などを施して得たトランスポートストリームをデマルチプレクサ７０２に出力する。
【００９２】
デマルチプレクサ７０２は、トランスポートストリームから放送コンテンツのストリームパケット、アプリケーションのパケット、ＡＩＴセクションのパケットをそれぞれ分離する。デマルチプレクサ７０２は、放送コンテンツのストリームパケットから映像ＥＳ（Elementary Stream）、音声ＥＳ、字幕ＥＳを分離する。デマルチプレクサ７０２は、映像ＥＳを映像デコーダ７０４に、音声ＥＳを音声デコーダ７０５に、字幕ＥＳを字幕デコーダ７０６に、そしてアプリケーションのパケット、およびＡＩＴセクションを含むＰＳＩ／ＳＩ（Program Specific Information/Service Information）のパケットをアプリケーションコントローラ７０８にそれぞれ分配する。
【００９３】
映像デコーダ７０４は、映像ＥＳをデコードして映像信号を生成し、生成した映像信号を出力処理部７０３に出力する。音声デコーダ７０５は、音声ＥＳをデコードして音声信号を生成し、生成した音声信号を出力処理部７０３に出力する。
字幕デコーダ７０６は、字幕ＥＳをデコードして字幕信号を生成し、生成した字幕信号を出力処理部７０３に出力する。
【００９４】
放送インタフェース７０１、デマルチプレクサ７０２、出力処理部７０３、映像デコーダ７０４、音声デコーダ７０５、字幕デコーダ７０６は、放送コンテンツを受信し提示する処理を行う放送コンテンツ処理部である。
【００９５】
通信インタフェース７０７は、ＬＡＮなどの第２のネットワーク６００を通じて外部の機器と通信を行うためのインタフェースである。通信インタフェース７０７は無線による通信、有線による通信を問わない。
【００９６】
アプリケーションコントローラ７０８（コントローラ）は、アプリケーションの制御に関する処理を行うコントローラである。
【００９７】
出力処理部７０３は、映像デコーダ７０４からの映像信号、音声デコーダ７０５からの音声信号、字幕デコーダ７０６からの字幕信号及びアプリケーションコントローラ７０８からの映像信号や音声信号等を合成し、情報処理装置７００に接続された記録装置（図示せず）、表示部及びスピーカ部（図示せず）に出力する。
【００９８】
上記の情報処理装置７００の少なくともアプリケーションコントローラ７０８を含む構成の一部または全ては、ＣＰＵ（Central Processing Unit）およびメモリを有するコンピュータと、このコンピュータをアプリケーションコントローラ７０８などとして機能させるプログラムとにより提供される。
【００９９】
［情報処理システム１０の動作］
次に、本実施形態の情報処理システム１０の動作を説明する。
動作の説明は、以下の順番で行うこととする。
１．放送外マネージドアプリケーションの取得
２．放送リソースの利用許諾範囲の制御（その１）
３．放送リソースの利用許諾範囲の制御（その２）
４．オーバーレイエリアの制御
５．電子署名の生成と検証
６．ＸＭＬ−ＡＩＴの有効期限の管理
７．アプリケーションタイプによる制御
【０１００】
（１．放送外マネージドアプリケーションの取得）
図８は情報処理装置７００においてリモートコントローラのアプリショップ呼び出しボタンが操作されから、情報処理装置７００においてユーザにより選択された放送外マネージドアプリケーションが起動されるまでのアプリケーションサーバ３００、ＸＭＬ−ＡＩＴサーバ４００、情報処理装置７００およびストアサーバ８００の間でのやりとりの流れを示すシーケンス図である。
【０１０１】
例えば、情報処理装置７００のリモートコントローラの所定のボタンには、アプリケーションサーバ３００が運営するアプリケーションストアのＵＲＬなどのロケーション情報が予め紐付けられたアプリショップ呼び出しボタンが設けられている。ユーザによって、リモートコントローラのアプリショップ呼び出しボタンが操作されると、情報処理装置７００のアプリケーションコントローラ７０８は、このアプリショップボタンに紐付けられたロケーション情報を用いてストアサーバ８００にアクセスすることによってアプリストア画面を取得し、これを情報処理装置７００の表示部に表示させる。
【０１０２】
アプリストア画面には、１以上の放送外マネージドアプリケーションが、機能の説明、利用条件などの各種情報とともに提示されている。このアプリストア画面で、ユーザは所望の放送外マネージドアプリケーションを選択することができる。この後、ユーザは、例えば、当該放送外マネージドアプリケーションが有料のアプリケーションである場合には、例えば購入などの手続きを行う。なお、無料の放送外マネージドアプリケーションである場合には購入などの手続きは不要であることは言うまでもない。
【０１０３】
ストアサーバ８００は、当該放送外マネージドアプリケーションを情報処理装置７００にて利用可能なアプリケーションとするために、例えば、当該放送外マネージドアプリケーションの名前、アイコン情報（ビットマップ画像）、当該放送外マネージドアプリケーションの動作を制御するＸＭＬ−ＡＩＴの置き場所を示すＵＲＬなどのロケーション情報などを含むアプリケーション情報を当該ユーザの情報処理装置７００に応答する。
【０１０４】
情報処理装置７００のアプリケーションコントローラ７０８は、ストアサーバ８００から応答されたアプリケーション情報を保存する。
【０１０５】
なお、情報処理装置７００のアプリケーションコントローラ７０８は、続けてアプリストア画面で別の放送外マネージドアプリケーションを選択し、ストアサーバ８００から応答された当該別の放送外マネージドアプリケーションのアプリケーション情報を取得し、保存することができる。
【０１０６】
図９は、アプリケーションローンチャが表示されてから以後の情報処理装置７００のアプリケーションコントローラ７０８による処理手順を示すフローチャートである。
【０１０７】
情報処理装置７００のリモートコントローラの別の所定のボタンには、アプリケーションローンチャを表示させるためのアプリケーションローンチャボタンが設けられている。このアプリケーションローンチャボタンが情報処理装置７００のユーザによって操作されると、アプリケーションコントローラ７０８は、保存されている各々のアプリケーション情報をもとに図１０に示したようなアプリケーションローンチャ６１を生成し、情報処理装置７００の表示部に表示するように制御を行う（図９のステップ１０１）。
【０１０８】
図１０はアプリケーションローンチャの例を示す図である。
同図に示すように、アプリケーションローンチャ６１は、選択可能な放送外マネージドアプリケーションのメニュー画面である。ここで、Ａｐｐ１−Ａｐｐ８は、個々の放送外マネージドアプリケーションの選択用のアイコンである。アイコンの近傍には当該放送外マネージドアプリケーションの名前や機能説明文などが表示される。各々の選択用のアイコンＡｐｐ１−Ａｐｐ８には、対応する放送外マネージドアプリケーションの動作を制御するＸＭＬ−ＡＩＴの置き場所を示すＵＲＬなどのロケーション情報が紐付けられている。
【０１０９】
表示されたアプリケーションローンチャ６１において、ユーザにより起動させたい放送外マネージドアプリケーションのアイコンが選択されると、アプリケーションコントローラ７０８は、その選択された放送外マネージドアプリケーションを認識する（図９のステップＳ１０２）。
【０１１０】
情報処理装置７００のアプリケーションコントローラ７０８は、アプリケーションローンチャ６１においてユーザにより選択されたアイコンに紐付けられたロケーション情報を用いて、上記ユーザにより選択された放送外マネージドアプリケーションの動作を制御するＸＭＬ−ＡＩＴの取得要求を生成し、ＸＭＬ−ＡＩＴサーバ４００に送信する。ＸＭＬ−ＡＩＴサーバ４００は、情報処理装置７００からのＸＭＬ−ＡＩＴの取得要求を受けて、該当するＸＭＬ−ＡＩＴを含む応答を情報処理装置７００に返信する（図９のステップＳ１０３）。このようにして情報処理装置７００は、ユーザにより選択された放送外マネージドアプリケーションの動作を制御するＸＭＬ−ＡＩＴを取得することができる。
【０１１１】
続いて、情報処理装置７００のアプリケーションコントローラ７０８は、取得したＸＭＬ−ＡＩＴに記述されているアプリケーションのロケーション情報をもとにアプリケーションサーバ３００にアクセスすることによって、放送外マネージドアプリケーションを取得する（図９のステップＳ１０４）。
【０１１２】
ここで、取得される放送外マネージドアプリケーションが、パッケージング化されたアプリケーションである場合を想定する。パッケージング化されたアプリケーションとは、このアプリケーションの実行に必要なすべての情報（ＨＴＭＬ５、スクリプト、画像など）が情報処理装置７００に保存（インストール）されて実行される形式のアプリケーションである。
【０１１３】
放送外マネージドアプリケーションの取得後、アプリケーションコントローラ７０８は、取得した放送外マネージドアプリケーションを、ＸＭＬ−ＡＩＴに記述されたアプリケーション制御コード"AUTOSTART"に従って起動する（図９のステップＳ１０５）。
【０１１４】
以上が、情報処理装置７００においてリモートコントローラのアプリショップ呼び出しボタンが操作されから、情報処理装置７００においてユーザにより選択された放送外マネージドアプリケーションが起動されるまでの動作の説明である。
【０１１５】
（２．放送リソースの利用許諾範囲の制御（その１））
図１１は、放送外マネージドアプリケーションが起動されてから以後の放送リソースの利用許諾範囲の制御に関する放送局１００、アプリケーションサーバ３００、ＸＭＬ−ＡＩＴサーバ４００、および情報処理装置７００の間でのやりとりの流れを示すシーケンス図である。
【０１１６】
アプリケーションコントローラ７０８は、放送外マネージドアプリケーションを起動させた後、放送外マネージドアプリケーションからの放送リソースのアクセス要求を監視する（図９のステップＳ１０６）。アプリケーションコントローラ７０８は、放送外マネージドアプリケーションからの放送リソースのアクセス要求を検出すると（図９のステップＳ１０６のＹ）、この放送リソースに対応する放送局公開鍵証明書が情報処理装置７００内のメモリに保存されているかどうかを調べる（図９のステップＳ１０７）。
【０１１７】
情報処理装置７００のアプリケーションコントローラ７０８は、放送局公開鍵証明書が情報処理装置７００内のメモリに保存されていない場合には、目的の放送局公開鍵証明書がデータカルーセルで伝送されてくるのを待つ。アプリケーションコントローラ７０８は、目的の放送局公開鍵証明書を受信すると、これをメモリに保存する（図９のステップＳ１０８）。
【０１１８】
アプリケーションコントローラ７０８は、実行中の放送外マネージドアプリケーションに添付された電子署名を、メモリに保存された放送局公開鍵証明書を用いて検証する（図９のステップＳ１１０）。もし電子署名の検証に失敗した場合（図９のステップＳ１１１のＮ）、アプリケーションコントローラ７０８は、当該放送外マネージドアプリケーションが放送局によって認証されていないものとして、その放送局のすべての放送リソースのアクセスを禁止するように設定をする（図９のステップＳ１１２）。放送リソースのアクセスを禁止された状態では、放送外マネージドアプリケーションが起動されても放送リソースへのアクセスは不可の状態となる。
【０１１９】
電子署名の検証に成功した場合（ステップＳ１１１のＹ）、アプリケーションコントローラ７０８は、ＸＭＬ−ＡＩＴに記述された利用許諾情報記述子２１の中のサービス利用許諾情報をもとに、放送外マネージドアプリケーションによってアクセス要求された放送リソースへのアクセスの可否を判定する（図９のステップＳ１１３）。
【０１２０】
なお、ＸＭＬ−ＡＩＴに記述された利用許諾情報記述子２１の中のサービス利用許諾情報は、アプリケーションコントローラ７０８のメモリにパーミッションビットマップ（バイナリデータ）として保持されている。アプリケーションコントローラ７０８は、このパーミッションビットマップを参照して放送外マネージドアプリケーションによってアクセス要求された放送リソースへのアクセスの可否を判定する。
【０１２１】
ここで、例えば、サービス利用許諾情報の中のパーミッション指定単位が"service"である場合を想定する。この場合、利用許諾情報記述子２１の中のサービス利用許諾情報によって、チャンネルを特定するための情報がネットワークＩＤ、トランスポートストリームＩＤおよびサービスＩＤにより指定されている。ここで、そのチャンネルを"チャンネルｘ"とする。この例では、放送外マネージドアプリケーションがアクセス要求するチャンネルが"チャンネルｘ"ならば、アプリケーションコントローラ７０８はそのアクセス要求を許可して、"チャンネルｘ"へのアクセスを許可する。
【０１２２】
もし、その他のチャンネルが放送外マネージドアプリケーションによってアクセス要求された場合には、アプリケーションコントローラ７０８は、パーミッションエラーが発生したことを判定する。この場合、アプリケーションコントローラ７０８は、利用許諾情報記述子２１の中のサービス利用許諾情報に格納された、パーミッションエラー時の振る舞いに関する情報に従って、放送外マネージドアプリケーションの動作を制御する。
【０１２３】
このようにして、アプリケーションコントローラ７０８は、電子署名の検証に成功した場合に、ＸＭＬ−ＡＩＴのサービス利用許諾情報をもとに許可された範囲で、放送外マネージドアプリケーションが放送リソースをアクセスするように制御を行う（図９のステップＳ１１４）。
【０１２４】
一方、放送局１００からは情報処理装置７００にて起動中の放送外マネージドアプリケーションの動作を制御するためのセクションＡＩＴが周期的に送出される。セクションＡＩＴの送出周期は例えば100ms程度とされている。セクションＡＩＴは、バージョン番号によって世代が管理されている。アプリケーションコントローラ７０８は、最後に取得したセクションＡＩＴのバージョン番号を保持し、この保持されているバージョン番号と異なるバージョン番号を有するセクションＡＩＴを受信する（図９のステップＳ１１５）。
【０１２５】
アプリケーションコントローラ７０８は、受信したセクションＡＩＴに外部アプリケーション制御記述子が付加されているかどうかを確認する（図９のステップＳ１１６）。外部アプリケーション制御記述子が付加されていない場合（図９のステップＳ１１６のＮ）、ＸＭＬ−ＡＩＴに格納された利用許諾情報記述子２１（メモリに保持されたパーミッションビットマップ）に基づく放送リソースの利用許諾の制御が継続される。
【０１２６】
取得したセクションＡＩＴに外部アプリケーション制御記述子が付加されている場合（図９のステップＳ１１６のＹ）、アプリケーションコントローラ７０８は、この外部アプリケーション制御記述子のパーミッションビットマップと、メモリに保持されたパーミッションビットマップとを比較する（図９のステップＳ１１７）。アプリケーションコントローラ７０８は、双方のパーミッションビットマップに差分があれば（図９のステップＳ１１７のＹ）、外部アプリケーション制御記述子のパーミッションビットマップでメモリのパーミッションビットマップを更新する（図９のステップＳ１１８）。これにより、放送局の側が意図する放送リソースの利用許諾範囲が情報処理装置７００において設定される。
【０１２７】
なお、外部アプリケーション制御記述子のパーミッションビットマップと、メモリに保持されたパーミッションビットマップとの差分がない場合には（図９のステップＳ１１７のＮ）、メモリに保持されたパーミッションビットマップはそのままにして、このパーミッションビットマップに基づく放送リソースの利用許諾の制御が継続される。
【０１２８】
この後、例えば、ユーザによるリモコンの操作によるアプリケーションの終了指示や別のアプリケーションへの遷移などが発生すると（図９のステップＳ１２０のＹＥＳ）、情報処理装置７００のアプリケーションコントローラ７０８は放送外マネージドアプリケーションを終了させる（図９のステップＳ１２２）。
【０１２９】
また、情報処理装置７００のアプリケーションコントローラ７０８は、放送外マネージドアプリケーションの実行中に取得したセクションＡＩＴに"AUTOSTART"、"DESTROY"、"KILL"以外のアプリケーション制御コードが記述されている場合には、そのアプリケーション制御コードに従って放送外マネージドアプリケーションの状態を遷移させるなどの処理を行った後（図９のステップＳ１２１）、次のセクションＡＩＴを待機する。
【０１３０】
以後、受信されたセクションＡＩＴについても同様の処理が行われる。
【０１３１】
その後、同一チャンネル（チャンネルｘ）内での番組の切り替わり（番組Ａ→番組Ｂ）が発生した場合にも、その番組Ｂの切り替わり後に取得したセクションＡＩＴについて同様の処理が繰り返される。
【０１３２】
また、チャンネルの切り替えが発生した場合も、そのチャンネルの切り替わり後に取得したセクションＡＩＴについて同様の処理が繰り返される。
【０１３３】
（３．放送リソースの利用許諾範囲の制御（その２））
放送外マネージドアプリケーションが実行中であるとき、例えば、ユーザのマニュアル操作などによって放送チャンネルが切り替えられる操作（ダイレクト選局操作）が行われることがある。
【０１３４】
図１２は、放送外マネージドアプリケーションの実行中にダイレクト選局操作が発生した場合の放送局１００、アプリケーションサーバ３００、ＸＭＬ−ＡＩＴサーバ４００、および情報処理装置７００の間でのやりとりの流れを示すシーケンス図である。図１３は放送外マネージドアプリケーションの実行中にダイレクト選局操作が発生した場合のアプリケーションコントローラ７０８の制御の流れを示すフローチャートである。
【０１３５】
放送外マネージドアプリケーションの実行中にダイレクト選局操作が発生したとき（図１３のステップＳ２０１）、情報処理装置７００のアプリケーションコントローラ７０８は、このダイレクト選局された放送チャンネルに対応する放送局公開鍵証明書が情報処理装置７００内のメモリに保存されているかどうかを調べる（図１３のステップＳ２０２）。
【０１３６】
情報処理装置７００のアプリケーションコントローラ７０８は、放送局公開鍵証明書が情報処理装置７００内のメモリに保存されていない場合には、目的の放送局公開鍵証明書が切り替えられた放送チャンネルのデータカルーセルなどで伝送されてくるのを待ち、データカルーセルなどによって伝送されてきた目的の放送局公開鍵証明書を受信すると、これをメモリに保存する（図１３のステップＳ２０３）。
なお、ここでは、データカルーセルで放送局公開鍵証明書が伝送されてくる例を示したが、予め指定されたサーバから公開鍵証明書を取得するなど、通信を用いた公開鍵証明書を取得するようにしてもよい。
【０１３７】
アプリケーションコントローラ７０８は、実行中の放送外マネージドアプリケーションに添付された電子署名を、メモリに保存された放送局公開鍵証明書を用いて検証する（図１３のステップＳ２０５）。この電子署名の署名に失敗した場合（図１３のステップＳ２０６のＮ）、アプリケーションコントローラ７０８は、当該放送外マネージドアプリケーションを終了させる（図１３のステップＳ２０９）。
【０１３８】
電子署名の署名に成功した場合（図１３のステップＳ２０６のＹ）、アプリケーションコントローラ７０８は、放送外マネージドアプリケーションの動作を継続させ、パーミッションビットマップをもとに許可された範囲で、放送外マネージドアプリケーションが放送リソースをアクセスするように制御を行う（図１３のステップＳ２０７）。
【０１３９】
以後の動作は、図９のステップＳ１２０より以降と同じである。
【０１４０】
また、図１３に示すように、放送外マネージドアプリケーションの動作中、例えば、放送外マネージドアプリケーションに組み込まれたスクリプトの実行、あるいは、ユーザのマニュアル操作などによって、別の放送外マネージドアプリケーションへの遷移の指示が発生することがある。この場合、アプリケーションコントローラ７０８は、上述したアプリケーションローンチャから放送外マネージドアプリケーションがユーザにより選択された場合と同様に制御を行う。
【０１４１】
（４．オーバーレイエリアの制御）
既に説明したように、ＸＭＬ−ＡＩＴおよびセクションＡＩＴには、放送外マネージドアプリケーションを表示させてもよい表示画面Ｄにおける領域をオーバーレイエリアとして定義するためのオーバーレイエリア情報（Overlay_area）を記述することができる。
【０１４２】
図１４はＸＭＬ−ＡＩＴの利用許諾情報記述子２１の中のオーバーレイエリア情報をもとにしたオーバーレイエリアの設定例を示す図である。
【０１４３】
この設定例では、areaId=1とareaId=2の２つのオーバーレイエリアが存在する。各々のオーバーレイエリアは、エリア左上水平座標（upper_left_horizontal）、エリア左上垂直座標（upper_left_vertical）、エリア水平サイズ（horizontal_size）およびエリア垂直サイズ（vertical_size）によって表示画面Ｄにおける領域が定義される。
【０１４４】
アプリケーションコントローラ７０８は、ＸＭＬ−ＡＩＴの利用許諾情報記述子２１の中のオーバーレイエリア情報（Overlay_area）をもとに、各々のオーバーレイエリアを作成する。
【０１４５】
アプリケーションコントローラ７０８は、放送外マネージドアプリケーションの起動後に取得したセクションＡＩＴの共通記述子領域４１（descriptor）の外部アプリケーション制御記述子（External_application_control_descriptor）に含まれるオーバーレイエリアに関する情報をもとに、あらためてオーバーレイエリアを作成することができる。すなわち、放送局１００の意図するオーバーレイエリアに更新することができる。
【０１４６】
図１５はオーバーレイエリアの第１の更新例を示す図である。
この例では、ＸＭＬ−ＡＩＴの利用許諾情報記述子２１の中のオーバーレイエリア情報（Overlay_area）をもとにオーバーレイエリア１が作成される。さらに、オーバーレイエリア１内には放送外マネージドアプリケーションの表示領域２が設けられていることとする。
【０１４７】
例えばチャンネル切り替えなどの後、アプリケーションコントローラ７０８は、受信したセクションＡＩＴの外部アプリケーション制御記述子に含まれるオーバーレイエリアに関する情報をもとに、既存のオーバーレイエリア１に代えて新たなオーバーレイエリア３を作成する。
【０１４８】
アプリケーションコントローラ７０８は、オーバーレイエリア１からオーバーレイエリア３への変更が発生した場合、自身に予め組み込まれたプログラムに従って、新しく作成されたオーバーレイエリア３内に放送外マネージドアプリケーションの表示領域２を移動させるように制御を行う。
【０１４９】
なお、放送外マネージドアプリケーションの表示領域２の位置はアプリケーションコントローラ７０８によって制御される。例えば、予め決められた位置に放送外マネージドアプリケーションの表示領域２が配置されるように制御される。同時に複数の放送外マネージドアプリケーションの表示領域２が表示される場合には、アプリケーションコントローラ７０８によって互いの位置が排他的に制御される。
【０１５０】
図１６は、オーバーレイエリアの第２の更新例を示す図である。
この例では、アプリケーションコントローラ７０８は、セクションＡＩＴの外部アプリケーション制御記述子に含まれるオーバーレイエリアに関する情報をもとに、既存のオーバーレイエリア１からオーバーレイエリア３への変更が発生した場合、自身に予め組み込まれたプログラムに従って以下の制御を行う。
【０１５１】
まず、アプリケーションコントローラ７０８は、表示画面Ｄの例えば全面を放送映像表示エリア４として使用していた状態から、放送映像表示エリア４を縮小させ、これによりできた空き領域をアプリケーション表示エリア５として設定する。アプリケーションコントローラ７０８は、放送外マネージドアプリケーションの表示領域２を、外部アプリケーション制御記述子のオーバーレイエリアに関する情報に拠らず、アプリケーション表示エリア５に表示させるように制御を行う。
【０１５２】
これにより、放送映像表示エリア４の映像の上に放送外マネージドアプリケーションが重ねて表示されることを回避できる。
【０１５３】
図１７は、オーバーレイエリアの第３の更新例を示す図である。
この例は、ＸＭＬ−ＡＩＴのオーバーレイエリア情報をもとに表示画面Ｄの全画面を使用するオーバーレイエリア１が設定されている場合を想定する。このオーバーレイエリア１の全体に放送外マネージドアプリケーションの表示領域２が割り当てられており、その一部に放送映像表示エリア４が設定される。
【０１５４】
アプリケーションコントローラ７０８は、例えば、チャンネル切り替えなどの後に受信したセクションＡＩＴの外部アプリケーション制御記述子に含まれるオーバーレイエリアに関する情報をもとに、既存のオーバーレイエリア１に代えて新たなオーバーレイエリア３を作成する。
【０１５５】
このとき、アプリケーションコントローラ７０８は、自身に予め組み込まれたプログラムに従って、放送映像表示エリア４を表示画面Ｄの全画面に設定し、放送外マネージドアプリケーションの表示領域２を非表示の状態にする。これにより、放送映像表示エリア４の映像が放送外マネージドアプリケーションによって一部隠れてしまうことを回避できる。また、この第３の更新例において、放送外マネージドアプリケーションを構成する(elementIdで指定される)子要素がオーバーレイエリア３の位置に指定されている場合、その子要素を表示させるようにしてもよい。
【０１５６】
（５．電子署名の生成と検証）
次に、電子署名の生成と検証について説明する。
図１８は電子署名の生成と検証の仕組みについて説明するためのブロック図である。
【０１５７】
ＸＭＬ−ＡＩＴサーバ４００およびアプリケーションサーバ３００はアプリケーション制作者が所有する一台のサーバであってもよく、別々のサーバであってもよい。ここでは、ＸＭＬ−ＡＩＴサーバ４００およびアプリケーションサーバ３００を総称して「サーバ」と呼ぶ。サーバは、典型的なコンピュータの構成を有する機器である。したがって、ＣＰＵ、メインメモリ、ＨＤＤなどのストレージデバイス、マウスやキーボードなどの入力装置、液晶ディスプレイなどの表示部などで構成される。メインメモリおよびストレージデバイスには、ＯＳ（Operating System）、サーバ用のアプリケーションプログラムなどのソフトウェア、情報処理装置７００に提供される放送外マネージドアプリケーション、アプリケーション毎のＸＭＬ−ＡＩＴのファイル、署名生成鍵などが格納される。
【０１５８】
サーバは、署名付きアプリケーション生成部３５０を有する。署名付きアプリケーション生成部３５０は、具体的にはメインメモリにロードされたプログラムと、このプログラムを実行するＣＰＵとで実現される。
【０１５９】
アプリケーション制作者は、放送外マネージドアプリケーション３５１とＸＭＬ−ＡＩＴ３５５について放送局１００に対して認証を依頼する。
【０１６０】
放送局１００は、アプリケーション制作者より依頼された認証の対象である放送外マネージドアプリケーション３５１とＸＭＬ−ＡＩＴ３５５の内容を精査し、問題がなければ、ルートＣＡ９００（図１）より発行された秘密鍵と放送局公開鍵証明書のペアのうち秘密鍵を署名生成鍵３５７として署名生成器３５６に設定する。署名生成器３５６は放送外マネージドアプリケーション３５１について署名用のハッシュ関数を用いてダイジェストを生成し、このダイジェストを署名生成鍵（秘密鍵）３５７で暗号化してＸＭＬ署名３５８を生成する。放送局１００は、生成したＸＭＬ署名３５８をサーバに応答する。署名付きアプリケーション生成部３５０は、放送局１００より応答されたＸＭＬ署名３５８を放送外マネージドアプリケーション３５１に付加して電子署名付きのアプリケーション３６０を生成し、情報処理装置７００に配信する。
【０１６１】
情報処理装置７００のアプリケーションコントローラ７０８は、サーバより取得した電子署名付きのアプリケーション３６０から署名生成器７５３にてＸＭＬ署名を抽出し、このＸＭＬ署名を放送局公開鍵証明書から取り出した署名検証鍵である公開鍵７５４を用いて検証して署名検証結果７５５を得る。
【０１６２】
次に、放送局１００から情報処理装置７００に放送局公開鍵証明書を伝送する方法について説明する。
放送局１００から情報処理装置７００に放送局公開鍵証明書を伝送する方法には、専用モジュール方式、データ放送拡張方式（その１）、データ放送拡張方式（その２）などがある。
【０１６３】
（専用モジュール方式）
図１９は専用モジュール方式の概念図である。
専用モジュール方式では、データ放送番組がユーザにより選択された時最初に起動させるべきスタート文書を含むモジュールであるcomponent_tag=0x40に、放送局公開鍵証明書４３を伝送するための専用のモジュール(例えばmodule_id=0xFFFEなど)４４が新たな配置される。
また、上記の専用モジュールで配布する放送局公開鍵証明書の更新を情報処理装置７００に知らせるために、放送局公開鍵証明書記述子がＤＩＩ（Download Info Indication）が配置される。
【０１６４】
図２０は、放送局公開鍵証明書記述子の構成を示す図である。
放送局公開鍵証明書記述子（broadcast certificate_descriptor）は放送局公開鍵証明書を識別するＩＤ（broadcaster_certificate_id）および放送局公開鍵証明書のバージョン（broadcaster_certificate_version）を含む。
【０１６５】
図２１は専用モジュール方式による放送局公開鍵証明書の取得および更新に関するフローチャートである。
【０１６６】
まず、情報処理装置７００のアプリケーションコントローラ７０８は、データカルーセルで伝送されるＤＩＩのモジュール情報を監視する(ステップＳ４０１)。情報処理装置７００のアプリケーションコントローラ７０８は、ＤＩＩのモジュール情報に放送局公開鍵証明書記述子が含まれていることを検出すると(ステップＳ４０２のＹ)、この放送局公開鍵証明書記述子を解析し、この放送局公開鍵証明書記述子の中からＩＤとバージョンをそれぞれ抽出する(ステップＳ４０３)。
【０１６７】
アプリケーションコントローラ７０８は、メモリに既に格納されている放送局公開鍵証明書のＩＤと今回取得したＩＤとを比較し、ＩＤが一致した放送局公開鍵証明書がメモリに格納されているかどうかを調べる(ステップＳ４０４)。該当する放送局公開鍵証明書が格納されていない場合(ステップＳ４０５のＮ)、アプリケーションコントローラ７０８は、データカルーセルで伝送される放送局公開鍵証明書を取得し、メモリに格納する(ステップＳ４０６)。この後、ＤＩＩのモジュール情報の監視状態に戻る。
【０１６８】
該当する放送局公開鍵証明書が格納されている場合(ステップＳ４０５のＹ)、アプリケーションコントローラ７０８は、メモリに格納されている放送局公開鍵証明書のバージョンを確認する(ステップＳ４０７)。アプリケーションコントローラ７０８は、確認した放送局公開鍵証明書のバージョンと今回取得した放送局公開鍵証明書のバージョンとを比較し、放送局公開鍵証明書のバージョンアップの発生の有無を判定する(ステップＳ４０８)。
【０１６９】
放送局公開鍵証明書のバージョンアップが発生していないことが判定された場合は(ステップＳ４０８のＮ)、アプリケーションコントローラ７０８はＤＩＩのモジュール情報の監視状態に戻る。
【０１７０】
放送局公開鍵証明書のバージョンアップが発生したことを判定した場合(ステップＳ４０８のＮ)、アプリケーションコントローラ７０８はデータカルーセルで伝送される放送局公開鍵証明書を取得し、メモリに格納する(ステップＳ４０９)。この後、ＤＩＩのモジュール情報の監視状態に戻る。
【０１７１】
以上のようにして、情報処理装置７００は、ＩＤの異なる１以上の種類の最新バージョンの放送局公開鍵証明書を取得し、メモリに格納することができる。
【０１７２】
（データ放送拡張方式（その１））
図２２はデータ放送拡張方式（その１）によるルート証明書記述子の構成を示す図である。
データ放送拡張方式（その１）は、ルート証明書記述子のroot_certificate_typeに新しいサービスの公開鍵証明書を伝送するための拡張を施し、そこに放送局公開鍵証明書を識別するＩＤ（broadcaster_certificate_id）および放送局公開鍵証明書のバージョン（broadcaster_certificate_version）を記述するようにしたものである。
【０１７３】
図２３はデータ放送拡張方式（その１）による放送局公開鍵証明書の取得および更新に関するフローチャートである。
【０１７４】
まず、情報処理装置７００のアプリケーションコントローラ７０８は、データカルーセルで伝送されるＤＩＩのルート証明書記述子を監視する(ステップＳ５０１)。情報処理装置７００のアプリケーションコントローラ７０８は、ＤＩＩのルート証明書記述子を検出すると(ステップＳ５０２のＹ)、このルート証明書記述子を解析し、このルート証明書記述子に新しいサービスを示す値（root_certificate_type = 2）が記述されているかどうかを判定する(ステップＳ５０３)。新しいサービスを示す値（root_certificate_type = 2）が記述されていなければデータ放送の処理を行い(ステップＳ５０４)、その後、ＤＩＩのルート証明書記述子の監視状態に戻る。
【０１７５】
ルート証明書記述子に新しいサービスを示す値（root_certificate_type = 2）が記述されている場合、アプリケーションコントローラ７０８は、ルート証明書記述子の中から放送局公開鍵証明書のＩＤとバージョンをそれぞれ抽出する(ステップＳ５０５)。以降のステップＳ５０６からステップＳ５１１までの動作は、専用モジュール方式のステップＳ４０４からステップＳ４０９と同じであるため、説明を省略する。
【０１７６】
アプリケーションコントローラ７０８は、メモリに既に格納されている放送局公開鍵証明書のＩＤと今回取得したＩＤとを比較し、ＩＤが一致した放送局公開鍵証明書がメモリに格納されているかどうかを調べる(ステップＳ４０４)。該当する放送局公開鍵証明書が格納されていない場合(ステップＳ４０５のＮ)、アプリケーションコントローラ７０８は、データカルーセルで伝送される放送局公開鍵証明書を取得し、メモリに格納する(ステップＳ４０６)。この後、ＤＩＩのルート証明書記述子の監視状態に戻る。
【０１７７】
該当する放送局公開鍵証明書が格納されている場合(ステップＳ４０５のＹ)、アプリケーションコントローラ７０８は、メモリに格納されている放送局公開鍵証明書のバージョンを確認する(ステップＳ４０７)。アプリケーションコントローラ７０８は、確認した放送局公開鍵証明書のバージョンと今回取得した放送局公開鍵証明書のバージョンとを比較し、放送局公開鍵証明書のバージョンアップの発生の有無を判定する(ステップＳ４０８)。
【０１７８】
放送局公開鍵証明書のバージョンアップが発生していないことが判定された場合は(ステップＳ４０８のＮ)、アプリケーションコントローラ７０８はＤＩＩのモジュール情報の監視状態に戻る。
【０１７９】
放送局公開鍵証明書のバージョンアップが発生したことを判定した場合(ステップＳ４０８のＮ)、アプリケーションコントローラ７０８はデータカルーセルで伝送される放送局公開鍵証明書を取得し、メモリに格納する(ステップＳ４０９)。この後、ＤＩＩのモジュール情報の監視状態に戻る。
【０１８０】
以上のようにして、情報処理装置７００は、ＩＤの異なる１以上の種類の最新バージョンの放送局公開鍵証明書を取得し、メモリに格納することができる。
【０１８１】
（データ放送拡張方式（その２））
データ放送拡張方式（その２）は、ルート証明書記述子の中でデータ放送向け公開鍵証明書を伝送できる格納領域のうち、固定の１つの格納領域が新しいサービス向けに割り当てられ、そこに放送局公開鍵証明書を識別するＩＤ（broadcaster_certificate_id）および放送局公開鍵証明書のバージョン（broadcaster_certificate_version）が記述される。また、例えば図２４に示すように、ルート証明書記述子に新たなフラグ（broadcaster_certificate_flag）が配置される。例えば、このフラグの値が"１"であるとき、放送局公開鍵証明書が伝送されることを示し、フラグの値が"０"であるとき、放送局公開鍵証明書が伝送されないことを示す。
【０１８２】
図２５は、データ放送拡張方式（その２）による放送局公開鍵証明書の取得および更新に関するフローチャートである。
まず、情報処理装置７００のアプリケーションコントローラ７０８は、データカルーセルで伝送されるＤＩＩのルート証明書記述子を監視する(ステップＳ６０１)。情報処理装置７００のアプリケーションコントローラ７０８は、ＤＩＩのルート証明書記述子を検出すると(ステップＳ５０２のＹ)、このルート証明書記述子を解析し、フラグ（broadcaster_certificate_flag）の値を確認する。フラグの値が"０"である場合、アプリケーションコントローラ７０８はデータ放送の処理を行い(ステップＳ５０４)、その後、ＤＩＩのルート証明書記述子の監視状態に戻る。
【０１８３】
フラグの値が"０"である場合、アプリケーションコントローラ７０８は、ルート証明書記述子の中でデータ放送向け公開鍵証明書を伝送できる複数の格納領域のうち予め決められた格納領域から、放送局公開鍵証明書のＩＤとバージョンをそれぞれ抽出する(ステップＳ６０５)。以降のステップＳ６０６からステップＳ６１１までの動作は、専用モジュール方式のステップＳ４０４からステップＳ４０９と同じであるため、説明を省略する。
【０１８４】
以上のようにして、情報処理装置７００は、ＩＤの異なる１以上の種類の最新バージョンの放送局公開鍵証明書を取得し、メモリに格納することができる。
【０１８５】
（ＸＭＬ−ＡＩＴに電子署名を添付して検証を行う方式）
上記の方式ではアプリケーションに電子署名が添付されることとしたが、ＸＭＬ−ＡＩＴに電子署名を添付してもよい。この方式によると、1つのアプリケーションに対して、複数の放送局が放送リソースの利用を許可する場合には、ＸＭＬ−ＡＩＴには放送リソースの利用を許可するすべての放送局の電子署名が添付される。
【０１８６】
この方式では、アプリケーションの改ざんを直接に検出することができない。そこでアプリケーションのハッシュ値をＸＭＬ−ＡＩＴに埋め込み、情報処理装置７００において、アプリケーションの実体から計算されるハッシュ値とＸＭＬ−ＡＩＴに埋め込まれて通知されるハッシュ値とを比較することで、アプリケーションの改ざんを間接的に検出することが可能である。以下、この方式について説明する。
【０１８７】
図２６はＸＭＬ−ＡＩＴに添付される電子署名およびハッシュ値の生成とこれらの検証の仕組みについて説明するための図である。
サーバは、署名付きＡＩＴ生成部３５０Ａを有する。署名付きＡＩＴ生成部３５０Ａは、具体的にはメインメモリにロードされた、電子署名およびハッシュ値の生成を行うプログラムと、このプログラムを実行するＣＰＵとで実現される。
【０１８８】
署名付きＡＩＴ生成部３５０Ａは、放送外マネージドアプリケーション３５１Ａの実体から所定のハッシュ演算器３５２Ａを用いてハッシュ値３５３Ａを算出する。ハッシュのアルゴリズムとしては、例えばFIPS PUB 180-1,180-2で標準規格化されているSHA-1やSHA-2などがある。
【０１８９】
署名付きＡＩＴ生成部３５０Ａは、当該放送外マネージドアプリケーション３５１ＡのＸＭＬ−ＡＩＴ３６２Ａにハッシュ値３５３Ａを合成して、ハッシュ値付きのＸＭＬ−ＡＩＴ３５５Ａを生成する。
【０１９０】
アプリケーション制作者は、放送外マネージドアプリケーション３５１ＡとＸＭＬ−ＡＩＴ３５５Ａについて放送局１００Ａに対して認証を依頼する。
【０１９１】
放送局１００は、アプリケーション制作者より依頼された認証の対象である放送外マネージドアプリケーション３５１ＡとＸＭＬ−ＡＩＴ３５５Ａの内容を精査し、問題がなければ、ルートＣＡ９００（図１参照）より発行された秘密鍵と放送局公開鍵証明書のペアのうち秘密鍵を署名生成鍵３５７Ａとして署名生成器３５６Ａに設定する。署名生成器３５６ＡはＸＭＬ−ＡＩＴ３５５Ａについて署名用のハッシュ関数を用いてダイジェストを生成し、このダイジェストを署名生成鍵（秘密鍵）３５７Ａで暗号化してＸＭＬ署名３５８Ａを生成する。放送局１００Ａは、生成したＸＭＬ署名３５８Ａをサーバに応答する。
【０１９２】
サーバの署名付きＡＩＴ生成部３５０Ａは、放送局１００Ａより応答されたＸＭＬ署名３５８Ａをハッシュ値付きのＸＭＬ−ＡＩＴ３５５Ａに付加して電子署名付きのＸＭＬ−ＡＩＴ３６０Ａを生成し、情報処理装置７００Ａに配信する。
【０１９３】
情報処理装置７００のアプリケーションコントローラ７０８Ａは、サーバより取得した放送外マネージドアプリケーション３５１Ａから所定のハッシュ演算器７５１Ａ（ハッシュ関数）を用いてハッシュ値７５２Ａを算出する。ここで用いられるハッシュ関数は、サーバの署名付きＡＩＴ生成部３５０Ａのハッシュ演算器３５２Ａのそれと同じである必要がある。そこでアプリケーションコントローラ７０８Ａは、サーバより取得した電子署名付きのＸＭＬ−ＡＩＴ３６０Ａに記述されたハッシュアルゴリズムを確認して、ハッシュ演算器７５１Ａ（ハッシュ関数）のハッシュアルゴリズムとの整合がとれているかどうかを判定する。もしハッシュアルゴリズムの不整合が判定された場合、アプリケーションコントローラ７０８Ａはハッシュ演算器７５１Ａ（ハッシュ関数）を切り替えてサーバの署名付きＡＩＴ生成部３５０Ａのハッシュ演算器３５２Ａのそれと整合させる。
【０１９４】
アプリケーションコントローラ７０８Ａは、サーバより取得した電子署名付きのＸＭＬ−ＡＩＴ３６０Ａから抽出したハッシュ値３５３Ａとハッシュ値７５２Ａとをハッシュ比較器７５６Ａを用いて比較し、一致／不一致の結果７５７Ａを得る。
【０１９５】
アプリケーションコントローラ７０８Ａは、署名生成器７５３Ａにて、サーバより取得した電子署名付きのＸＭＬ−ＡＩＴ３６０ＡからＸＭＬ署名を抽出し、このＸＭＬ署名を署名検証鍵（公開鍵）７５４Ａを用いて検証して署名検証結果７５５Ａを得る。
【０１９６】
この変形例によれば、アプリケーションにハッシュ値を追加して情報処理装置７００に提供されるので、情報処理装置７００はアプリケーションサーバ３００より取得したアプリケーションに対して算出したハッシュ値とＸＭＬ−ＡＩＴにより伝達されたハッシュ値とを比較することによって、アプリケーションの正当性を判定することができる。
【０１９７】
（６．ＸＭＬ−ＡＩＴの有効期限の管理）
次に、ＸＭＬ−ＡＩＴの有効期限の管理について説明する。
【０１９８】
本実施形態の情報処理システム１０では、ＸＭＬ−ＡＩＴサーバ４００に保存されるＸＭＬ−ＡＩＴつまり情報処理装置７００に配信されるＸＭＬ−ＡＩＴが更新される場合がある。
【０１９９】
そこで情報処理装置７００のアプリケーションコントローラ７０８は、取得したＸＭＬ−ＡＩＴを内部のメモリにキャッシュし、オフライン時はキャッシュされたＸＭＬ−ＡＩＴを参照して放送外マネージドアプリケーションの動作を制御することが行われる。ここで、キャッシュされるＸＭＬ−ＡＩＴは、最後に情報処理装置７００が取得したＸＭＬ−ＡＩＴである。
【０２００】
アプリケーションコントローラ７０８は、アプリケーションローンチャにおいて起動させたい放送外マネージドアプリケーションがユーザによって選択される都度、ＸＭＬ−ＡＩＴサーバ４００に最新のＸＭＬ−ＡＩＴの更新日時を問い合わせる。アプリケーションコントローラ７０８は、問い合わせた最新のＸＭＬ−ＡＩＴの更新日時とキャッシュされたＸＭＬ−ＡＩＴのキャッシュ日時とを比較する。最新のＸＭＬ−ＡＩＴの更新日時がキャッシュされたＸＭＬ−ＡＩＴのキャッシュ日時よりも遅い（新しい）場合には、アプリケーションコントローラ７０８はＸＭＬ−ＡＩＴサーバ４００からＸＭＬ−ＡＩＴを取得して、キャッシュされたＸＭＬ−ＡＩＴに上書きする。また、問い合わせた最新のＸＭＬ−ＡＩＴの更新日時がキャッシュされたＸＭＬ−ＡＩＴのキャッシュ日時と等しい、あるいは早い（古い）場合には、アプリケーションコントローラ７０８はＸＭＬ−ＡＩＴサーバ４００からＸＭＬ−ＡＩＴを取得せずにキャッシュされたＸＭＬ−ＡＩＴをそのまま残すように制御を行う。
【０２０１】
そして情報処理装置７００がオフライン状態であるとき放送外マネージドアプリケーションがユーザによって選択された場合には、アプリケーションコントローラ７０８は、キャッシュされたＸＭＬ−ＡＩＴを用いて、放送外マネージドアプリケーションの動作を制御する。
【０２０２】
ところで、キャッシュされたＸＭＬ−ＡＩＴを時間的に無制限に利用可能とすると、ＸＭＬ−ＡＩＴの更新の意図が放送外マネージドアプリケーションの動作の制御にいつまでも反映されない。
【０２０３】
そこで、ＸＭＬ−ＡＩＴのデータ構造にはＸＭＬ−ＡＩＴの有効期限（expireDate）２２（図２参照）が設けられている。有効期限２２は、絶対的な日時あるいは相対的な日時によって指定される。絶対的な日時は、例えば、年月日と時刻などにより与えられる。勿論、年月日だけで与えられてもよい。相対的な日時は、例えば、ＸＭＬ−ＡＩＴを取得してからの経過時間などにより与えられる。なお、本実施形態では、有効期限２２は、絶対的な日時により与えられる場合を想定している。
【０２０４】
情報処理装置７００のアプリケーションコントローラ７０８は、アプリケーションローンチャにおいて起動したい放送外マネージドアプリケーションが選択される都度、ＸＭＬ−ＡＩＴサーバ４００より取得したＸＭＬ−ＡＩＴおよびキャッシュされているＸＭＬ−ＡＩＴの有効期限２２が超過しているかどうかを判断する。有効期限２２が超過していなければ、アプリケーションコントローラ７０８は、そのＸＭＬ−ＡＩＴをもとに放送外マネージドアプリケーションを起動させる。有効期限２２が超過している場合は、アプリケーションコントローラ７０８は、放送外マネージドアプリケーションを起動させないようにする。
【０２０５】
次に、図２７を参照して、アプリケーションローンチャにおいて起動したい放送外マネージドアプリケーションが選択されてからＸＭＬ−ＡＩＴの有効期限２２をもとに放送外マネージドアプリケーションの起動の可否を決定するまでの制御の流れを説明する。
【０２０６】
アプリケーションローンチャにおいて起動させたい放送外マネージドアプリケーションがユーザによって選択されると（ステップＳ７０１）、アプリケーションコントローラ７０８は、選択された放送外マネージドアプリケーションのためのＸＭＬ−ＡＩＴがキャッシュとして保存されているかどうかを調べる（ステップＳ７０２）。
【０２０７】
キャッシュが保存されていない場合（ステップＳ７０２のＮ）、アプリケーションコントローラ７０８は、現在、情報処理装置７００がオンライン接続されているかどうかを調べる（ステップＳ７０３）。オンライン接続されていない場合（ステップＳ７０３のＮ）、アプリケーションコントローラ７０８は放送外マネージドアプリケーションの起動させることができないとして、動作を終了する（ステップＳ７０４）。
【０２０８】
オンライン接続されている場合（ステップＳ７０３のＹ）、アプリケーションコントローラ７０８は、ＸＭＬ-ＡＩＴサーバ４００より最新のＸＭＬ−ＡＩＴを取得し、保存する（ステップＳ７０５）。
【０２０９】
次に、アプリケーションコントローラ７０８は、取得したＸＭＬ−ＡＩＴの有効期限２２が超過しているかどうかを判断する（ステップＳ７０６）。有効期限２２が超過しているならば（ステップＳ７０６のＹ）、アプリケーションコントローラ７０８は放送外マネージドアプリケーションの起動させることができないとして、動作を終了する（ステップＳ７０４）。有効期限２２が超過していないならば（ステップＳ７０６のＮ）、アプリケーションコントローラ７０８は、そのＸＭＬ−ＡＩＴにより放送外マネージドアプリケーションを起動させる（ステップＳ７０７）。
【０２１０】
次に、ステップＳ７０２で、キャッシュが保存されていない場合を説明する。
この場合、アプリケーションコントローラ７０８は、現在、情報処理装置７００がオンライン接続されているかどうかを調べる（ステップＳ７０８）。オンライン接続されていない場合（ステップＳ７０８のＮ）、アプリケーションコントローラ７０８は、キャッシュされているＸＭＬ−ＡＩＴの有効期限２２が超過しているかどうかを判断する（ステップＳ７０９）。有効期限２２が超過しているならば（ステップＳ７０９のＹ）、アプリケーションコントローラ７０８は放送外マネージドアプリケーションの起動させることができないとして、動作を終了する（ステップＳ７０４）。有効期限２２が超過していないならば（ステップＳ７０９のＮ）、アプリケーションコントローラ７０８は、キャッシュされているＸＭＬ−ＡＩＴにより放送外マネージドアプリケーションを起動させる（ステップＳ７１０）。
【０２１１】
ステップＳ７０８で、オンライン接続されている場合（ステップＳ７０８のＹ）、アプリケーションコントローラ７０８は、ＸＭＬ-ＡＩＴサーバ４００にＸＭＬ−ＡＩＴの最新の更新日時を問い合わせる（ステップＳ７１１）。
【０２１２】
次に、アプリケーションコントローラ７０８は、ＸＭＬ−ＡＩＴの最新の更新日時とキャッシュされているＸＭＬ−ＡＩＴの更新日時を比較する。ＸＭＬ−ＡＩＴの最新の更新日時がキャッシュされているＸＭＬ−ＡＩＴの更新日時より新しい場合（ステップＳ７１２のＹ）、アプリケーションコントローラ７０８は、ＸＭＬ-ＡＩＴサーバ４００よりその最新のＸＭＬ−ＡＩＴを取得し、キャッシュされているＸＭＬ−ＡＩＴに対して上書きして保存する（ステップＳ７１３）。
【０２１３】
この後、アプリケーションコントローラ７０８は、上書き保存したＸＭＬ−ＡＩＴの有効期限２２が超過しているかどうかを判断する（ステップＳ７１４）。有効期限２２が超過しているならば（ステップＳ７１４のＹ）、アプリケーションコントローラ７０８は放送外マネージドアプリケーションの起動させることができないとして、動作を終了する（ステップＳ７０４）。有効期限２２が超過していないならば（ステップＳ７１４のＮ）、アプリケーションコントローラ７０８は上書き保存したＸＭＬ−ＡＩＴにより放送外マネージドアプリケーションを起動させる（ステップＳ７１５）。
【０２１４】
（７．アプリケーションタイプによる制御）
次に、アプリケーションタイプによる制御について説明する。
【０２１５】
図２に示したように、ＸＭＬ−ＡＩＴのアプリケーション記述子にはアプリケーションタイプ記述子（applicationType）２５が含まれる。
【０２１６】
図２８は、アプリケーションタイプ記述子２５のシンタクスを示す図である。
アプリケーションタイプ記述子２５としては、エリアタイプ（area_type）、フォーマットタイプ（format_type）、コンテキストタイプ（context_type）などを記述できる。
【０２１７】
（エリアタイプについて）
はじめに、エリアタイプ（area_type）について説明する。
【０２１８】
エリアタイプは、放送外マネージドアプリケーションが使用する画面制御のタイプを定義するための情報である。画面制御のタイプを定義する情報としては以下がある。
１．whole：全画面制御
２．partial：部分画面制御
３．invisible：非画面制御
【０２１９】
［全画面制御］
図２９および図３０は全画面制御を説明するための図である。
全画面制御は、表示部のスクリーン全体の表示を制御するタイプである。
【０２２０】
全画面制御の放送外マネージドアプリケーションでは、オブジェクト要素により放送映像が指定され、かつその放送映像を表示するエリアが定義される。放送映像と放送外マネージドアプリケーションとの表示の形態には、例えば、図２９に示すように、全画面を用いて表示される放送映像１１の上に、全画面サイズより小さい、放送外マネージドアプリケーションの表示エリア１２をオーバーレイで配置する形態などがある。また、図３０に示すように、全画面を用いて表示される放送外マネージドアプリケーションの表示エリア１２Ａの上にスケーリングにより子画面化した放送映像１１Ａを表示する形態などがある。
【０２２１】
なお、全画面制御の放送外マネージドアプリケーションは、非画面制御の放送外マネージドアプリケーションとの組み合わせにおいてのみ、複数の放送外マネージドアプリケーションの並行動作が可能である。すなわち、１つの全画面制御の放送外マネージドアプリケーションと１以上の非画面制御の放送外マネージドアプリケーションとの並行動作が可能である。
【０２２２】
［部分画面制御］
図３１、図３２および図３３は部分画面制御を説明するための図である。
部分画面制御は、表示部の画面における一部分の表示を制御するタイプである。
部分画面制御の放送外マネージドアプリケーションでは、放送外マネージドアプリケーションの表示エリア１２Ｂのサイズのみが指定され、その表示エリア１２Ｂの位置はアプリケーションコントローラ７０８による制御に依存する。
【０２２３】
放送映像と放送外マネージドアプリケーションとの表示の形態には、例えば、図３１に示すように、全画面を用いて表示される放送映像１１Ｂの上に、全画面サイズより小さいサイズの、放送外マネージドアプリケーションの表示エリア１２Ｂをオーバーレイで配置する形態などがある。ここで、全画面制御による図２９との違いは、全画面制御により全画面を用いて表示される放送映像１１は、放送外マネージドアプリケーションのオブジェクト要素により指定されたものであるのに対し、部分画面制御により全画面を用いて表示される放送映像１１Ｂはユーザによって選局された放送映像であることにある。
【０２２４】
また、図３２に示すように、スケーリングにより縮小された放送映像１１Ｃを画面の片側に寄せ、空いた領域に放送外マネージドアプリケーションの表示エリア１２Ｃを配置する形態などがある。ここで、放送映像表示エリア１１Ｃの縮小率および位置、さらには放送外マネージドアプリケーションの表示エリア１２Ｃの位置は、アプリケーションコントローラ７０８による制御に依存する。
【０２２５】
さらに、図３３に示すように、スケーリングにより縮小された放送映像１１Ｄを画面の片側に寄せ、空いた領域に複数の放送外マネージドアプリケーションの表示エリア１２Ｄ、１３Ｄを配置する形態などがある。この例においても、放送映像１１Ｄの縮小率および位置、さらには複数の放送外マネージドアプリケーションの表示エリア１２Ｄ、１３Ｄの位置は、アプリケーションコントローラ７０８による制御に依存する。
【０２２６】
なお、部分画面制御の放送外マネージドアプリケーションは、１以上の非画面制御の放送外マネージドアプリケーションとの並行動作が可能である。
【０２２７】
［非画面制御］
非画面制御の放送外マネージドアプリケーションは、表示部の画面に何も表示することなくスクリプトのみが実行される不可視の放送外マネージドアプリケーションである。非画面制御の放送外マネージドアプリケーションは、同時に複数の並行動作が可能であり、また、他の画面制御のタイプの放送外マネージドアプリケーションとの並行動作も可能である。
【０２２８】
（フォーマットタイプについて）
次に、フォーマットタイプ（format_type）について説明する。
放送外マネージドアプリケーションのフォーマットタイプには、以下がある。
１．packaged：パッケージタイプ
２．web：ウェブタイプ
【０２２９】
パッケージタイプの放送外マネージドアプリケーションおよびウェブタイプの放送外マネージドアプリケーションがどのようなものであり、どのようにして情報処理装置７００が取得するかについては既に説明した通りである。
【０２３０】
ここでは情報処理装置７００のアプリケーションコントローラ７０８による、フォーマットタイプに基づく制御について説明する。このフォーマットタイプに基づく制御は、ＸＭＬ−ＡＩＴに電子署名を添付して検証を行う方式において有効である。前述したように、この方式では、放送外マネージドアプリケーションの改ざんを検出できるように、放送外マネージドアプリケーションのハッシュ値が計算されてＸＭＬ−ＡＩＴに添付される。
【０２３１】
このとき、パッケージタイプの放送外マネージドアプリケーションのためのＸＭＬ−ＡＩＴに記述されるハッシュ値には、放送外マネージドアプリケーションを構成する全てのファイルに対して計算されたものが採用される。すなわち、図２６に示した署名付きＡＩＴ生成部３５０Ａが、パッケージタイプの放送外マネージドアプリケーション３５１Ａを構成する全てのファイルから所定のハッシュ演算器３５２Ａを用いてハッシュ値３５３Ａを算出する。
【０２３２】
情報処理装置７００のアプリケーションコントローラ７０８（図２６のアプリケーションコントローラ７０８Ａ）は、放送外マネージドアプリケーションの起動後、ＸＭＬ−ＡＩＴを参照して放送外マネージドアプリケーションのフォーマットタイプを確認する。
【０２３３】
放送外マネージドアプリケーションのフォーマットタイプがパッケージタイプである場合、アプリケーションコントローラ７０８Ａは、その放送外マネージドアプリケーション３５１Ａを構成する全てのリソースファイルからハッシュ値７５２Ａを算出する。アプリケーションコントローラ７０８Ａは、算出したハッシュ値７５２ＡをＸＭＬ−ＡＩＴに記述されたハッシュ値３５３Ａと比較し、一致／不一致を判定する。
【０２３４】
また、ウェブタイプの放送外マネージドアプリケーションのためのＸＭＬ−ＡＩＴに記述されるハッシュ値には、放送外マネージドアプリケーションの先頭ページを構成するＨＴＭＬ文書などのマークアップ文書ファイルに対して計算されたものが採用される。あるいは、先頭ページを構成する全てのリソースファイルに対してハッシュ値を算出するようにしてもよい。この実施形態では、先頭ページを構成するＨＴＭＬ文書などのマークアップ文書ファイルに対してハッシュ値を算出する場合を想定して説明を行う。
【０２３５】
アプリケーションコントローラ７０８Ａは、ウェブタイプの放送外マネージドアプリケーションを起動した後、ＸＭＬ−ＡＩＴを参照して当該放送外マネージドアプリケーションのフォーマットタイプを調べる。放送外マネージドアプリケーションのフォーマットタイプがウェブタイプである場合、アプリケーションコントローラ７０８Ａは、その放送外マネージドアプリケーション３５１Ａの先頭ページを構成するＨＴＭＬ文書などのマークアップ文書ファイルからハッシュ値７５２Ａを算出する。アプリケーションコントローラ７０８Ａは、算出したハッシュ値７５２ＡをＸＭＬ−ＡＩＴに格納されたハッシュ値３５３Ａと比較し、一致／不一致を判定する。
【０２３６】
（コンテキストタイプについて）
次に、コンテキストタイプについて説明する。
【０２３７】
コンテキストタイプ（context_type）には以下がある。
１．application：アプリケーション志向
２．tv：放送受信志向
【０２３８】
［アプリケーション志向について］
アプリケーション志向は、例えば、オブジェクト要素で参照される放送サービスが、情報処理装置７００のユーザによって指定されるのではなく、放送外マネージドアプリケーションによって指定されるタイプである。
【０２３９】
図３５は、アプリケーション志向の放送外マネージドアプリケーションを、この放送外マネージドアプリケーションに対するユーザからの操作に応じた動作とともに説明するための図である。
【０２４０】
放送ストリーム０を選局した状態で、情報処理装置７００のユーザによって、例えばリモートコントローラのアプリケーションローンチャボタンが操作されることによって、情報処理装置７００の表示部にアプリケーションローンチャ５０が表示される。
【０２４１】
アプリケーションローンチャ５０で放送外マネージドアプリケーションがユーザにより選択されると、情報処理装置７００のアプリケーションコントローラ７０８は、当該放送外マネージドアプリケーションのＸＭＬ−ＡＩＴをもとにその放送外マネージドアプリケーションを起動させる。このとき、アプリケーションコントローラ７０８は、ＸＭＬ−ＡＩＴを参照して当該放送外マネージドアプリケーションのコンテキストタイプを調べる。
【０２４２】
ここでは、ユーザにより選択された放送外マネージドアプリケーションのコンテキストタイプがアプリケーション志向である場合を想定する。
【０２４３】
この場合、オブジェクト要素で参照される放送サービスは放送外マネージドアプリケーションに依存するため、ユーザにより選局である放送ストリーム０の選局状態がアプリケーションコントローラ７０８によって解除される。
【０２４４】
アプリケーションコントローラ７０８は、放送外マネージドアプリケーションを起動させる。この例では、はじめに放送外マネージドアプリケーションの先頭ページ５１が表示されるものとする。先頭ページ５１には、例えば、１以上の放送局に関連するページに遷移するための１以上のハイパーリンクが設けられている。なお、この例において、放送外マネージドアプリケーションは、先頭ページ５１およびリンク先の１以上のページ５２，５３で構成される。リンク先の各々の放送局に関連するページ５２，５３は、自放送局の放送ストリームをオブジェクト要素で参照される放送サービスとするように構成されている。すなわち、ページ５２，５３内に自放送局の放送ストリームの映像を子画面５２ａ，５３ａで表示するように構成されたものである。
【０２４５】
先頭ページ５１で情報処理装置７００のユーザによって、所望の放送局に関連するページに遷移するための操作が行われると、遷移先である放送局に関連するページ５２が表示される。このページ５２内には遷移先である放送局の放送ストリーム（放送ストリーム１）の映像を表示する子画面５２ａが配置される。
【０２４６】
この後、同様に、情報処理装置７００のユーザによって他の放送局に関連するページに遷移するための操作が行われたこととする。すなわち、ページ５１には、１以上の他の放送局に関連するページに遷移するための１以上のハイパーリンクが設けられている。
【０２４７】
このページ遷移操作によって、遷移先である他の放送局に関連するページ５３が表示される。このページ５３には、遷移先である他の放送局の放送ストリーム（放送ストリーム２）の映像を表示する子画面５３ａが配置される。
【０２４８】
情報処理装置７００のユーザによって放送外マネージドアプリケーションの終了操作が行われると、当該放送外マネージドアプリケーションが終了する。放送外マネージドアプリケーションの終了により、放送ストリームの選局状態がコンテキストタイプによって決定される。
【０２４９】
今回起動させた放送外マネージドアプリケーションのコンテキストタイプはアプリケーション志向である。この場合、情報処理装置７００のアプリケーションコントローラ７０８は、放送外マネージドアプリケーションを終了させた後、当該放送外マネージドアプリケーションの起動直前に選局されていた放送ストリーム０に選局状態を戻すように制御を行う。
【０２５０】
放送外マネージドアプリケーションの実行中に発生した放送ストリームの選局は、ユーザ自身の直接の選局行為によるものではない。したがって、放送外マネージドアプリケーションを終了させた後、当該放送外マネージドアプリケーションの起動直前に選局されていた放送ストリーム０に選局状態を戻すことは、ユーザに違和感を与えないために望ましい。
【０２５１】
［放送受信志向について］
放送受信志向は、例えば、オブジェクト要素で参照される放送サービスが、放送外マネージドアプリケーションによって指定されるのではなく、情報処理装置７００のユーザによって指定されるタイプである。
【０２５２】
図３６は、放送受信志向の放送外マネージドアプリケーションを、この放送外マネージドアプリケーションに対するユーザからの操作に応じた動作とともに説明するための図である。
【０２５３】
放送ストリーム０を選局した状態で、情報処理装置７００のユーザによって、例えばリモートコントローラのアプリケーションローンチャボタンが操作されることによって、情報処理装置７００の表示部にアプリケーションローンチャ５４が表示される。
【０２５４】
なお、アプリケーションローンチャ５４は、放送受信志向の放送外マネージドアプリケーションのみ選択可能なものとしてよい。この場合、その時点で選局されていた放送ストリーム０の映像の上にアプリケーションローンチャ５４が半透明の状態で表示させるようにしてもよい。
【０２５５】
アプリケーションローンチャ５４で放送外マネージドアプリケーションがユーザにより選択されると、情報処理装置７００のアプリケーションコントローラ７０８は、当該放送外マネージドアプリケーションのＸＭＬ−ＡＩＴをもとにその放送外マネージドアプリケーションを起動させる。このとき、アプリケーションコントローラ７０８は、ＸＭＬ−ＡＩＴを参照して当該放送外マネージドアプリケーションのコンテキストタイプを調べる。
【０２５６】
ここでは、ユーザにより選択された放送外マネージドアプリケーションのコンテキストタイプが放送受信志向である場合を想定する。この場合、オブジェクト要素で参照される放送サービスはユーザにより選局された放送ストリームである。
【０２５７】
この例では、放送外マネージドアプリケーションのページ５５が、ユーザにより選局された放送ストリームをオブジェクト要素で参照される放送サービスとするように構成されたものであることを想定する。すなわち、ページ５５内にユーザにより選局された放送ストリームの映像を子画面５５ａで表示するように構成されたものである。
【０２５８】
放送外マネージドアプリケーションのページ５５が表示された状態で（放送外マネージドアプリケーションの実行時）、ユーザにより別の放送ストリームが選局されると、ページ５５内の子画面５５ａの内容が、新たに選局された放送ストリームの映像に変化する。図３６の例は、子画面５５ａに放送ストリーム０の映像が表示された状態から、ユーザによる選局先の切り替え操作が行われる都度、子画面５５ａの映像が放送ストリーム０、放送ストリーム１、放送ストリーム２の順に切り替わったことを示している。
【０２５９】
情報処理装置７００のユーザによって放送外マネージドアプリケーションの終了操作が行われると、当該放送外マネージドアプリケーションが終了する。放送外マネージドアプリケーションの終了により、放送ストリームの選局状態がコンテキストタイプによって決定される。
【０２６０】
今回起動させた放送外マネージドアプリケーションのコンテキストタイプは放送受信志向である。この場合、情報処理装置７００のアプリケーションコントローラ７０８は、放送外マネージドアプリケーションを終了させた後、選局中の放送ストリームをそのまま表示させるように制御を行う。
【０２６１】
［第１の実施形態の効果等］
本実施形態では、次のような効果が得られる。
１．アプリケーションコントローラ７０８は、セクションＡＩＴの外部アプリケーション制御記述子をもとに、放送外マネージドアプリケーションによる放送リソースの利用範囲を制御する。これにより、放送外マネージドアプリケーションの提供者などの第三者によって作成されたＸＭＬ−ＡＩＴに設定された利用許諾情報の範囲を、放送局側がセクションＡＩＴを用いて動的に変更できる仕組みが実現される。
【０２６２】
これにより、例えば、スポーツ中継など、タイムスケジュールが流動的な放送番組において、番組の進行や編成の変更などの変化に合わせて放送外マネージドアプリケーションの動作の制御を変更することができる。
【０２６３】
また、複数のチャンネル（放送局）の放送リソースを利用することを想定した放送外マネージドアプリケーションの動作の制御を、放送局毎に指定することができる。
【０２６４】
２．アプリケーションコントローラ７０８は、ＸＭＬ−ＡＩＴのサービス利用許諾情報のバイナリデータであるパーミッションビットマップをメモリに保持する。アプリケーションコントローラ７０８はメモリに保持されたパーミッションビットマップと放送外マネージドアプリケーションを起動後に取得されるセクションＡＩＴの中のパーミッションビットマップとをバイナリ演算によって比較することによって差分を求めることができる。これにより、情報処理装置７００のアプリケーションコントローラ７０８の負担を軽減し、高速化を図れる。
【０２６５】
３．アプリケーションコントローラ７０８は、セクションＡＩＴの外部アプリケーション制御記述子をもとに、放送外マネージドアプリケーションの表示画面での表示位置を制御する。これにより、放送外マネージドアプリケーションの提供者などの第三者によって作成されたＸＭＬ−ＡＩＴに設定された利用許諾情報の範囲を、放送局側がセクションＡＩＴを用いて動的に変更できる仕組みが実現される。
【０２６６】
４．ＸＭＬ−ＡＩＴに有効期限２２が設けられたことによって、アプリケーションコントローラ７０８は、情報処理装置７００のオフライン時、情報処理装置７００にキャッシュされている有効期限切れのＸＭＬ−ＡＩＴによる放送外マネージドアプリケーションの起動を無効化するように制御することができる。これにより、ＸＭＬ−ＡＩＴの更新の意図が放送外マネージドアプリケーションの動作の制御にいつまでも反映されないという不具合を解消できる。
【０２６７】
５．ＸＭＬ−ＡＩＴに設けられたアプリケーションタイプ記述子２５のエリアタイプをもとに、アプリケーションコントローラ７０８は、放送映像と放送外マネージドアプリケーションとの表示の形態を多様に制御することができる。
【０２６８】
６．ＸＭＬ−ＡＩＴに設けられたアプリケーションタイプ記述子２５のフォーマットタイプをもとに、アプリケーションコントローラ７０８は、起動させた放送外マネージドアプリケーションがパッケージタイプであるか、ウェブタイプであるかを判別できる。パッケージタイプとウェブタイプとでハッシュ値の計算対象が異なる場合に、フォーマットタイプから、その計算対象をアプリケーションコントローラ７０８が認識できる。
【０２６９】
７．ＸＭＬ−ＡＩＴに設けられたアプリケーションタイプ記述子２５のコンテキストタイプをもとに、アプリケーションコントローラ７０８は、放送外マネージドアプリケーションの終了後の放送映像の最適な選局状態を選定できる。
【０２７０】
以上、ＨｂｂＴＶの標準規格を前提とした実施形態を説明したが、本技術は、ＨｂｂＴＶの標準規格を前提とすることに必ずしも限定されるものではない。
【０２７１】
［本技術の別の構成］
本技術は以下のような構成も採ることができる。
（１）放送信号を受信可能な放送受信部と、
少なくとも、前記放送受信部により受信される放送信号を利用するアプリケーションの動作を制御する情報と、有効期限を示す情報が記述されたアプリケーション情報テーブルを取得し、前記有効期限を示す情報をもとに、前記取得されたアプリケーション情報テーブルの有効期限が超過しているかどうかを判定し、前記有効期限を超過していることが判定されたとき、前記アプリケーション情報テーブルに基づく前記アプリケーションの起動を無効化するように構成されるコントローラと
を具備する情報処理装置。
【０２７２】
（２）前記（１）に記載の情報処理装置であって、
前記コントローラは、最後に取得した前記アプリケーション情報テーブルを保持し、前記保持されたアプリケーション情報テーブルに記述された前記有効期限を示す情報をもとに当該アプリケーション情報テーブルの有効期限が超過しているかどうかを判定するように構成される
情報処理装置。
【０２７３】
（３）前記（１）または（２）に記載の情報処理装置であって、
前記コントローラは、起動させたい前記アプリケーションがユーザにより選択されたとき、前記アプリケーション情報テーブルの有効期限が超過しているかどうかを判定するように構成される
情報処理装置。
【０２７４】
（４）前記（１）から（３）のいずれかに記載の情報処理装置であって、
前記コントローラは、オフライン時に、前記保持された前記アプリケーション情報テーブルをもとに前記アプリケーションの動作を制御するように構成される
情報処理装置。
【０２７５】
（５）前記（１）から（４）のいずれかに記載の情報処理装置であって、
前記コントローラは、通信により前記アプリケーションを取得するように構成される
情報処理装置。
【０２７６】
（６）前記（１）から（５）のいずれかに記載の情報処理装置であって、
前記コントローラは、通信により前記アプリケーション情報テーブルを取得するように構成される
情報処理装置。
【０２７７】
その他、本技術は、上述の実施形態にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
【符号の説明】
【０２７８】
１００…放送局
２００…第１のネットワーク
３００…アプリケーションサーバ
４００…ＸＭＬ−ＡＩＴサーバ
６００…第２のネットワーク
７００…情報処理装置
７０１…放送インタフェース
７０２…デマルチプレクサ
７０３…出力処理部
７０４…映像デコーダ
７０５…音声デコーダ
７０６…字幕デコーダ
７０７…通信インタフェース
７０８…アプリケーションコントローラ
８００…ストアサーバ
【図１】
2020039171.tif 000003
【図２】
2020039171.tif 000004
【図３】
2020039171.tif 000005
【図４】
2020039171.tif 000006
【図５】
2020039171.tif 000007
【図６】
2020039171.tif 000008
【図７】
2020039171.tif 000009
【図８】
2020039171.tif 000010
【図９】
2020039171.tif 000011
【図１０】
2020039171.tif 000012
【図１１】
2020039171.tif 000013
【図１２】
2020039171.tif 000014
【図１３】
2020039171.tif 000015
【図１４】
2020039171.tif 000016
【図１５】
2020039171.tif 000017
【図１６】
2020039171.tif 000018
【図１７】
2020039171.tif 000019
【図１８】
2020039171.tif 000020
【図１９】
2020039171.tif 000021
【図２０】
2020039171.tif 000022
【図２１】
2020039171.tif 000023
【図２２】
2020039171.tif 000024
【図２３】
2020039171.tif 000025
【図２４】
2020039171.tif 000026
【図２５】
2020039171.tif 000027
【図２６】
2020039171.tif 000028
【図２７】
2020039171.tif 000029
【図２８】
2020039171.tif 000030
【図２９】
2020039171.tif 000031
【図３０】
2020039171.tif 000032
【図３１】
2020039171.tif 000033
【図３２】
2020039171.tif 000034
【図３３】
2020039171.tif 000035
【図３４】
2020039171.tif 000036
【図３５】
2020039171.tif 000037
【図３６】
2020039171.tif 000038
【手続補正書】
【提出日】令和1年12月23日(2019.12.23)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
放送を受信可能な放送受信部と、
少なくとも、前記放送受信部により受信される放送リソースを利用するアプリケーションの動作を制御する情報と、有効期限を示す情報と、前記アプリケーションによる前記放送リソースへの利用可否を示す情報が記述されたアプリケーション情報テーブルを取得し、前記有効期限を示す情報をもとに、前記取得されたアプリケーション情報テーブルの有効期限が超過しているかどうかを判定し、前記有効期限を超過していることが判定されたとき、前記アプリケーション情報テーブルに基づく前記アプリケーションの制御を無効化し、
前記アプリケーション情報テーブルを再度取得する制御部と
を具備する受信装置。
【請求項２】
請求項１に記載の受信装置であって、
前記制御部は、最後に取得した前記アプリケーション情報テーブルを保持し、前
記保持されたアプリケーション情報テーブルに記述された前記有効期限を示す情報をもと
に当該アプリケーション情報テーブルの有効期限が超過しているかどうかを判定するよう
に構成される
受信装置。
【請求項３】
請求項２に記載の受信装置であって、
前記制御部は、起動させたい前記アプリケーションがユーザにより選択されたとき、前記アプリケーション情報テーブルの有効期限が超過しているかどうかを判定するように構成される
受信装置。
【請求項４】
請求項３に記載の受信装置であって、
前記制御部は、オフライン時に、前記保持された前記アプリケーション情報テー
ブルをもとに前記アプリケーションの動作を制御するように構成される
受信装置。
【請求項５】
請求項４に記載の受信装置であって、
前記制御部は、通信により前記アプリケーションを取得するように構成される
受信装置。
【請求項６】
請求項５に記載の受信装置であって、
前記制御部は、通信により前記アプリケーション情報テーブルを取得するように
構成される
受信装置。
【請求項７】
制御部が、
少なくとも、放送リソースを利用するアプリケーションの動作を制御する情報と、有効期限を示す情報と、前記アプリケーションによる前記放送リソースへの利用可否を示す情報が記述されたアプリケーション情報テーブルを取得し、
前記有効期限を示す情報をもとに、前記取得されたアプリケーション情報テーブルの有
効期限が超過しているかどうかを判定し、
前記有効期限を超過していることが判定されたとき、前記アプリケーション情報テーブ
ルに基づく前記アプリケーションの制御を無効化し、前記アプリケーション情報テーブルを再度取得する
受信方法。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００１
【補正方法】変更
【補正の内容】
【０００１】
本技術は、放送コンテンツの提示とともに、アプリケーション情報テーブルを用いてア
プリケーションを実行することが可能な受信装置および受信方法に関する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】０００８
【補正方法】変更
【補正の内容】
【０００８】
以上のような事情を鑑み、本技術の目的は、放送外マネージドアプリケーションを利用したサービスの品質を向上させることのできる受信装置および受信方法を提供することにある。