(57)【要約】ユーザが安心して利用可能なプログラム実行装置を提供する。  ダウンロードされたアプリケーションプログラム（アプリケーション）を保存するための領域を有する２次記憶部（５１０）と、複数のアプリケーションのそれぞれに割り当てられた優先度に基づいて、その各アプリケーションを２次記憶部（５１０）に保存しておくことが可能か否かを判別するストアアプリ決定部（２６０２）と、ストアアプリ決定部（２６０２）で保存不可能と判別されたアプリケーションの取り扱いについてのメッセージをユーザに通知する通知部（２６０５）と、ストアアプリ決定部（２６０２）で保存可能と判別されたダウンロード対象のアプリケーションを２次記憶部（５１０）に保存するストア部（２６０３）と、２次記憶部（５１０）に保存されたアプリケーションを実行するＣＰＵ（５１４）とを備える。
2005076125.tif 000002
【特許請求の範囲】
【請求項１】
プログラムをダウンロードして実行するプログラム実行装置であって、
ダウンロードされたプログラムを保存するための領域を有する記憶手段と、
ダウンロード対象のプログラムを含む複数のプログラムのそれぞれに割り当てられた優先度に基づいて、前記各プログラムを前記記憶手段に保存しておくことが可能か否かを判別する保存判別手段と、
前記保存判別手段で保存不可能と判別されたプログラムの取り扱いについてのメッセージをユーザに通知する通知手段と、
前記保存判別手段で保存可能と判別されたダウンロード対象のプログラムを前記記憶手段に保存する保存処理手段と、
前記記憶手段に保存されたプログラムを実行する実行手段と
を備えることを特徴とするプログラム実行装置。
【請求項２】
前記プログラム実行装置は、さらに、
前記複数のプログラムのそれぞれの保存に要する保存容量及び前記記憶手段の空き容量を取得する容量取得手段を備え、
前記保存判別手段は、前記容量取得手段で取得された保存容量及び空き容量に基づいて、保存対象の１又は複数のプログラムの全ての保存容量が前記記憶手段の容量を超えない範囲で、優先度の高いプログラムを優先的に保存可能と判別する
ことを特徴とする請求項１記載のプログラム実行装置。
【請求項３】
前記プログラム実行装置は、さらに、
前記保存判別手段で保存不可能と判別された前記記憶手段に保存されているプログラムを削除する削除手段を備え、
前記通知手段は、前記プログラムの削除についてのメッセージをユーザに通知し、
前記保存処理手段は、前記プログラムが削除された記憶手段に対して、前記保存判別手段で保存可能と判別されたダウンロード対象のプログラムを保存する
ことを特徴とする請求項２記載のプログラム実行装置。
【請求項４】
前記削除手段は、前記通知手段によるユーザへの通知が行われたことを検知した後に、前記記憶手段に保存されているプログラムを削除する
ことを特徴とする請求項３記載のプログラム実行装置。
【請求項５】
前記通知手段は、前記記憶手段に保存されているプログラムが削除されることの確認をユーザに求める内容のメッセージを通知し、
前記プログラム実行装置は、さらに、
前記メッセージに対するユーザの確認結果を取得する確認取得手段を備え、
前記削除手段は、前記確認取得手段によって確認結果が取得されたことを検知すると、前記記憶手段に保存されているプログラムを削除する
ことを特徴とする請求項４記載のプログラム実行装置。
【請求項６】
前記通知手段は、前記記憶手段に保存されているプログラムを削除しても良いか否かを問い合わせる内容のメッセージを通知し、
前記プログラム実行装置は、さらに、
前記メッセージに対するユーザの応答結果を取得する応答取得手段を備え、
前記削除手段は、前記応答取得手段によって取得された応答結果が削除の許可を示すことを検知すると、前記記憶手段に保存されているプログラムを削除する
ことを特徴とする請求項４記載のプログラム実行装置。
【請求項７】
前記プログラム実行装置は、さらに、
前記応答取得手段によって取得された応答結果が削除の拒否を示すことを検知すると、前記保存判別手段で保存不可能と判別された前記記憶手段に保存されているプログラムの優先度を高める優先度変更手段を備え、
前記保存判別手段は、前記優先度変更手段で変更された優先度に基づいて、再び、前記各プログラムを前記記憶手段に保存しておくことが可能か否かを判別することを特徴とする請求項６記載のプログラム実行装置。
【請求項８】
前記保存判別手段は、さらに、保存不可能と判別された複数のプログラムが前記記憶手段に保存されているか否かを判別し、
前記通知手段は、前記保存判別手段で保存されていると判別された複数のプログラムのうちの何れを削除するかの選択を促す内容のメッセージを通知し、
前記プログラム実行装置は、さらに、
前記メッセージに対するユーザの選択結果を取得する選択結果取得手段を備え、
前記削除手段は、前記選択結果取得手段によって取得された選択結果の示すプログラムを削除する
ことを特徴とする請求項４記載のプログラム実行装置。
【請求項９】
前記通知手段は、前記記憶手段に保存されているプログラムを用いて前記メッセージをユーザに表示する
ことを特徴とする請求項４記載のプログラム実行装置。
【請求項１０】
前記プログラム実行装置は、さらに、
前記保存判別手段で保存不可能と判別されたプログラムが前記実行手段によって実行されているか否かを判別する実行判別手段を備え、
前記通知手段は、前記実行判別手段で実行中と判別されたプログラムの削除についてのメッセージをユーザに通知する
ことを特徴とする請求項３記載のプログラム実行装置。
【請求項１１】
前記削除手段は、前記実行判別手段で実行中と判別されたプログラムの実行を終了させて削除する
ことを特徴とする請求項１０記載のプログラム実行装置。
【請求項１２】
前記通知手段は、前記実行判別手段で実行中と判別されたプログラムを削除しても良いか否かをユーザに問い合わせる内容のメッセージを通知し、
前記プログラム実行装置は、さらに、
前記メッセージに対するユーザの応答結果を取得する応答取得手段を備え、
前記削除手段は、前記応答取得手段によって取得された応答結果が削除の許可を示すことを検知すると、前記実行中のプログラムを終了させて削除する
ことを特徴とする請求項１１記載のプログラム実行装置。
【請求項１３】
前記削除手段は、前記実行判別手段による判別結果に基づいて前記実行中のプログラムの終了を検知すると、前記プログラムを削除する
ことを特徴とする請求項１０記載のプログラム実行装置。
【請求項１４】
前記通知手段は、前記保存判別手段で保存不可能と判別されたダウンロード対象のプログラムの保存についてのメッセージをユーザに通知する
ことを特徴とする請求項２記載のプログラム実行装置。
【請求項１５】
前記保存判別手段は、さらに、保存不可能と判別された複数のプログラムが前記記憶手段に保存されているか否かを判別し、
前記通知手段は、前記保存判別手段で保存されていないと判別された複数のプログラムのうちの何れを前記記憶手段に保存するかの選択を促す内容のメッセージを通知し、
前記プログラム実行装置は、さらに、
前記メッセージに対するユーザの選択結果を取得する選択結果取得手段を備え、
前記削除手段は、前記選択結果取得手段によって取得された選択結果の示すプログラムを前記記憶手段に保存する
ことを特徴とする請求項１４記載のプログラム実行装置。
【請求項１６】
前記保存判別手段は、互いに種類の異なる複数のプログラムのそれぞれを前記記憶手段に保存しておくことが可能か否かを判別する
ことを特徴とする請求項２記載のプログラム実行装置。
【請求項１７】
プログラムをダウンロードして実行するプログラム実行方法であって、
ダウンロード対象のプログラムを含む複数のプログラムのそれぞれに割り当てられた優先度に基づいて、前記各プログラムを記憶手段に保存しておくことが可能か否かを判別する保存判別ステップと、
前記保存判別ステップで保存不可能と判別されたプログラムの取り扱いについてのメッセージをユーザに通知する通知ステップと、
前記保存判別ステップで保存可能と判別されたダウンロード対象のプログラムを前記記憶手段に保存する保存処理ステップと、
前記記憶手段に保存されたプログラムを実行する実行ステップと
を含むことを特徴とするプログラム実行方法。
【請求項１８】
アプリケーションプログラムをダウンロードしてコンピュータに実行させるプログラムであって、
ダウンロード対象のアプリケーションプログラムを含む複数のアプリケーションプログラムのそれぞれに割り当てられた優先度に基づいて、前記各アプリケーションプログラムを記憶手段に保存しておくことが可能か否かを判別する保存判別ステップと、
前記保存判別ステップで保存不可能と判別されたアプリケーションプログラムの取り扱いについてのメッセージをユーザに通知する通知ステップと、
前記保存判別ステップで保存可能と判別されたダウンロード対象のアプリケーションプログラムを前記記憶手段に保存する保存処理ステップと、
前記記憶手段に保存されたアプリケーションプログラムを実行する実行ステップと
を含むことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】  本発明は、プログラムをダウンロードして実行するプログラム実行装置に関する。特に、ダウンロードしたアプリケーションプログラムの保存領域の容量に制限のあるデジタル放送受信機における、アプリケーションプログラムの保存領域管理技術に関する。
【背景技術】
【０００２】  従来の、ダウンロードしたアプリケーションプログラム（以下、単にアプリケーションという）の保存領域の容量に制限のあるデジタル放送受信機における、アプリケーションの保存領域を管理する技術は、ＯＣＡＰ仕様（ＯＣＡＰ  １．０  Ｐｒｏｆｉｌｅ  ＯＣ−ＳＰ−ＯＣＡＰ１．０−ＩＦ−Ｉ０９−０３１１２１）に記載されている。ＯＣＡＰ仕様に準拠したデジタル放送受信機において、デジタル放送受信機は、アプリケーションの保存要求及び実行要求等を受信すると、その要求に従い、アプリケーションを保存して実行する。ここで、アプリケーションの保存要求はフラッシュＲＯＭ等の２次記憶メモリーへの保存要求であるが、以降、アプリケーションを保存するための領域をストア領域、アプリケーションをストア領域へ保存することをストア、アプリケーションをストア領域へ保存するための優先度をストア優先度と呼ぶ。ここで、ストア優先度の定義はＯＣＡＰ仕様において、ｓｔｏｒａｇｅ  ｐｒｉｏｒｉｔｙとして記述されている。【０００３】  複数のアプリケーションのストア要求を受け、ストア領域が不足する場合、デジタル放送受信機は、個々のアプリケーションが持つストア優先度を比較し、ストア優先度の高いアプリケーションを優先的にストアする。ここで、いくつかのアプリケーションが既にストアされている場合には、ストア優先度の低いものから順に、ストア領域から削除される。但し、実行中のアプリケーションの動作を妨げてはならない。【０００４】  ストア優先度が同じ場合、何れをストアするかは実装状況に依存する。このように、アプリケーションをストア領域から削除又はストアすることにより、常に、ストア要求を受けたアプリケーションの中からストア優先度の高いアプリケーションを優先的にストアすることが出来る。【０００５】  本発明と同様に、アプリケーションのストア領域が不足する際にユーザへ通知を行う提案としては、特許文献１（特開平６−３２４８１２号公報「画像データの外部記憶書込方法」）に記載がある。【０００６】  特許文献１では、ファイルの追加書き込み要求時に、保存領域の残り容量がファイルの容量以下であることを示す比較結果が得られた際に、ファイルの書き込みを拒否し、保存可能な残容量をユーザに通知する手段を提供する。【０００７】  図１は、特許文献１に記載される画像データの外部記憶書込方法を示すフローチャートである。【０００８】  外部記憶を分割した各区画の物理的な空き容量を求めて積算し（Ｓ５０００）、１画像のデータ最大容量に区画の総数が乗ぜられた値を積算値から減じて外部記憶の残り容量を決定し（Ｓ５００２）、追加書き込みが指示された画像データの容量が既知であればその値をファイル容量として決定し、また未知であれば画像の最大容量をファイル容量として決定する（Ｓ５００３）。そのファイル容量と外部記憶の残り容量とを比較し（Ｓ５００４）、残り容量がファイル容量未満であることを示す比較結果が得られたときに、画像データの書き込みを拒否し（Ｓ５００６）、残り容量がファイル容量以上であることを示す比較結果が得られたときに、物理的な空き容量がファイル容量以上の区画を検索し（Ｓ５００８）、検索結果で示される区画へ画像��ータを追加モードで書き込む（Ｓ５０１０）。【０００９】  このように、特許文献１の技術により、ユーザは新規のアプリケーションがストア不可能であることを知ることができる。【００１０】  また、本発明と同様に、アプリケーションのインストール作業時にユーザとインタラクションを行う提案としては、特許文献２（特開平１０−２１０５８号公報「アプリケーションモジュールのバージョン管理方法およびバージョン管理装置」）がある。【００１１】  図２は、特許文献２に記載されるバージョン管理方法によるアプリケーションモジュールのバージョンアップの処理を示すフローチャートである。【００１２】  特許文献２に記載されるバージョン管理方法では、既にインストールされている各モジュールのバージョン情報を保存するバージョン情報保存段階（Ｓ５１０３）と、これからインストールしようとする各モジュールのバージョンとバージョン情報保存段階に保存された既にインストールされている当該モジュールのバージョン情報を比較するバージョン比較段階（Ｓ５１０５）と、バージョン比較段階による比較結果に従ってインストール作業をする者にメッセージを発するメッセージ段階と、バージョン比較段階による比較結果に従ってモジュールの追加、削除及び変更のいずれかによるモジュールの書換えを行うか否かを各モジュールごとに行うモジュール書換段階（Ｓ５１０８）と、バージョン比較段階の結果及びメッセージ段階のいずれか一方または両方をユーザインターフェースに出力する出力段階とを含むことを特徴とするバージョン管理方法を提案している。さらに、インストール作業をする者が出力段階による出力結果を元にして各モジュールの追加、削除、変更及び無変更のいずれかひとつを選択する段階である選択段階をバージョン管理方法に追加したものも提案している。【００１３】  このように、特許文献２では、同一アプリケーションのインストール時に、バージョン情報比較に基づき、アプリケーションを更新する。この際、ユーザにバージョン情報比較結果に従って、ユーザにメッセージを表示する手段、さらに、ユーザにアプリケーションの追加，削除、変更、無変更を選択させる手段を提供している。この技術により、ユーザは、新規にアプリケーションがインストールされることを知ることができる。また、古いバージョンに戻るインストールの場合には、そのインストール作業を制御することができる。
【特許文献１】特開平６−３２４８１２号公報
【特許文献２】特開平１０−２１０５８号公報
【発明の開示】
【発明が解決しようとする課題】
【００１４】  しかしながら、ＯＣＡＰ仕様に記載されるデジタル放送受信機（プログラム実行装置）においては、アプリケーションのストア要求時に、ストア領域が不足する場合、アプリケーションのストア優先度の比較結果に基づき、アプリケーションをストア領域から削除／ストアするが、これらアプリケーションのストア作業は自動的に行われるため、ユーザはアプリケーションのストア作業結果、例えば、どのアプリケーションがストア領域から削除又はストアされたかを知ることが出来ない。【００１５】  そのため、ユーザは、アプリケーションのストア作業結果、例えば、アプリケーションがストア領域から削除されたことに起因するアプリケーションの挙動変化、例えば、アプリケーションの起動が遅くなる等を知ることが出来ず、ストレージから削除されたアプリケーションを起動する際に、そのアプリケーションの起動が遅いためにユーザを不安にさせる懸念があった。【００１６】  特許文献１においては、既にストアされているアプリケーションを削除する手段を持たず、従って、アプリケーションがストレージから削除されたことをユーザに通知する手段を提供しない。また、特許文献１の技術ではストア優先度を利用していない。【００１７】  また、特許文献２においては、同一のアプリケーションの機能置換えを扱っており、あるアプリケーションをインストールする際に、インストール先の容量不足が原因となり、その他のアプリケーションを削除することはない。従って、特許文献２は、新規にアプリケーションのストア要求を受けた際に、ストア優先度の比較に基づいて既にストアされているアプリケーションをストア領域から削除する手段、及び、既にストアされているアプリケーションがストアから削除されることをユーザに通知する手段を提供しない。【００１８】  そこで、本発明は、かかる問題に鑑みてなされたものであって、ユーザが安心して利用可能なプログラム実行装置を提供することを目的とする。
【課題を解決するための手段】
【００１９】  上記目的を達成するために、本発明に係るプログラム実行装置は、プログラムをダウンロードして実行するプログラム実行装置であって、ダウンロードされたプログラムを保存するための領域を有する記憶手段と、ダウンロード対象のプログラムを含む複数のプログラムのそれぞれに割り当てられた優先度に基づいて、前記各プログラムを前記記憶手段に保存しておくことが可能か否かを判別する保存判別手段と、前記保存判別手段で保存不可能と判別されたプログラムの取り扱いについてのメッセージをユーザに通知する通知手段と、前記保存判別手段で保存可能と判別されたダウンロード対象のプログラムを前記記憶手段に保存する保存処理手段と、前記記憶手段に保存されたプログラムを実行する実行手段とを備えることを特徴とする。例えば、前記プログラム実行装置は、さらに、前記保存判別手段で保存不可能と判別された前記記憶手段に保存されているプログラムを削除する削除手段を備え、前記通知手段は、前記プログラムの削除についてのメッセージをユーザに通知し、前記保存処理手段は、前記プログラムが削除された記憶手段に対して、前記保存判別手段で保存可能と判別されたダウンロード対象のプログラムを保存する。また、前記削除手段は、前記通知手段によるユーザへの通知が行われたことを検知した後に、前記記憶手段に保存されているプログラムを削除する。【００２０】  具体的に、記憶手段に既にプログラムが保存されている状況で、新規のプログラムをダウンロードしようとするときに、それらのプログラムを共に記憶手段に保存しておくことができない場合がある。このような場合、本発明に係るプログラム実行装置では、その新規のプログラムの優先度と、記憶手段にあるプログラムの優先度とが比較されて、記憶手段にあるプログラムの優先度の方が低いときには、そのプログラムが記憶手段から削除されるとともに、そのプログラムの削除についてのメッセージがユーザに通知されるため、プログラム実行装置の挙動がその削除に伴って変化しても、ユーザはその原因をメッセージによって知っているため、安心してプログラム実行装置を利用することができる。【００２１】  また、前記通知手段は、前記記憶手段に保存されているプログラムが削除されることの確認をユーザに求める内容のメッセージを通知し、前記プログラム実行装置は、さらに、前記メッセージに対するユーザの確認結果を取得する確認取得手段を備え、前記削除手段は、前記確認取得手段によって確認結果が取得されたことを検知すると、前記記憶手段に保存されているプログラムを削除することを特徴としても良い。【００２２】  これにより、ユーザによるメッセージの確認が得られた後にプログラムの削除が行われるため、ユーザがメッセージを確認することなくプログラムが削除されてしまうのを防いで、メッセージを確実にユーザに伝えることができる。【００２３】  また、前記通知手段は、前記記憶手段に保存されているプログラムを削除しても良いか否かを問い合わせる内容のメッセージを通知し、前記プログラム実行装置は、さらに、前記メッセージに対するユーザの応答結果を取得する応答取得手段を備え、前記削除手段は、前記応答取得手段によって取得された応答結��が削除の許可を示すことを検知すると、前記記憶手段に保存されているプログラムを削除することを特徴としても良い。【００２４】  これにより、ユーザによる削除の許可が得られた後にプログラムの削除が行われるため、ユーザが許可することなくプログラムが削除されてしまうのを防いで、ユーザによる使い勝手を向上することができる。【００２５】  ここで、前記プログラム実行装置は、さらに、前記応答取得手段によって取得された応答結果が削除の拒否を示すことを検知すると、前記保存判別手段で保存不可能と判別された前記記憶手段に保存されているプログラムの優先度を高める優先度変更手段を備え、前記保存判別手段は、前記優先度変更手段で変更された優先度に基づいて、再び、前記各プログラムを前記記憶手段に保存しておくことが可能か否かを判別することを特徴としても良い。【００２６】  これにより、ユーザがプログラムの削除を拒否したときには、そのプログラムの優先度が高く設定され、その優先度を用いて再び複数のプログラムの中から保存不可能なプログラムが選ばれるため、ユーザにとって不要なプログラムを削除することができ、ユーザによる使い勝手をさらに向上することができる。【００２７】  また、前記保存判別手段は、さらに、保存不可能と判別された複数のプログラムが前記記憶手段に保存されているか否かを判別し、前記通知手段は、前記保存判別手段で保存されていると判別された複数のプログラムのうちの何れを削除するかの選択を促す内容のメッセージを通知し、前記プログラム実行装置は、さらに、前記メッセージに対するユーザの選択結果を取得する選択結果取得手段を備え、前記削除手段は、前記選択結果取得手段によって取得された選択結果の示すプログラムを削除することを特徴としても良い。【００２８】  例えば、記憶手段の容量が少ないために２つのプログラムを共に記憶手段に保存しておくことはできないが、そのうち何れか１つだけは記憶手段に保存しておくことができるという状況において、その２つのプログラムの優先度が共に等しい場合には、保存判別手段は、それら２つのプログラムの優劣をつけることができず、それぞれ保存不可能と判別してしまう。このような場合においても、本発明では、上述のように、その２つのプログラムの何れを削除するかをユーザに選択させるため、ユーザにとって不要なプログラムのみを削除することができ、ユーザによる使い勝手をさらに向上することができる。【００２９】  また、前記プログラム実行装置は、さらに、前記保存判別手段で保存不可能と判別されたプログラムが前記実行手段によって実行されているか否かを判別する実行判別手段を備え、前記通知手段は、前記実行判別手段で実行中と判別されたプログラムの削除についてのメッセージをユーザに通知することを特徴としても良い。例えば、前記削除手段は、前記実行判別手段で実行中と判別されたプログラムの実行を終了させて削除する。【００３０】  これにより、実行中のプログラムを保存しておくことが不可能と判別されたときには、ユーザへの通知とともに、そのプログラムの実行が強制的に終了されてそのプログラムが削除されるため、ダウンロード対象のプログラムのための保存容量を記憶手段に早期に設定することができる。【００３１】  ここで、前記通知手段は、前記実行判別手段で実行中と判別されたプログラムを削除しても良いか否かをユーザに問い合わせる内容のメッセージを通知し、前記プログラム実行装置は、さらに、前記メッセージに対するユーザの応答結果を取得する応答取得手段を備え、前記削除手段は、前記応答取得手段によって取得された応答結果が削除の許可を示すことを検知すると、前記実行中のプログラムを終了させて削除することを特徴としても良い。【００３２】  これにより、ユーザは削除するか否かを選択することができ、ユーザによる使い勝手をさらに向上することができる。【００３３】  また、前記削除手段は、前記実行判別手段による判別結果に基づいて前記実行中のプログラムの終了を検知すると、前記プログラムを削除することを特徴としても良い。【００３４】  これにより、実行中のプログラムを保存しておくことが不可能と判別されたときには、ユーザへの通知とともに、その実行中のプログラムが終了するまで待ってそのプログラムが削除されるため、その実行中のプログラムを安心してユーザに利用させることができる。【００３５】  また、前記通知手段は、前記保存判別手段で保存不可能と判別されたダウンロード対象のプログラムの保存についてのメッセージをユーザに通知することを特徴としても良い。例えば、前記保存判別手段は、さらに、保存不可能と判別された複数のプログラムが前記記憶手段に保存されているか否かを判別し、前記通知手段は、前記保存判別手段で保存されていないと判別された複数のプログラムのうちの何れを前記記憶手段に保存するかの選択を促す内容のメッセージを通知し、前記プログラム実行装置は、さらに、前記メッセージに対するユーザの選択結果を取得する選択結果取得手段を備え、前記削除手段は、前記選択結果取得手段によって取得された選択結果の示すプログラムを前記記憶手段に保存する。【００３６】  例えば、記憶手段の容量が少ないためにダウンロード対象の２つのプログラムを共に記憶手段に保存することはできないが、そのうち何れか１つだけは記憶手段に保存することができるという状況において、その２つのプログラムの優先度が共に等しい場合には、保存判別手段は、それら２つのプログラムの優劣をつけることができず、それぞれ保存不可能と判別してしまう。このような場合においても、本発明では、上述のように、その２つのプログラムの何れを保存するかをユーザに選択させるため、ユーザにとって必要なプログラムのみを保存することができ、ユーザによる使い勝手をさらに向上することができる。【００３７】  なお、本発明は、このようなプログラム実行装置として実現することができるだけでなく、そのプログラム実行装置が行う動作の方法やプログラム、そのプログラムを格納する記憶媒体としても実現することができる。
【発明の効果】
【００３８】  本発明のプログラム実行装置は、ユーザが安心して利用することができるという作用効果を奏する。
【図面の簡単な説明】
【００３９】
【図１】図１は、従来例の画像データの外部記憶書込方法を示すフローチャートである。
【図２】図２は、従来例のバージョン管理方法によるアプリケーションモジュールのバージョンアップの処理を示すフローチャートである。
【図３】図３は、本発明に係る実施の形態１のケーブルシステムのブロック図である。
【図４】図４は、本発明に係るケーブルシステムにおいてヘッドエンドと端末装置間の通信に使用される周波数帯域の使い方の一例を示す図である。
【図５】図５は、本発明に係るケーブルシステムにおいてヘッドエンドと端末装置間の通信に使用される周波数帯域の使い方の一例を示す図である。
【図６】図６は、本発明に係るケーブルシステムにおいてヘッドエンドと端末装置間の通信に使用される周波数帯域の使い方の一例を示す図である。
【図７】図７は、本発明に係る端末装置（プログラム実行装置）のブロック図である。
【図８】図８は、本発明に係る端末装置の外観の一例を示す図である。
【図９】図９は、本発明に係るＰＯＤの内部構成を示すブロック図である。
【図１０】図１０は、本発明に係るＰＯＤが保存するプログラムの一構成例を示す構成図である。
【図１１】図１１は、ＭＰＥＧ規格で定義されているパケットの構成図である。
【図１２】図１２は、ＭＰＥＧ２トランスポートストリームの一例を示す図である。
【図１３】図１３は、入力部をフロントパネルで構成した場合の外観の一例を示す図である。
【図１４】図１４は、本発明に係る端末装置が保存するプログラムの構成を示す構成図である。
【図１５Ａ】図１５Ａは、本発明に係るディスプレイの表示の一例を示す図である。
【図１５Ｂ】図１５Ｂは、本発明に係るディスプレイの表示の一例を示す図である。
【図１６】図１６は、本発明に係る２次記憶部５１０が保存する情報の一例を示す図である。
【図１７Ａ】図１７Ａは、本発明に係る１次記憶部５１１が保存する情報の一例を示す図である。
【図１７Ｂ】図１７Ｂは、本発明に係る１次記憶部５１１が保存する情報の一例を示す図である。
【図１７Ｃ】図１７Ｃは、本発明に係る１次記憶部５１１が保存する情報の一例を示す図である。
【図１８】図１８は、本発明に係るＭＰＥＧ２規格が規定するＰＡＴの内容を表す模式図である。
【図１９】図１９は、本発明に係るＭＰＥＧ２規格が規定するＰＭＴの内容を表す模式図である。
【図２０】図２０は、本発明に係るＯＣＡＰ仕様が規定するＡＩＴの内容を表す模式図
【図２１】図２１は、本発明に係るＤＳＭＣＣ方式で送信されるファイルシステムを表す模式図である。
【図２２】図２２は、本発明に係るＸＡＩＴの内容を表す模式図である。
【図２３】図２３は、本発明に係る２次記憶部が保存する情報の一例を示す図である。
【図２４】図２４は、本発明に係るＸＡＩＴ情報に記述されるアプリケーションがアプリケーションのストア領域にストアされている状態の一例を示す図である。
【図２５】図２５は、実施の形態１において、ＡＭが、ＸＡＩＴ情報を受け取った時点から、ＶＭへのアプリケーション起動指示を行うまでの動作の一例を示すフローチャートである。
【図２６】図２６は、実施の形態１において、ＸＡＩＴ情報に従いストア領域にストアされたアプリケーションの状態の一例を示す図である。
【図２７】図２７は、実施の形態１において、ＸＡＩＴ情報に従いストア領域にストアされたアプリケーションの状態の一例を示す図である。
【図２８】図２８は、実施の形態１におけるＡＭの構成を示す構成図である。
【図２９】図２９は、実施の形態１において、ＸＡＩＴ情報を受け取ったＡＭによる、アプリケーションのストア処理動作の一例を示すフローチャートである。
【図３０】図３０は、実施の形態１において、ＸＡＩＴ情報を受け取ったＡＭによる、アプリケーションのストア処理動作の一例を示すフローチャートである。
【図３１】図３１は、実施の形態１における削除通知の表示位置を説明するための説明図である。
【図３２】図３２は、実施の形態１において、ＡＭがアプリケーションをストアする動作の一例をまとめたフローチャートである。
【図３３】図３３は、ディスプレイに表示される削除通知を示す図である。
【図３４Ａ】図３４Ａは、実施の形態１において、ＸＡＩＴ情報取得前におけるストア領域にストアされたアプリケーションの状態の一例を示す図である。
【図３４Ｂ】図３４Ｂは、実施の形態１において、ＸＡＩＴ情報取得後におけるストア領域にストアされたアプリケーションの状態の一例を示す図である。
【図３５Ａ】図３５Ａは、実施の形態１において、ＸＡＩＴ情報を受け取ったＡＭによる、アプリケーションのストア処理動作の一例を示すフローチャートである。
【図３５Ｂ】図３５Ｂは、実施の形態１において、ＸＡＩＴ情報を受け取ったＡＭによる、アプリケーションのストア処理動作の一例を示すフローチャートである。
【図３６】図３６は、ストアするアプリケーションの選択を促すメッセージの一例を示す図である。
【図３７】図３７は、実施の形態２におけるＡＭの構成を示す構成図である。
【図３８】図３８は、実施の形態２における削除通知の一例を示す図である。
【図３９】図３９は、実施の形態２において、ＸＡＩＴ情報を受け取ったＡＭによる、アプリケーションのストア処理動作の一例を示すフローチャートである。
【図４０】図４０は、実施の形態３における削除通知の一例を示す図である。
【図４１】図４１は、実施の形態３において、ＸＡＩＴ情報を受け取ったＡＭによる、アプリケーションのストア処理動作の一例を示すフローチャートである。
【図４２】図４２は、実施の形態３において、ＸＡＩＴ情報を受け取ったＡＭによる、アプリケーションのストア処理動作の一例を示すフローチャートである。
【図４３】図４３は、実施の形態４において、ヘッドエンドからＸＡＩＴ情報を受け取ったＡＭによる、ＸＡＩＴ情報の扱い、及び、アプリケーションのストア処理動作の一例を示すフローチャートである。
【図４４】図４４は、実施の形態４において、モニターアプリケーションの動作の一例を示すフローチャートである。
【図４５】図４５は、実施の形態５におけるＡＭの構成を示す構成図である。
【図４６】図４６は、実施の形態５において、ＸＡＩＴ情報を受け取ったＡＭによる、アプリケーションのストア処理動作の一例を示すフローチャートである。
【図４７】図４７は、実施の形態５において、ＸＡＩＴ情報を受け取ったＡＭによる、アプリケーションのストア処理動作の一例を示すフローチャートである。
【図４８】図４８は、実施の形態５における問合せダイアログの一例を示す図である。
【図４９】図４９は、実施の形態５における問合せダイアログの他の例を示す図である。
【図５０】図５０は、実施の形態５における問合せダイアログのさらに他の例を示す図である。
【図５１】図５１は、実施の形態６において、ＸＡＩＴ情報を受け取ったＡＭによる、アプリケーションのストア処理動作の一例を示すフローチャートである。
【図５２】図５２は、実施の形態６において、ＸＡＩＴ情報を受け取ったＡＭによる、アプリケーションのストア処理動作の一例を示すフローチャートである。
【図５３】図５３は、本実施の形態６におけるダイアログの一例を示す図である。
【図５４】図５４は、実施の形態７において、ＸＡＩＴ情報を受け取ったＡＭによる、アプリケーションのストア処理動作の一例を示すフローチャートである。
【図５５】図５５は、実施の形態７におけるメッセージの一例を示す図である。
【図５６】図５６は、ＩＰ経由によるＪａｖａプログラムのダウンロードに必要なＸＡＩＴ情報の一例を示す図である。
【符号の説明】
【００４０】  １２００  プログラム
１２０１  ＯＳ
１２０１ａ  カーネル
１２０１ｂ  ライブラリ
１２０２  ＥＰＧ
１２０２ａ  番組表示部
１２０２ｂ  再生部
１２０３  ＶＭ
１２０４  サービスマネージャ
１２０５  ライブラリ
１２０５ａ  ＪＭＦ
１２０５ｂ  ＡＭ
１２０５ｃ  Ｔｕｎｅｒ
１２０５ｄ  ＣＡ
１２０５ｅ  ＰＯＤ  Ｌｉｂ
２６０１  ストア優先度比較部
２６０２  ストアアプリ決定部
２６０３  ストア部
２６０４  ストア削除部
２６０５  通知部
２６０６  ストア領域残容量取得部
２６０７  アプリケーション容量取得部
【発明を実施するための最良の形態】
【００４１】  （実施の形態１）
本発明に係るケーブルテレビシステムの実施の形態を、図面を参照しながら説明する。【００４２】  図３は、ケーブルシステムを構成する装置の関係を表したブロック図である。このケーブルシステムは、ヘッドエンド１０１と、３個のプログラム実行装置たる端末装置Ａ１１１、端末装置Ｂ１１２、及び端末装置Ｃ１１３とで構成される。本実施の形態では、１つのヘッドエンドに対して３つの端末装置が結合されているが、任意の数の端末装置をヘッドエンドに結合しても、本発明は実施可能である。【００４３】  ヘッドエンド１０１は、複数の端末装置に対して映像や音声、データ等の放送信号を送信するとともに、端末装置からのデータ送信を受信する。これを実現するため、ヘッドエンド１０１と端末装置Ａ１１１、端末装置Ｂ１１２、及び端末装置Ｃ１１３間の伝送に用いられる周波数帯域は、分割して用いられる。【００４４】  図４は、周波数帯域の分割の一例を示す図である。周波数帯域は、Ｏｕｔ  Ｏｆ  Ｂａｎｄ（略称ＯＯＢ）とＩｎ−Ｂａｎｄの２種類に大別される。５〜１３０ＭＨｚがＯＯＢに割り当てられ、主にヘッドエンド１０１と端末装置Ａ１１１、端末装置Ｂ１１２、及び端末装置Ｃ１１３間のデータのやり取りに使用される。１３０ＭＨｚ〜８６４ＭＨｚはＩｎ−Ｂａｎｄに割り当てられ、主として、映像や音声を含む放送チャンネルに使用される。ＯＯＢではＱＰＳＫ変調方式が、Ｉｎ−ＢａｎｄはＱＡＭ６４変調方式が使用される。変調方式技術については、本発明に関与が薄い公知技術であるので、詳細な説明は省略する。【００４５】  図５は、ＯＯＢ周波数帯域の更に詳細な使用の一例を示す図である。７０ＭＨｚ〜７４ＭＨｚはヘッドエンド１０１からのデータ送信に使用され、全ての端末装置Ａ１１１、端末装置Ｂ１１２、及び端末装置Ｃ１１３が、ヘッドエンド１０１から同じデータを受け取ることになる。一方、１０．０ＭＨｚ〜１０．１ＭＨｚは端末装置Ａ１１１からヘッドエンド１０１へのデータ送信に使用され、１０．１ＭＨｚ〜１０．２ＭＨｚは端末装置Ｂ１１２からヘッドエンド１０１へのデータ送信に使用され、１０．２ＭＨｚ〜１０．３ＭＨｚは端末装置Ｃ１１３からヘッドエンド１０１へのデータ送信に使用される。これにより、各端末装置固有のデータを各端末装置Ａ１１１、端末装置Ｂ１１２、及び端末装置Ｃ１１３からヘッドエンド１０１に送信することができる。【００４６】  図６は、Ｉｎ−Ｂａｎｄの周波数帯に対する使用の一例を示す図である。１５０〜１５６ＭＨｚと１５６〜１６２ＭＨｚはそれぞれテレビチャンネル１とテレビチャンネル２に割り当てられ、以降、６ＭＨｚ間隔でテレビチャンネルが割り当てられている。３１０ＭＨｚ以降は、１ＭＨｚ単位でラジオチャンネルに割り当てられている。これらの各チャンネルはアナログ放送として使用してもデジタル放送として使用してもよい。デジタル放送の場合は、ＭＰＥＧ２仕様に基づいたトラスポートパケット形式で伝送され、音声や映像に加え、各種データ放送用データも送信することができる。【００４７】  ヘッドエンド１０１は、これらの周波数帯域に適切な放送信号を送信するため、ＱＰＳＫ変調部やＱＡＭ変調部等を有する。また、端末装置からのデータを受信す��ため、ＱＰＳＫ復調器を有する。また、ヘッドエンド１０１は、これら変調部及び復調部に関連する様々な機器を有すると考えられる。しかし、本発明は主として端末装置に関わるので、詳細な説明は省略する。【００４８】  端末装置Ａ１１１、端末装置Ｂ１１２、及び端末装置Ｃ１１３は、ヘッドエンド１０１からの放送信号を受信し再生する。また、ヘッドエンド１０１に対して、各端末装置固有のデータを送信する。３つの、端末装置は本実施の形態では同じ構成を取る。【００４９】  図７は、端末装置（プログラム実行装置）のハードウエア構成を表すブロック図である。上述の端末装置Ａ１１１、端末装置Ｂ１１２、及び端末装置Ｃ１１３のそれぞれに相当する端末装置５００は、ＱＡＭ復調部５０１、ＱＰＳＫ復調部５０２、ＱＰＳＫ変調部５０３、ＴＳデコーダ５０５、オーディオデコーダ５０６、スピーカ５０７、ビデオデコーダ５０８、ディスプレイ５０９、２次記憶部５１０、１次記憶部５１１、ＲＯＭ５１２、入力部５１３、及びＣＰＵ５１４で構成される。また端末装置５００には、ＰＯＤ５０４が着脱できる。【００５０】  図８は、薄型テレビとして構成された端末装置５００の外観の一例を示す図である。
薄型テレビの筐体６０１は、ＰＯＤ５０４を除く、端末装置５００の構成要素をすべて内蔵している。【００５１】  ディスプレイ６０２は、図７におけるディスプレイ５０９に相当する。
フロントパネル部６０３は複数のボタンで構成され、図７の入力部５１３に相当する。【００５２】  信号入力端子６０４は、ヘッドエンド１０１との信号の送受信を行うためにケーブル線と接続する。また、信号入力端子６０４は、図７のＱＡＭ復調部５０１、ＱＰＳＫ復調部５０２、ＱＰＳＫ変調部５０３と接続されている。【００５３】  ＰＯＤカード６０５は、図７のＰＯＤ５０４に相当する。ＰＯＤ５０４は、図８のＰＯＤカード６０５のように、端末装置５００とは独立した形態を取り、端末装置５００に着脱可能となっている。ＰＯＤ５０４の詳細は後述する。【００５４】  挿入スロット６０６にはＰＯＤカード６０５が挿入される。
図７に示すように、ＱＡＭ復調部５０１は、ＣＰＵ５１４から指定された周波数を含むチューニング情報で、ヘッドエンド１０１でＱＡＭ変調され送信されてきた信号を復調し、ＰＯＤ５０４に引き渡す。【００５５】  ＱＰＳＫ復調部５０２は、ＣＰＵ５１４から指定された周波数を含むチューニング情報で、ヘッドエンド１０１でＱＰＳＫ変調され送信されてきた信号を復調し、ＰＯＤ５０４に引き渡す。【００５６】  ＱＰＳＫ変調部５０３は、ＣＰＵ５１４から指定された周波数を含む変調情報で、ＰＯＤ５０４から渡された信号をＱＰＳＫ変調し、ヘッドエンド１０１に送信する。【００５７】  ＰＯＤ５０４は、図８のように端末装置本体５００から着脱可能な形態をしている。端末本体５００とＰＯＤ５０４の接続インターフェースは、ＯｐｅｎＣａｂｌｅ（Ｒ）ＨＯＳＴ−ＰＯＤ  Ｉｎｔｅｒｆａｃｅ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ（ＯＣ−ＳＰ−ＨＯＳＴＰＯＤ−ＩＦ−Ｉ１２−０３０２１０）及び、この仕様書から参照されている仕様書で定義されている。ここでは、詳細は省略し、本発明に関する部分のみを解説する。【００５８】  図９は、ＰＯＤ５０４の内部構成を表すブロック図である。ＰＯＤ５０４は、第１デスクランブラ部７０１、第２デスクランブラ部７０２、スクランブラ部７０３、第１記憶部７０４、第２記憶部７０５、及びＣＰＵ７０６で構成される。【００５９】  第１デスクランブラ部７０１は、ＣＰＵ７０６からの指示により、端末装置５００のＱＡＭ復調部５０１から暗号化された信号を受け取り、復号を行う。そして、復号された信号を端末装置５００のＴＳデコーダ５０５に送る。デコードに必要な鍵などの情報はＣＰＵ７０６から適宜与えられる。具体的には、ヘッドエンド１０１はいくつかの有料チャンネルを放送している。ユーザが、この有料チャンネルを購買すると、第１デスクランブラ部７０１は、ＣＰＵ７０６から鍵等の必要な情報を受け取りデスクランブルすることで、ユーザは有料チャンネルを閲覧することができる。鍵などの必要な情報が与えられない場合は、第１デスクランブラ部７０１は、デスクランブルを行わず、受け取った信号をそのまま、ＴＳデコーダ５０５に送る。【００６０】  第２デスクランブラ部７０２は、ＣＰＵ７０６からの指示により、端末装置５００のＱＰＳＫ復調部５０２から暗号化された信号を受け取り、復号を行う。そして、復号されたデータをＣＰＵ７０６に引き渡す。【００６１】  スクランブラ部７０３は、ＣＰＵ７０６からの指示により、ＣＰＵ７０６から受け取ったデータを暗号化し、端末装置５００のＱＰＳＫ変調部５０３に送る。【００６２】  第１記憶部７０４は、具体的にはＲＡＭ等の一次記憶メモリーで構成され、ＣＰＵ７０６が処理を行う際、一時的にデータを保存するために使用される。【００６３】  第２記憶部７０５は、具体的にはフラッシュＲＯＭ等の２次記憶メモリーで構成され、ＣＰＵ７０６が実行するプログラムを格納し、また、電源ＯＦＦになっても消去されては困るデータの保存に使用される。【００６４】  ＣＰＵ７０６は、第２記憶部７０５が記憶するプログラムを実行する。プログラムは複数のサブプログラムで構成される。【００６５】  図１０は、第２記憶部７０５が記憶する���ログラムの一例を示す図である。図１０では、プログラム８００は、メインプログラム８０１、初期化サブプログラム８０２、ネットワークサブプログラム８０３、再生サブプログラム８０４、及びＰＰＶサブプログラム８０５等の複数のサブプログラムで構成されている。【００６６】  ここでＰＰＶとはＰａｙ  Ｐｅｒ  Ｖｉｅｗの略であり、映画など特定の番組を有料で視聴できるようにするサービスである。ユーザが暗証番号を入力すると、購入したことがヘッドエンド１０１に通知され、スクランブルが解除され、視聴することが出来る。この視聴により、ユーザは後日、購入代金を支払う。【００６７】  メインプログラム８０１は、ＣＰＵ７０６が電源投入時に最初に起動するサブプログラムであり、他のサブプログラムの制御を行う。【００６８】  初期化サブプログラム８０２は、電源投入時にメインプログラム８０１によって起動され、端末装置５００との情報交換等を行い、初期化処理を行う。初期化処理の詳細は、ＯｐｅｎＣａｂｌｅ（Ｒ）ＨＯＳＴ−ＰＯＤ  Ｉｎｔｅｒｆａｃｅ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ（ＯＣ−ＳＰ−ＨＯＳＴＰＯＤ−ＩＦ−Ｉ１２−０３０２１０）及び、この仕様書から参照されている仕様書で定義されている。また、仕様書に定義されていない初期化処理も行う。ここでは、その一部を紹介する。電源が投入されると、初期化サブプログラム８０２は、第２記憶部７０５が記憶する第１の周波数を端末装置５００のＣＰＵ５１４を通して、ＱＰＳＫ復調部５０２に通知する。ＱＰＳＫ復調部５０２は、与えられた第１の周波数でチューニングを行い、信号を第２デスクランブラ部７０２に送る。また、初期化サブプログラム８０２は、第２記憶部７０５が記憶する第１の鍵等の復号情報を第２デスクランブラ部７０２に与える。その結果、第２デスクランブラ部７０２は、デスクランブルを行い、初期化サブプログラム８０２を実行するＣＰＵ７０６に引き渡す。よって、初期化サブプログラム８０２は情報を受け取ることができる。本実施の形態では、初期化
サブプログラム８０２はネットワークサブプログラム８０３を通して情報を受け取ることとする。詳細は後述する。【００６９】  また、初期化サブプログラム８０２は、第２記憶部７０５が記憶する第２の周波数を端末装置５００のＣＰＵ５１４を通して、ＱＰＳＫ変調部５０３に通知する。初期化サブプログラム８０２は第２記憶部７０５が記憶する暗号化情報をスクランブラ部７０３に与える。初期化サブプログラム８０２が送信したい情報を、ネットワークサブプログラム８０３を介して、スクランブラ部７０３に与えると、スクランブラ部７０３は、与えられた暗号化情報を用いて、データを暗号化し、端末装置５００のＱＰＳＫ変調部５０３に与える。ＱＰＳＫ変調部５０３は、与えられた暗号化された情報を変調し、ヘッドエンド１０１に送信する。【００７０】  この結果、初期化サブプログラム８０２は、端末装置５００、第２デスクランブラ部７０２、スクランブラ部７０３、及びネットワークサブプログラム８０３を通して、ヘッドエンド１０１と双方向通信を行うことができる。【００７１】  ネットワークサブプログラム８０３は、メインプログラム８０１、初期化サブプログラム８０２等の複数のサブプログラムから使用される、ヘッドエンド１０１との双方向通信を行うためのサブプログラムである。具体的には、ネットワークサブプログラム８０３を使用する他のサブプログラムに対して、ＴＣＰ／ＩＰによって、ヘッドエンド１０１と双方向通信を行っているように振舞う。ＴＣＰ／ＩＰは、複数の装置間で情報交換を行うためのプロトコルを規定した公知の技術であり、詳細な説明は省略する。ネットワークサブプログラム８０３は、電源投入時に初期化サブプログラム８０２に起動されると、予め第２記憶部７０５が記憶しているＰＯＤ５０４を識別する識別子であるＭＡＣアドレス（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌアドレスの略）を、端末装置５００を通してヘッドエンド１０１に通知し、ＩＰアドレスの取得を要求する。ヘッドエンド１０１は、端末装置５００を介してＰＯＤ５０４にＩＰアドレスを通知し、ネットワークサブプログラム８０３は、ＩＰアドレスを第１記憶部７０４に記憶する。以降、ヘッドエンド１０１とＰＯＤ５０４は、このＩＰアドレスを、ＰＯＤ５０４の識別子として使用し、通信を行う。【００７２】  再生サブプログラム８０４は、第２記憶部７０５が記憶する第２の鍵等の復号情報や、端末装置５００から与えられる第３の鍵等の復号情報を第１デスクランブラ部７０１に与えて、デスクランブルを可能にする。また、ネットワークサブプログラム８０３を通して、第１デスクランブラ部７０１に入力されている信号が、ＰＰＶチャンネルであることの情報を受け取る。ＰＰＶチャンネルと知ったときは、ＰＰＶサブプログラム８０５を起動する。【００７３】  ＰＰＶサブプログラム８０５は、起動されると、端末装置５００に番組の購入を促すメッセージを表示し、ユーザの入力を受け取る。具体的には、端末装置５００のＣＰＵ５１４に画面に表示したい情報を送ると、端末装置５００のＣＰＵ５１４上で動作するプログラムが、端末装置５００のディスプレイ５０９上にメッセージを表示する。ユーザは、端末装置５００の入力部５１３���通して暗証番号を入力すると、端末装置５００のＣＰＵ５１４が、それを受け取り、ＰＯＤ５０４のＣＰＵ７０６上で動作するＰＰＶサブプログラム８０５に通知する。ＰＰＶサブプログラム８０５は、受け取った暗証番号をネットワークサブプログラム８０３を通してヘッドエンド１０１に送信する。ヘッドエンド１０１は、暗証番号が正しければ、復号に必要な第４の鍵などの復号化情報をネットワークサブプログラム８０３を介して、ＰＰＶサブプログラム８０５に通知する。ＰＰＶサブプログラム８０５は受け取った第４の鍵などの復号化情報を第１デスクランブラ部７０１に与え、第１デスクランブラ部７０１は、入力されている信号をデスクランブルする。【００７４】  図７に示すように、ＴＳデコーダ５０５は、ＰＯＤ５０４から受け取った信号のフィルタリングを実施し、必要なデータをオーディオデコーダ５０６及びビデオデコーダ５０８、ＣＰＵ５１４に引き渡す。ここで、ＰＯＤ５０４から来る信号はＭＰＥＧ２トランスポートストリームである。ＭＰＥＧ２トランスポートストリームの詳細はＭＰＥＧ規格書ＩＳＯ／ＩＥＣ１３８１８−１に記載されており、本実施の形態では詳細は省略する。ＭＰＥＧ２トランスポートストリームは、複数の固定長パケットで構成され、各パケットには、パケットＩＤが振られている。【００７５】  図１１は、パケットの構成図である。パケット９００は、固定長の１８８バイトで構成される。先頭４バイトがヘッダー９０１で、パケットの識別情報を格納しており、残り１８４バイトがペイロード９０２で、送信したい情報を含んでいる。ヘッダー９０１は構成９０３のように構成されている。先頭から１２ビット目〜２４ビット目までの１３ビットにパケットＩＤが含まれている。【００７６】  図１２は、送られてくる複数のパケットの列を表現した模式図である。パケット１００１は、ヘッダーにパケットＩＤ「１」を持ち、ペイロードには映像Ａの１番目の情報が入っている。パケット１００２は、ヘッダーにパケットＩＤ「２」を持ち、ペイロードには音声Ａの１番目の情報が入っている。パケット１００３は、ヘッダーにパケットＩＤ「３」を持ち、ペイロードには音声Ｂの１番目の情報が入っている。【００７７】  パケット１００４は、ヘッダーにパケットＩＤ「１」を持ち、ペイロードには映像Ａの２番目の情報が入っており、これはパケット１００１の続きになっている。同様にパケット１００５、１０２６、１０２７も他のパケットの後続データを格納している。このように、同じパケットＩＤを持つ、パケットのペイロードの内容を連結すると、連続した映像や音声を再現することができる。【００７８】  図１２に示すように、ＣＰＵ５１４がパケットＩＤ「１」と出力先としての「ビデオデコーダ５０８」をＴＳデコーダ５０５に指示すると、ＴＳデコーダ５０５はＰＯＤ５０４から受け取ったＭＰＥＧ２トランスポートストリームからパケットＩＤ「１」のパケットを抽出し、ビデオデコーダ５０８に引き渡す。図１２においては、映像データのみをビデオデコーダ５０８に引き渡すことになる。同時に、ＣＰＵ５１４がパケットＩＤ「２」と「オーディオデコーダ５０６」をＴＳデコーダ５０５に指示すると、ＴＳデコーダ５０５はＰＯＤ５０４から受け取ったＭＰＥＧ２トランスポートストリームからパケットＩＤ「２」のパケットを抽出し、オーディオデコーダ５０６に引き渡す。図１２においては、音声データのみをオーディオデコーダ５０６に引き渡すことになる。【００７９】  このパケットＩＤに応じて必要なパケットだけを取り出す処理が、ＴＳデコーダ５０５が行うフィルタリングである。ＴＳデコーダ５０５はＣＰＵ５１４から指示された複数のフィルタリングを同時に実行することができる。【００８０】  図７に示すように、オーディオデコーダ５０６は、ＴＳデコーダ５０５から与えられたＭＰＥＧ２トランスポートストリームのパケットに埋め込まれたオーディオデータを連結し、デジタル−アナログ変換を行いスピーカ５０７に出力する。【００８１】  スピーカ５０７は、オーディオデコーダ５０６から与えられた信号を音声出力する。
ビデオデコーダ５０８は、ＴＳデコーダ５０５から与えられたＭＰＥＧ２トランスポートストリームのパケットに埋め込まれたビデオデータを連結し、デジタル−アナログ変換を行いディスプレイ５０９に出力する。【００８２】  ディスプレイ５０９は、具体的にはブラウン管や液晶等で構成され、ビデオデコーダ５０８から与えられたビデオ信号を出力したり、ＣＰＵ５１４から指示されたメッセージを表示したりする。【００８３】  ２次記憶部５１０は、具体的には、フラッシュメモリーやハードディスク等で構成され、ＣＰＵ５１４から指示されたデータやプログラムを保存したり削除したりする。また、保存されているデータやプログラムはＣＰＵ５１４に参照される。保存されているデータやプログラムは、端末装置５００の電源が切断された状態でも保存しつづける。【００８４】  １次記憶部５１１は、具体的には、ＲＡＭ等で構成され、ＣＰＵ５１４から指示されたデータやプログラムを一次的に保存したり削除したりする。また、保存されているデータやプログラムはＣＰＵ５１４に参照される。保存されているデータやプログラムは、端末装置５００の電源が切断された際に、抹消される。【００８５】  ＲＯＭ５１２は、書き換え不可能なメモリーデバイスであり、具体的にはＲＯＭやＣＤ−ＲＯＭ、ＤＶＤなどで構成される。ＲＯＭ５１２は、ＣＰＵ５１４が実行するプログラムが格納されている。【００８６】  入力部５１３は、具体的には、フロントパネルやリモコンで構成され、ユーザからの入力を受け付ける。【００８７】  図１３は、フロントパネルで入力部５１３を構成した場合の一例を示す図である。フロントパネル１１００は、図８のフロントパネル部６０３に相当する。フロントパネル１１００は７つのボタン、すなわち上カーソルボタン１１０１、下カーソルボタン１１０２、左カーソルボタン１１０３、右カーソルボタン１１０４、ＯＫボタン１１０５、取消ボタン１１０６、及びＥＰＧボタン１１０７を備えている。ユーザがボタンを押下すると、押下されたボタンの識別子が、ＣＰＵ５１４に通知される。【００８８】  ＣＰＵ５１４は、ＲＯＭ５１２が記憶するプログラムを実行する。実行するプログラムの指示に従い、ＱＡＭ復調部５０１、ＱＰＳＫ復調部５０２、ＱＰＳＫ変調部５０３、ＰＯＤ５０４、ＴＳデコーダ５０５、ディスプレイ５０９、２次記憶部５１０、１次記憶部５１１、及びＲＯＭ５１２を制御する。【００８９】  図１４は、ＲＯＭ５１２に記憶され、ＣＰＵ５１４に実行されるプログラムの一例を示す構成図。【００９０】  プログラム１２００は、複数のサブプログラムで構成され、具体的にはＯＳ１２０１、ＥＰＧ１２０２、Ｊａｖａ（登録商標）ＶＭ１２０３（以後ＶＭ１２０３と称す）、サービスマネージャ１２０４、Ｊａｖａライブラリ１２０５（以後ライブラリ１２０５と称す）で構成される。【００９１】  ＯＳ１２０１は、端末装置５００の電源が投入されると、ＣＰＵ５１４が起動するサブプログラムである。ＯＳ１２０１は、オペレーティングシステムの略であり、Ｌｉｎｕｘ（登録商標）等が一例である。ＯＳ１２０１は、他のサブプログラムを平行して実行するカーネル１２０１ａ及びライブラリ１２０１ｂで構成される公知���技術の総称であり、詳細な説明は省略する。本実施の形態においては、ＯＳ１２０１のカーネル１２０１ａは、ＥＰＧ１２０２とＶＭ１２０３をサブプログラムとして実行する。また、ライブラリ１２０１ｂは、これらサブプログラムに対して、端末装置５００が保持する構成要素を制御するための複数の機能を提供する。【００９２】  機能の一例として、チューニング機能を紹介する。チューニング機能は、他のサブプログラムから周波数を含むチューニング情報を受け取り、それをＱＡＭ復調部５０１に引き渡す。ＱＡＭ復調部５０１は与えられたチューニング情報に基づき復調処理を行い、復調したデータをＰＯＤ５０４に引き渡すことができる。この結果、他のサブプログラムはライブラリ１２０１ｂを通してＱＡＭ復調器を制御することができる。【００９３】  ＥＰＧ１２０２は、ユーザに番組一覧を表示し、ユーザからの入力を受け付ける番組表示部１２０２ａと、チャンネル選局を行う再生部１２０２ｂで構成される。ここで、ＥＰＧはＥｌｅｃｔｒｉｃ  Ｐｒｏｇｒａｍ  Ｇｕｉｄｅの略である。ＥＰＧ１２０２は、端末装置５００の電源が投入されると、カーネル１２０１ａによって起動される、起動されたＥＰＧ１２０２の内部では、番組表示部１２０２ａが端末装置５００の入力部５１３を通して、ユーザからの入力を待つ。ここで、入力部５１３が図１３で示されるフロントパネルで構成されている場合、ユーザが、入力部５１３のＥＰＧボタン１１０７を押下すると、ＥＰＧボタンの識別子がＣＰＵ５１４に通知される。ＣＰＵ５１４上で動作するサブプログラムであるＥＰＧ１２０２の番組表示部１２０２ａは、この識別子を受け取り、番組情報をディスプレイ５０９に表示する。【００９４】  図１５Ａ及び図１５Ｂは、ディスプレイ５０９に表示された番組表の一例を示す図である。図１５Ａに示すように、ディスプレイ５０９には、格子状に番組情報が表示されている。列１３０１には、時刻情報が表示されている。列１３０２には、チャンネル名「チャンネル１」と、列１３０１の時刻に対応する時間帯に放映される番組が表示されている。「チャンネル１」では、９：００〜１０：３０に番組「ニュース９」が放映され、１０：３０〜１２：００は「映画ＡＡＡ」が放映されることを表す。列１３０３も列１３０２同様、チャンネル名「チャンネル２」と、列１３０１の時刻に対応する時間帯に放映される番組が表示されている。９：００〜１１：００に番組「映画ＢＢＢ」が放映され、１１：００〜１２：００は「ニュース１１」が放映される。カーソル１３３０は、フロントパネル１１００の左カーソルボタン１１０３と右カーソルボタン１１０４を押下すると移動する。図１５Ａの状態で、右カーソルボタン１１０４を押下すると、カーソルボタン１３３０は右に移動し、図１５Ｂのようになる。また、図１５Ｂの状態で、左カーソル１１０３を押下すると、カーソル１３３０は左に移動し、図１５Ａのようになる。【００９５】  図１５Ａの状態で、フロントパネル１１００のＯＫボタン１１０５が押下されると、番組表示部１２０２ａは、「チャンネル１」の識別子を再生部１２０２ｂに通知する。図１５Ｂの状態で、フロントパネル１１００のＯＫボタン１１０５が押下される���、番組表示部１２０２ａは、「チャンネル２」の識別子を再生部１２０２ｂに通知する。【００９６】  また、番組表示部１２０２ａは、表示する番組情報を、ＰＯＤ５０４を通してヘッドエンド１０１から定期的に、１次記憶部５１１に記憶しておく。一般的に、ヘッドエンドからの番組情報の取得は時間が掛かる。入力部５１３のＥＰＧボタン１１０７が押下された時、１次記憶部５１１に予め保存された番組情報を表示することで、素早く番組表を表示することができる。【００９７】  再生部１２０２ｂは、受け取ったチャンネルの識別子を用いて、チャンネルを再生する。チャンネルの識別子とチャンネルの関係は、チャンネル情報として、２次記憶部５１０に予め格納されている。【００９８】  図１６は、２次記憶部５１０に格納されているチャンネル情報の一例を示す図である。チャンネル情報は表形式で格納されている。列１４０１は、チャンネルの識別子である。列１４０２は、チャンネル名である。列１４０３はチューニング情報である。ここで、チューニング情報は周波数や転送レート、符号化率などを含み、ＱＡＭ復調部５０１に与える値である。列１４０４はプログラムナンバーである。プログラムナンバーとは、ＭＰＥＧ２規格で規定されているＰＭＴを識別するための番号である。ＰＭＴに関しては、後述する。行１４１１〜１４１４の各行は、各チャンネルの識別子、チャンネル名、チューニング情報の組となる。行１４１１は、識別子としての「１」、チャンネル名としての「チャンネル１」、チューニング情報としての周波数「１５０ＭＨｚ」、及びプログラムナンバーとしての「１０１」を含む組となっている。再生部１２０２ｂは、チャンネルの再生を行うため、受け取ったチャンネルの識別子をそのままサービスマネージャに引き渡す。また、再生部１２０２ｂは、再生中に、ユーザがフロントパネル１１００の上カーソルボタン１１０１と下カーソルボタン１１０２を押下すると、入力部５１３からＣＰＵ５１４を通して、押下された通知を受け取り、再生しているチャンネルを変更する。まず、再生部１２０２ｂは、１次記憶部５１１に現在再生中のチャンネルの識別子を記憶する。【００９９】  図１７Ａ、図１７Ｂ、及び図１７Ｃは、１次記憶部５１１に保存しているチャンネルの識別子の例を示す図である。図１７Ａでは識別子「３」が記憶されており、図１６に示すように、チャンネル名「ＴＶ  ３」のチャンネルが再生中であることを示す。図１７Ａの状態で、ユーザが上カーソルボタン１１０１を押下すると再生部１２０２ｂは、図１６のチャンネル情報を参照し、表中の前のチャンネルであるチャンネル名「チャンネル２」のチャンネルに再生を切り変えるため、サービスマネージャにチャンネル名「チャンネル２」の識別子「２」を引き渡す。同時に、再生部１２０２ｂは、１次記憶部５１１に記憶されているチャンネル識別子を「２」に書き換える。図１７Ｂは、チャンネル識別子が書き換えられた状態を表す。また、図１７Ａの状態で、ユーザが下カーソルボタン１１０２を押下すると再生部１２０２ｂは、図１６のチャンネル情報を参照し、表中の次のチャンネルであるチャンネル名「ＴＶ  Ｊａｐａｎ」のチャンネルに再生を切り変えるため、サービスマネ���ジャにチャンネル名「ＴＶ  Ｊａｐａｎ」の識別子「４」を引き渡す。同時に、再生部１２０２ｂは、１次記憶部５１１に記憶されているチャンネル識別子を「４」に書き換える。図１７Ｂは、チャンネル識別子が書き換えられた状態を表す。【０１００】  ＶＭ１２０３は、Ｊａｖａ（登録商標）言語で記述されたプログラムを逐次解析し実行するＪａｖａバーチャルマシンである。Ｊａｖａ言語で記述されたプログラムはバイトコードと呼ばれる、ハードウエアに依存しない中間コードにコンパイルされる。Ｊａｖａバーチャルマシンは、このバイトコードを実行するインタープリタである。また、一部のＪａｖａバーチャルマシンは、バイトコードをＣＰＵ５１４が理解可能な実行形式に翻訳してから、ＣＰＵ５１４に引渡し、実行することも行う。ＶＭ１２０３は、カーネル１２０１ａに、実行するＪａｖａプログラムを指定され起動される。本実施の形態では、カーネル１２０１ａは、実行するＪａｖａプログラムとしてサービスマネージャ１２０４を指定する。Ｊａｖａ言語の詳細は、書籍「Ｊａｖａ（Ｒ）Ｌａｎｇｕａｇｅ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ（ＩＳＢＮ  ０−２０１−６３４５１−１）」等の多くの書籍で解説されている。ここでは、その詳細を省略する。また、Ｊａｖａバーチャルマシン自体の詳細な動作などは、「Ｊａｖａ（Ｒ）Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ（ＩＳＢＮ  ０−２０１−６３４５１−Ｘ）」等の多くの書籍で解説されている。ここでは、その詳細を省略する。【０１０１】  サービスマネージャ１２０４は、Ｊａｖａ言語で書かれたＪａｖａプログラムであり、ＶＭ１２０３によって逐次実行される。サービスマネージャ１２０４は、ＪＮＩ（Ｊａｖａ（Ｒ）Ｎａｔｉｖｅ  Ｉｎｔｅｒｆａｃｅ）を通して、Ｊａｖａ言語で記述されていない他のサブプログラムを呼び出したり、または、呼び出されたりすることが可能である。ＪＮＩに関しても、書籍「Ｊａｖａ（Ｒ）Ｎａｔｉｖｅ  Ｉｎｔｅｒｆａｃｅ」等の多くの書籍で解説されている。ここでは、その詳細を省略する。【０１０２】  サービスマネージャ１２０４は、ＪＮＩを通して、再生部１２０２ｂよりチャンネルの識別子を受け取る。【０１０３】  サービスマネージャ１２０４は、最初にライブラリ１２０５の中にあるＴｕｎｅｒ１２０５ｃに、チャンネルの識別子を引渡し、チューニングを依頼する。Ｔｕｎｅｒ１２０５ｃは、２次記憶部５１０が記憶するチャンネル情報を参照し、チューニング情報を獲得する。今、サービスマネージャ１２０４がチャンネルの識別子「２」をＴｕｎｅｒ１２０５ｃに引き渡すと、Ｔｕｎｅｒ１２０５ｃは、図１６の行１４１２を参照して、対応するチューニング情報「１５６ＭＨｚ，」を獲得する。Ｔｕｎｅｒ１２０５ｃは、ＯＳ１２０１のライブラリ１２０１ｂを通して、ＱＡＭ復調部５０１にチューニング情報を引き渡す。ＱＡＭ復調部５０１は与えられたチューニング情報に従ってヘッドエンド１０１から送信されてきた信号を復調し、ＰＯＤ５０４に引き渡す。【０１０４】  次にサービスマネージャ１２０４は、ライブラリ１２０５の中にあるＣＡ１２０５ｄにデスクランブルを依頼する。ＣＡ１２０５ｄは、ＯＳ１２０１のライブラリ１��０１ｂを通して復号に必要な情報をＰＯＤ５０４に与える。ＰＯＤ５０４は、与えられた情報を元に、ＱＡＭ復調部５０１から与えられた信号を復号しＴＳデコーダ５０５に引き渡す。【０１０５】  次にサービスマネージャ１２０４は、ライブラリ１２０５の中にあるＪＭＦ１２０５ａにチャンネルの識別子を与え、映像や音声の再生を依頼する。【０１０６】  まず、最初にＪＭＦ１２０５ａは、再生すべき映像と音声を特定するためのパケットＩＤをＰＡＴ及びＰＭＴから取得する。ＰＡＴやＰＭＴはＭＰＥＧ２規格で規定されている、ＭＰＥＧ２トランスポートストリーム内の番組構成を表現するテーブルであり、ＭＰＥＧ２トランスポートストリームに含まれるパケットのペイロードに埋め込まれて、音声や映像と共に送信されるものである。詳細は規格書を参照されたい。ここでは、概略のみ説明する。ＰＡＴは、Ｐｒｏｇｒａｍ  Ａｓｓｏｃｉａｔｉｏｎ  Ｔａｂｌｅの略で、パケットＩＤ「０」のパケットに格納され送信されている。ＪＭＦ１２０５ａは、ＰＡＴを取得するため、ＯＳ１２０１のライブラリ１２０１ｂを通して、ＴＳデコーダ５０５にパケットＩＤ「０」とＣＰＵ５１４を指定する。ＴＳデコーダ５０５がパケットＩＤ「０」でフィルタリングを行い、ＣＰＵ５１４に引き渡すことでＪＭＦ１２０５ａは、ＰＡＴのパケットを収集する。【０１０７】  図１８は、収集したＰＡＴの情報の一例を模式的に表した図である。列１６０１は、プログラムナンバーである。列１６０２は、パケットＩＤである。列１６０２のパケットＩＤはＰＭＴを取得するために用いられる。行１６１１〜１６１３のそれぞれは、チャンネルのプログラムナンバーと対応するパケットＩＤの組である。ここでは、３つのチャンネルが定義されている。行１６１１ではプログラムナンバー「１０１」とパケットＩＤ「５０１」の組が定義されている。今、ＪＭＦ１２０５ａに与えられたチャンネルの識別子が「２」とすると、ＪＭＦ１２０５ａは、図１６の行１４１２を参照して、対応するプログラムナンバー「１０２」を獲得し、次に、図１８のＰＡＴの行１６１２を参照し、プログラムナンバー「１０２」に対応するパケットＩＤ「５０２」を獲得する。ＰＭＴは、Ｐｒｏｇｒａｍ  Ｍａｐ  Ｔａｂｌｅの略で、ＰＡＴで規定されたパケットＩＤのパケットに格納され送信されている。ＪＭＦ１２０５ａは、ＰＭＴを取得するため、ＯＳ１２０１のライブラリ１２０１ｂを通して、ＴＳデコーダ５０５にパケットＩＤとＣＰＵ５１４を指定する。ここで、指定するパケットＩＤは「５０２」とする。ＴＳデコーダ５０５がパケットＩＤ「５０２」でフィルタリングを行い、ＣＰＵ５１４に引き渡すことでＪＭＦ１２０５ａは、ＰＭＴのパケットを収集する。【０１０８】  図１９は、収集したＰＭＴの情報の一例を模式的に表した図である。列１７０１は、ストリーム種別であり、列１７０２は、パケットＩＤである。列１７０２で指定されるパケットＩＤのパケットには、ストリーム種別で指定された情報がペイロードに格納され送信されている。列１７０３は補足情報である。行１７１１〜１７１４はエレメンタリ−ストリームと呼ばれる、パケットＩＤと送信している情報の種別の組である。行１７１１は、ストリー���種別「音声」とパケットＩＤ「５０１１」の組であり、パケットＩＤ「５０１１」のペイロードには音声が格納されていることを表す。ＪＭＦ１２０５ａは、ＰＭＴから再生する映像と音声のパケットＩＤを獲得する。図１９に示すように、ＪＭＦ１２０５ａは、行１７１１から音声のパケットＩＤ「５０１１」を、行１７１２から映像のパケットＩＤ「５０１２」を獲得する。【０１０９】  次に、ＪＭＦ１２０５ａは、ＯＳ１２０１のライブラリ１２０１ｂを通して、獲得した音声のパケットＩＤと出力先としてのオーディオデコーダ５０６の組、及び映像のパケットＩＤと出力先としてのビデオデコーダ５０８の組を、ＴＳデコーダ５０５に与える。ＴＳデコーダ５０５は与えられたパケットＩＤと出力先に基づいて、フィルタリングを行う。ここではパケットＩＤ「５０１１」のパケットをオーディオデコーダ５０６に、パケットＩＤ「５０１２」のパケットをビデオデコーダ５０８に引き渡す。オーディオデコーダ５０６は、与えられたパケットのデジタル−アナログ変換を行いスピーカ５０７を通して音声を再生する。ビデオデコーダ５０８は、与えられたパケットのデジタル−アナログ変換を行いディスプレイ５０９に映像を表示する。【０１１０】  最後にサービスマネージャ１２０４は、ライブラリ１２０５の中にあるＡＭ１２０５ｂにチャンネルの識別子を与え、データ放送再生を依頼する。ここで、データ放送再生とは、ＭＰＥＧ２トランスポートストリームに含まれるＪａｖａプログラムを抽出し、ＶＭ１２０３に実行させることである。ＭＰＥＧ２トランスポートストリームにＪａｖａプログラムを埋め込む方法は、ＭＰＥＧ規格書ＩＳＯ／ＩＥＣ１３８１８−６に記述されたＤＳＭＣＣという方式を用いる。ここではＤＳＭＣＣの詳細な説明は省略する。ＤＳＭＣＣ方式は、ＭＰＥＧ２トランスポートストリームのパケットの中に、コンピュータで使用されているディレクトリやファイルで構成されるファイルシステムをエンコードする方法を規定している。また、実行するＪａｖａプログラムの情報はＡＩＴと呼ばれる形式で、ＭＰＥＧ２トランスポートストリームのパケットの中に埋め込まれ送信されている。ＡＩＴは、ＯＣＡＰ仕様（正式には、ＯＣＡＰ  １．０  Ｐｒｏｆｉｌｅ  ＯＣ−ＳＰ−ＯＣＡＰ１．０−ＩＦ−Ｉ０９−０３１１２１）に定義されている、Ａｐｐｌｉｃａｔｉｏｎ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｔａｂｌｅの略である。【０１１１】  ＡＭ１２０５ｂは、まず、ＡＩＴを獲得するため、ＪＭＦ１２０５ａ同様ＰＡＴ及びＰＭＴを取得し、ＡＩＴが格納されているパケットのパケットＩＤを獲得する。今、与えられたチャンネルの識別子が「２」で、図１８のＰＡＴ、図１９のＰＭＴが送信されていると、ＪＭＦ１２０５ａと同様の手順で、図１９のＰＭＴを獲得する。ＡＭ１２０５ｂは、ＰＭＴからストリーム種別が「データ」で補足情報として「ＡＩＴ」を持つエレメンタリ−ストリームからパケットＩＤを抽出する。図１９に示すように、行１７１３のエレメンタリ−ストリームが該当し、パケットＩＤ「５０１３」を獲得する。【０１１２】  ＡＭ１２０５ｂは、ＯＳ１２０１のライブラリ１２０１ｂを通してＴＳデコーダ５０５にＡＩＴのパケットＩＤと出力先ＣＰＵ���１４を与える。ＴＳデコーダ５０５は、与えられたパケットＩＤでフィルタリングを行い、ＣＰＵ５１４に引き渡す。この結果、ＡＭ１２０５ｂは、ＡＩＴのパケットを収集することができる。【０１１３】  図２０は、収集したＡＩＴの情報の一例を模式的に表した図である。列１８０１はＪａｖａプログラムの識別子である。列１８０２はＪａｖａプログラムの制御情報である。制御情報には「ａｕｔｏｓｔａｒｔ」「ｐｒｅｓｅｎｔ」「ｋｉｌｌ」などがあり、「ａｕｔｏｓｔａｒｔ」は即時に端末装置５００がこのプログラムを自動的に実行することを意味し、「ｐｒｅｓｅｎｔ」は自動実行しないことを意味し、「ｋｉｌｌ」はプログラムを停止することを意味する。列１８０３は、ＤＳＭＣＣ方式でＪａｖａプログラムを含んでいるパケットＩＤを抽出するためのＤＳＭＣＣ識別子である。列１８０４はＪａｖａプログラムのプログラム名である。行１８１１と１８１２はそれぞれ、Ｊａｖａプログラムの情報の組である。行１８１１で定義されるＪａｖａプログラムの情報は、識別子「３０１」、制御情報「ａｕｔｏｓｔａｒｔ」、ＤＳＭＣＣ識別子「１」、及びプログラム名「ａ／ＴｏｐＸｌｅｔ」の組である。行１８１２で定義されるＪａｖａプログラムの情報は、識別子「３０２」、制御情報「ｐｒｅｓｅｎｔ」、ＤＳＭＣＣ識別子「１」、及びプログラム名「ｂ／ＧａｍｅＸｌｅｔ」の組である。ここで２つのＪａｖａプログラムは同じＤＳＭＣＣ識別子を持つが、これは１つのＤＳＭＣＣ方式でエンコードされたファイルシステム内に２つのＪａｖａプログラムが含まれていることを表す。ここでは、Ｊａｖａプログラムに対して４つの情報しか規定しないが、実際にはより多くの情報が定義される。詳細はＯＣＡＰ仕様（ＯＣＡＰ  １．０  Ｐｒｏｆｉｌｅ  ＯＣ−ＳＰ−ＯＣＡＰ１．０−ＩＦ−Ｉ０９−０３１１２１）を参照されたい。【０１１４】  ＡＭ１２０５ｂは、ＡＩＴの中から「ａｕｔｏｓｔａｒｔ」のＪａｖａプログラムを見つけ出し、対応するＤＳＭＣＣ識別子及びＪａｖａプログラム名を抽出する。図２０に示すように、ＡＭ１２０５ｂは行１８１１のＪａｖａプログラムを抽出し、ＤＳＭＣＣ識別子「１」及びＪａｖａ（Ｒ）プログラム名「ａ／ＴｏｐＸｌｅｔ」を獲得する。【０１１５】  次にＡＭ１２０５ｂは、ＡＩＴから取得したＤＳＭＣＣ識別子を用いて、ＪａｖａプログラムをＤＳＭＣＣ方式で格納しているパケットのパケットＩＤをＰＭＴから獲得する。具体的には、ＰＭＴの中でストリーム種別が「データ」で、補足情報のＤＳＭＣＣ識別子が合致するエレメンタリ−ストリームのパケットＩＤを取得する。【０１１６】  今、ＤＳＭＣＣ識別子が「１」であり、ＰＭＴが図１９とすると、行１７１４のエレメンタリ−ストリームが合致し、パケットＩＤ「５０１４」を取り出す。【０１１７】  ＡＭ１２０５ｂは、ＯＳ１２０１のライブラリ１２０１ｂを通してＴＳデコーダ５０５にＤＳＭＣＣ方式でデータが埋めこめられたパケットのパケットＩＤと出力先としてのＣＰＵ５１４を指定する。ここでは、パケットＩＤ「５０１４」を与える。ＴＳデコーダ５０５、与えられたパケットＩＤでフィルタリングを行い、ＣＰＵ５１４に引き渡す。この結果、ＡＭ１２０５ｂは、必要なパケットを収集することができる。ＡＭ１２０５ｂは、収集したパケットから、ＤＳＭＣＣ方式に従ってファイルシステムを復元し、１次記憶部５１１に保存する。ＭＰＥＧ２トランスポートストリーム中のパケットからファイルシステム等のデータを取り出し１次記憶部５１１等の記憶手段に保存することを以降、ダウンロードと呼ぶ。【０１１８】  図２１は、ダウンロードしたファイルシステムの一例を示す図である。図中、丸はディレクトリを四角はファイルを表し、このファイルシステムは、ルートディレクトリ１９０１、ディレクトリ「ａ」１９０２、ディレクトリ「ｂ」１９０３、ファイル「ＴｏｐＸｌｅｔ．ｃｌａｓｓ」１９０４、及びファイル「ＧａｍｅＸｌｅｔ．Ｃｌａｓｓ」１９０５を含む。【０１１９】  次にＡＭ１２０５ｂは、１次記憶部５１１にダウンロードしたファイルシステム中から実行するＪａｖａプログラムをＶＭ１２０３に引き渡す。今、実行するＪａｖａプログラム名が「ａ／ＴｏｐＸｌｅｔ」とすると、Ｊａｖａプログラム名の最後に「．ｃｌａｓｓ」を付加したファイル「ａ／ＴｏｐＸｌｅｔ．ｃｌａｓｓ」が実行すべきファイルとなる。「／」はディレクトリやファイル名の区切りであり、図２１に示すように、ファイル１９０４が実行すべきＪａｖａプログラムである。次にＡＭ１２０５ｂは、ファイル１９０４をＶＭ１２０３に引き渡す。【０１２０】  ＶＭ１２０３は、引き渡されたＪａｖａプログラムを実行する。
サービスマネージャ１２０４は、他のチャンネルの識別子を受け取ると、ライブラリ１２０５に含まれる各ライブラリを通して再生している映像、音声及びＪａｖａプログラムの実行を、同じくライブラリ１２０５に含まれる各ライブラリを通して停止し、新たに受け取ったチャンネルの識別子に基づいて、映像や音声の再生及びＪａｖａプログラムの実行を行う。【０１２１】  ライブラリ１２０５は、ＲＯＭ５１２に格納されている複数のＪａｖａライブラリの集合である。本実施の形態では、ライブラリ１２０５は、ＪＭＦ１２０５ａ、ＡＭ１２０５ｂ、Ｔｕｎｅｒ１２０５ｃ、ＣＡ１２０５ｄ、及びＰＯＤ  Ｌｉｂ１２０５ｅ等を含んでいる。【０１２２】  次に、Ｊａｖａプログラムのダウンロード、保存、及び実行機能について説明する。
サービスマネージャ１２０４は、ライブラリ１２０５に含まれるＰＯＤ  Ｌｉｂ１２０５ｅを通してヘッドエンド１０１との通信によりヘッドエンド１０１からの情報を受取ることができる。この通信は、ＰＯＤ  Ｌｉｂ１２０５ｅがＯＳ１２０１のライブラリ１２０１ｂ及びＰＯＤ５０４を介してＱＰＳＫ復調部５０２を使用することで実現される。【０１２３】  サービスマネージャ１２０４は、この通信を用いてヘッドエンド１０１から、端末装置５００が２次記憶部５１０に保存すべきＪａｖａプログラムの情報を受け取る。この情報をＸＡＩＴ情報と呼ぶ。ＸＡＩＴ情報は、ヘッドエンド１０１とＰＯＤ５０４間で、任意の形式で送信される。どのような送信形式を採用しても、ＸＡＩＴ情報に必要とする情報が含まれていれば、本発明は実施可能である。【０１２４】  図２２は、ヘッドエンド１０１から取得したＸＡＩＴ情報の一例を模式的に表した図である。列２００１はＪａｖａプログラムの識別子である。列２００２はＪａｖａプログラムの制御情報である。制御情報には「ａｕｔｏｓｔａｒｔ」「ｐｒｅｓｅｎｔ」などがあり、「ａｕｔｏｓｔａｒｔ」は端末装置５００が電源投入時にこのプログラムを自動的に実行することを意味し、「ｐｒｅｓｅｎｔ」は自動実行しないことを意味する。列２００３は、ＤＳＭＣＣ方式でＪａｖａプログラムを含んでいるパケットＩＤを抽出するためのＤＳＭＣＣ識別子である。列２００４はＪａｖａプログラムのプログラム名である。列２００５は、Ｊａｖａプログラムの優先度である。優先度は、実行可能なＪａｖａプログラムに制限がある場合に、実行するＪａｖａプログラムを決めるための優先度である。列２００６は、Ｊａｖａプログラムのストア優先度である。ストア優先度はＸＡＩＴ情報に記述される個々のＪａｖａプログラムに指定される値であり、Ｊａｖａプログラム及びＪａｖａプログラムの実行に必要なデータを保存する際に、２次記憶部５１０へ保存するＪａｖａプログラム及びＪａｖａプログラムの実行に必要なデータを決めるための優先度である。列２００７は、Ｊａｖａプログラムのアプリケーション名である。アプリケーション名は、ユーザがＪａｖａプログラムを識別するための名前である。行２０１１と２０１２はそれぞれ、Ｊａｖａプログラムの情報の組である。行２０１１で定義されるＪａｖａプログラムの情報は、識別子「７０１」、制御情報「ａｕｔｏｓｔａｒｔ」、ＤＳＭＣＣ識別子「１」、プログラム名「ａ／ＡＰＰ１Ｘｌｅｔ」、優先度「２００」、ストア優先度「１００」、及びアプリケーション名「ＡＰＰ１」の組である。ここでは、Ｊａｖａプログラムに対して７つの情報しか規定しないが、より多くの情報が定義されていても本発明は実施可能である。【０１２５】  なお、列２００７のアプリケーション名は、例えば、ユーザに対してＸＡＩＴ情報に記述された各Ｊａｖａプログラムを識別させるために用いられる名前であるが、ユーザに提示してユーザがＪａｖａプログラムを識別するのに十分な情報があれば、アプリケーション名はなくても本発明は実施可能である。【０１２６】  次にサービスマネージャ１２０４は、ライブラリ１２０５の中にあるＡＭ１２０５ｂにＸＡＩＴ情報を受け渡し、ＸＡＩＴ情報に記述されるＪａｖａプログラムのＭＰＥＧ２トランスポートストリームからの抽出、ダウンロード、及び実行を依頼する。【０１２７】  ＡＭ１２０５ｂは、ＸＡＩＴ情報を受け取ると、ＡＩＴ情報からＪａｖａプログラムをダウンロードした手順と同じ手順で、ＭＰＥＧ２トランスポートストリームからファイルシステムを１次記憶部５１１に保存する。その後、１次記憶部５１１に保存したファイルシステムを２次記憶部５１０に複写する。なお、１次記憶部５１１を介さず、直接２次記憶部５１０にダウンロードすることも実施可能である。【０１２８】  次に、ＡＭ１２０５ｂは、ＸＡＩＴ情報に、ダウンロードしたファイルシステムの格納位置を対応つけて２次記憶部５１０に保存する。【０１２９】  図２３は、２次記憶部５１０にＸＡＩＴ情報とダウンロードしたファイルシステムが対応つけられて保存されている一例を表す図である。図２３の中で、図２２と同じ番号の要素は図２２と同じなので、説明は省略する。列２１０１は各Ｊａｖａプログラムごとに対応するダウンロードしたファイルシステムの保存位置を格納する。図中、保存位置は矢印で示している。ダウンロードしたファイルシステム２１１０は、内部にトップディレクトリ２１１１、ディレクトリ「ａ」２１１２、ディレクトリ「ｂ」２１１３、ファイル「ＡＰＰ１Ｘｌｅｔ．ｃｌａｓｓ」２１１４、及びファイル「ＡＰＰ２Ｘｌｅｔ．ｃｌａｓｓ」２１１５を保持する。【０１３０】  ここで、ＸＡＩＴ情報は、Ｊａｖａプログラムを保存してから保存されているが、Ｊａｖａプログラムを保存する前に保存されることも実施可能である。なお、ＸＡＩＴ情報は、２次記憶５１０に保存されているが、１次記憶部５１１に保存されることも実施可能である。１次記憶部５１１に保存される場合、電源ＯＦＦ時に、保存されたＸＡＩＴ情報は全て消える。【０１３１】  ここで、ファイルシステムは、具体的には、ＸＡＩＴ情報に記述される複数のＪａｖａプログラム及びＪａｖａプログラムの実行に必要なデータから形成される。以降、ＸＡＩＴ情報に記述される個々のＪａｖａプログラム及びＪａｖａプログラムの実行に必要なデータを、アプリケーションと呼ぶ。さらに、アプリケーションを２次記憶部５１０にダウンロードすることを以降、ストアと呼ぶ。またさらに、２次記憶部５１０にあって、アプリケーションをストアするための領域をストア領域と呼ぶ。また、ＶＭ１２０３がアプリケーションを構成するＪａｖａプログラムを実行することをアプリケーションの実行と呼ぶ。【０１３２】  図２４は、ＸＡＩＴ情報に記述されるアプリケーションがアプリケーションのストア領域２２０１にストアされている状態を示す図である。図２４の中で、アプリケーションのストア領域２２０１は、アプリケーション名「ＡＰＰ１」をもつアプリケーション２２１１、および、アプリケーション名「ＡＰＰ２」を持つアプリケーション２２１２を格納する。【０１３３】  ここで、アプリケーションのストア領域２２０１の容量は一般的に有限である。アプリケーションのストア領域２２０１の容量はあらかじめ固定されているものであっても、可変であってもよい。なお、アプリケーションを２次記憶部のストア領域２２０１にスト���しているが、アプリケーションを、１次記憶部に保存することでも実施可能である。また、１次記憶部に保存する場合、電源ＯＦＦ時に、保存されたアプリケーションは全て消える。【０１３４】  次にＡＭ１２０５ｂは、１次記憶部５１１または２次記憶部５１０に保存されたＸＡＩＴ情報を参照して、１次記憶部５１１にダウンロードしたアプリケーション、または２次記憶部５１０のストア領域２２０１にストアしたアプリケーションの中から「ａｕｔｏｓｔａｒｔ」と指定されたアプリケーションのＪａｖａプログラムをＶＭ１２０３に引き渡す。図２３に示すように、行２０１１で定義されるアプリケーション「ＡＰＰ１」のＪａｖａプログラム「ａ／ＡＰＰ１Ｘｌｅｔ」がＶＭ１２０３に引渡される。実行するアプリケーションのＪａｖａプログラム名が「ａ／ＡＰＰ１Ｘｌｅｔ」とすると、Ｊａｖａプログラム名の最後に「．ｃｌａｓｓ」を付加したファイル「ａ／ＡＰＰ１Ｘｌｅｔ．ｃｌａｓｓ」が実行すべきファイルとなる。ＶＭ１２０３は、引渡されたアプリケーションのＪａｖａプログラムを実行する。以降、ＡＭ１２０５ｂからのＶＭ１２０３へのアプリケーションの引渡しを、ＶＭ１２０３へのアプリケーション起動指示と呼ぶ。【０１３５】  ＡＭ１２０５ｂがＸＡＩＴ情報を受け取った時点から、ＶＭ１２０３へのアプリケーション起動指示を行う時点までの処理において、一般的に、最も時間のかかる処理は、ＭＰＥＧ２トランスポートストリームからファイルシステムを取り出し１次記憶部へファイルシステムを保存する処理、または、ＭＰＥＧ２トランスポートストリームからファイルシステムを取り出して１次記憶部５１１を介さず直接２次記憶部５１０のストア領域２２０１へファイルシステムをストアする処理である。ここで、ＡＭ１２０５ｂがＸＡＩＴ情報を受け取った時点において、ＸＡＩＴ情報に記述されたアプリケーションのうち、既にストアされているアプリケーションが存在する場合、ＡＭ１２０５ｂは既にストアされているアプリケーションのファイルシステムについては、ＭＰＥＧ２トランスポートストリームから１次記憶部５１１への保存処理及び１次記憶部５１１から２次記憶部５１０中のストア領域２２０１へのストア処理、またはＭＰＥＧ２トランスポートストリームから１次記憶部５１１を介さず直接２次記憶部５１０中のストア領域２２０１へのストア処理を省略することができる。従って、アプリケーションを前もってストア領域２２０１にストアしておくことで、ＡＭ１２５０ｂがＸＡＩＴ情報を受け取った時点から、ＶＭ１２０３へのアプリケーション起動指示を行うまでの時間を短縮することができる。【０１３６】  図２５は、ＡＭ１２５０ｂが、ＸＡＩＴ情報を受け取った時点から、ＶＭ１２０３へのアプリケーション起動指示を行うまでの動作の一例を示すフローチャートである。図２５に示すように、ＡＭ１２０５ｂがＸＡＩＴ情報を受け取ると（Ｓ２３０１）、ＸＡＩＴ情報に記述のアプリケーションをまだ選ばれていないものから順に１つずつ選ぶ（Ｓ２３０２）。ここで、ＡＭ１２０５ｂは、選んだアプリケーションがストアされているか否かを判断し（Ｓ２３０３）、選んだアプリケーションがストアされていない場合（Ｓ２３０���のＮＯ）、ＡＭ１２０５ｂは、アプリケーションをＭＰＥＧ２トランスポートストリームからストア領域２２０１にストアする（Ｓ２３０４）。次に、ＡＭ１２０５ｂは、選んだアプリケーションの制御情報が「ａｕｔｏｓｔａｒｔ」か否かを判断し（Ｓ２３０５）、選んだアプリケーションの制御情報が「ａｕｔｏｓｔａｒｔ」の場合、ＡＭ１２０５ｂはＶＭ１２０３へのアプリケーション起動指示を行う（Ｓ２３０６）。そして、ＡＭ１２０５ｂは、ＸＡＩＴ情報に記述のアプリケーションを全て選択したか否かを判断し（Ｓ２３０７）、未だＸＡＩＴ情報に記述の全てのアプリケーションを選択していない場合（Ｓ２３０７のＮＯ）、ＡＭ１２０５ｂは次のアプリケーションを選択してＸＡＩＴ情報の受け取りからアプリケーション起動指示までの処理を進め、既にＸＡＩＴ情報記述の全てのアプリケーションを選択している場合には（Ｓ２３０７のＹＥＳ）、ＸＡＩＴ情報の受け取りからアプリケーション起動指示までの処理を終了する。【０１３７】  図２５に示すＡＭ１２０５ｂの動作の一例においても明らかなように、ＡＭ１２０５ｂがＸＡＩＴ情報を受け取った時点において、ＸＡＩＴに記述のアプリケーションがストアされているか否かを判断し（Ｓ２３０３）、既にＸＡＩＴに記述のアプリケーションがストアされている場合、ＡＭ１２０５ｂは、アプリケーションをＭＰＥＧ２トランスポートストリームからストア領域２２０１にストアする処理（Ｓ２３０４）を省略することができる。その結果、ＡＭ１２０５ｂがＸＡＩＴ情報を受け取った時点（Ｓ２３０１）から、ＶＭ１２０３へのアプリケーション起動指示を行う（Ｓ２３０６）までの時間は短縮される。【０１３８】  さらに、ここで、ＸＡＩＴ情報に記述されたアプリケーションを１つ選ぶ処理（Ｓ２３０２）において、例えば、ストアされかつ「ａｕｔｏｓｔａｒｔ」のアプリケーションから順に選ぶことにより、特にストアされた個々のアプリケーションの起動指示までの時間を短縮することができる。【０１３９】  なお、個々のアプリケーションの起動指示までの時間を短縮する方法は図２５に示した方法に限らない。なお、図２５において、ＸＡＩＴ情報に記述されるアプリケーションをＭＥＰＧ２トランスポートストリームからストア領域２２０１にストアする処理は、アプリケーション１つごとに行っているが、ＸＡＩＴに記述されるアプリケーション全てについて同時に処理を行うなど他の方法をとってもよい。【０１４０】  このように、アプリケーションをストアすることによるメリットは、次回のＸＡＩＴ受け取り時において、ＤＳＭＣＣからアプリケーションをダウンロードまたはストアする必要がないため、ＡＭ１２０５ｂがＸＡＩＴ情報を受け取った時点から、ＶＭ１２０３へのアプリケーション起動指示を行う時点までの処理が速くなることである。【０１４１】  一方、アプリケーションがストアされていない場合、次回のＸＡＩＴ受け取り時に、ＡＭ１２０５ｂは、そのアプリケーションのファイルシステムをＭＰＥＧ２トランスポートストリームから１次記憶５１１にダウンロードまたは２次記憶５１０のストア領域２２０１にストアする必要があるため、アプリケーションが既にストアされている時と比べて、ＡＭ１２０５ｂがＸＡＩＴ情報を受け取った時点から、ＶＭ１２０３へのアプリケーション起動指示を行う時点までの処理が遅くなる。【０１４２】  なお、ここでは、ＡＭ１２０５ｂはアプリケーションのＤＳＭＣＣから１次記憶部へのダウンロードまたはＤＳＭＣＣからストア領域へのストア完了後に、ＶＭ１２０３ｂへアプリケーションの起動指示を出すものとして説明しているが、ＡＭ１２０５ｂがＸＡＩＴ情報の受け取り後、アプリケーションのＤＳＭＣＣから１次記憶へのダウンロードまたはＤＳＭＣＣからストア領域へのストアをする前に、ＶＭ１２０３へアプリケーションの起動指示を出してもよい。ここでの起動指示は、ＡＭ１２０５ｂがＶＭ１２０３に実行すべきアプリケーションのプログラム名を引渡すことにより実現するものとする。この場合、ＶＭ１２０３が、ＡＭ１２０５ｂからのアプリケーション起動指示後に、ＤＳＭＣＣまたは１次記憶部５１１またはストア領域からアプリケーションを読み込み実行することになる。一般的に、ＤＳＭＣＣからファイルシステムを読み込む処理は、既に１次記憶部またはストア領域から読み込む処理よりも遅い。従って、アプリケーションを前もってストア領域２２０１にストアしておくことで、ＡＭ１２５０ｂがＸＡＩＴ情報を受け取った時点から、ＶＭ１２０３がアプリケーションの実行を開始するまでの時間を短縮することができる。【０１４３】  図２６及び図２７に示すように、ＸＡＩＴ情報が更新されると、それにともないストア領域２２０１にストアされるアプリケーションが更新される。【０１４４】  図２６は、１つのアプリケーション２０１１のストアを指定する更新前のＸＡＩＴ情報に従いストア領域２２０１にストアされたアプリケーションの状態を示す図である。ここで、更新前のＸＡＩＴ情報には１つのアプリケーション２０１１のストアが指定されると、状態２２１１に示すようにアプリケーション２０１１はストアされる。【０１４５】  図２７は、２つのアプリケーション２０１１とアプリケーション２０１２のストアを指定する更新後のＸＡＩＴ情報に従いストア領域２２０１にストアされたアプリケーションの状態を示す図である。更新後のＸＡＩＴ情報には２つのアプリケーション２０１１とアプリケーション２０１２のストアが指定されると、状態２２１１に示すようにアプリケーション２０１１はストアされ、状態２２１２に示すようにアプリケーション２０１２もストアされる。【０１４６】  次に、本発明の主要機能である、ＸＡＩＴ情報を受け取ったＡＭ１２０５ｂによる、ＸＡＩＴ情報に記述されたアプリケーションのストア機能について説明する。【０１４７】  図２８は、ＡＭ１２０５ｂの構成のうち、ストア処理に関連する構成要素のみを示す図である。他の構成要素は本発明とは直接関係ないので省略する。ＡＭ１２０５ｂは、ストア優先度比較部２６０１、ストアアプリ決定部２６０２、アプリケーションのストア部２６０３、アプリケーションのストア削除部２６０４、通知部２６０５、ストア領域残容量取得部２６０６、及びアプリケーション容量取得部２６０７を備える。【０１４８】  ストア優先度比較部２６０１は、ストアアプリ決定部２６０２から取得要求を受けると、ＸＡＩＴ情報���ら個々のアプリケーションのストア優先度２００６取得し、個々のアプリケーションに指定されたストア優先度２００６を比較する。ここで、既にストアされているアプリケーションがＸＡＩＴ情報に記述されていない場合、ストア優先度比較部２６０１は、そのアプリケーションのストア優先度は最低値であるとみなす。そして、その比較結果をストアアプリ決定部２６０２に返す。ここで、比較結果の返し方は、ＸＡＩＴ情報に記述された全てのアプリケーションを優先度の高い順にならべ代えた配列として返す等により実施可能であるが、ストアアプリ決定部２６０２がＸＡＩＴ情報に記述された全てのアプリケーションについて、そのストア優先度の高低を知るために必要な情報を提供するものであれば形式は問わない。【０１４９】  ストア領域残容量取得部２６０６は、ストアアプリ決定部２６０２からの取得要求を受けると、ストア領域２２０１がアプリケーションをストアできる残りの容量を取得し、その取得結果をストアアプリ決定部２６０２に返す。ここで、取得結果の返し方は、数値情報として返す等により実現可能であるが、ストアアプリ決定部２６０２が、ストア領域２２０１がアプリケーションをストアできる残りの容量を知るために必要な情報を提供するものであれば形式は問わない。【０１５０】  アプリケーション容量取得部２６０７は、ストアアプリ決定部２６０２からの取得要求を受けると、ＸＡＩＴ情報に記述された各アプリケーション及び既にストア領域にストアされている各アプリケーションのストアに必要な容量を取得し、その取得結果をストアアプリ決定部２６０２に返す。ここで、取得結果の返し方は、各アプリケーション毎に数値を対応付けて返す等により実施可能であるが、ストアアプリ決定部２６０２が各アプリケーションについて、そのストアに必要な容量を知るために必要な情報を提供するものであれば形式は問わない。【０１５１】  ストアアプリ決定部２６０２は、ストア領域２２０１にストアするアプリケーションと、ストア領域２２０１から削除するアプリケーションとのセット、を決定する。ここで、ストアアプリ決定部２６０２は、ストア優先度比較部２６０１にストア優先度比較結果の取得を要求し、ストア領域残容量取得部２６０６にストア領域２２０１の残容量の取得を要求し、アプリケーション容量取得部２６０７に各アプリケーションのストアに必要な容量の取得を要求する。そして、これらの取得した情報に基づいて、ストア領域２２０１にストアされている全てのアプリケーションの容量がストア領域２２０１の総容量を越えない範囲において、可能な限り多くのアプリケーションを、ストア優先度の高いアプリケーションから優先的にストア領域２２０１にストアされることが満たされるよう、ストア優先度の高いアプリケーションを優先的にストアすることを決定する。さらに、ストアアプリ決定部２６０２は、既にストアされているアプリケーションであっても、ストア優先度の低いアプリケーションから順に、ストア領域２２０１から削除することを決定する。そして、ストアアプリ決定部２６０２は、ストア領域２２０１にストアするアプリケーションと、ストア領域２２０１から削除するアプリケーションとのセット、を決定���に、通知部２６０５への通知指示と、ストア部２６０３へのアプリケーションのストア指示と、ストア削除部２６０４へのアプリケーション削除指示を行う。ここで、通知部２６０５への通知指示と、アプリケーションのストア削除部２６０４へのアプリケーションの削除指示は、既にストアされていたアプリケーションをストア領域２２０１から削除すると決定した場合のみにおいて行うが、この場合、通知部２６０５への通知指示を、アプリケーションのストア削除部２６０４へのアプリケーションの削除指示より前に行うことにより、ユーザへのアプリケーション削除通知を、ストア領域からアプリケーションが削除される前に行うことができる。【０１５２】  ストア部２６０３は、ストアアプリ決定部２６０２の決定結果に従い、アプリケーションをストアする。【０１５３】  ストア削除部２６０４は、ストアアプリ決定部２６０２の決定結果に従い、アプリケーションをストア領域２２０１から削除する。【０１５４】  通知部２６０５は、ストアアプリ決定部２６０２の決定結果に従い、ユーザにアプリケーションが削除されることを通知する。ここで、通知部２６０５によるユーザへのアプリケーション削除通知は、通知部２６０５が端末装置５００のＣＰＵ５１４に画面に表示したい削除通知情報を送り、ＯＳ１２０１のライブラリ１２０１ｂに含まれるダイアログ表示プログラムが、削除通知をディスプレイ５０９に表示することにより実現される。ここで、ダイアログは、例えば一定時間経過後にディスプレイ５０９から消すものとする。【０１５５】  図２９及び図３０は、本実施の形態におけるＸＡＩＴ情報を受け取ったＡＭ１２０５ｂによる、アプリケーションのストア処理動作の一例を示すフローチャートである。特に、ＸＡＩＴ情報に記述されるアプリケーションをＭＥＰＧ２トランスポートストリームからストア領域２２０１にストアする際に、ストア領域２２０１の容量が不足する場合における、ＡＭ１２０５ｂによる、ＭＰＥＧ２トランスポートストリームからストア領域２２０１へのアプリケーションのストア処理動作の一例を示すフローチャートである。【０１５６】  図２９及び図３０に示すように、ＡＭ１２０５ｂがＸＡＩＴ情報を受け取ると（Ｓ２７０１）、ＸＡＩＴ情報に記述されたアプリケーションから、ストア優先度の高いものから順にまだ選ばれていないアプリケーションを１つ選択する。但しここで、受け取ったＸＡＩＴ情報に従ったストア処理において、ストア削除部２６０４がストア領域２２０１から既に削除したアプリケーションを除くアプリケーションを１つ選択する（Ｓ２７０２）。そして、ＡＭ１２０５ｂは、選択したアプリケーションがストアされているか否かを判断する（Ｓ２７０３）。【０１５７】  選択したアプリケーションがストアされている場合（Ｓ２７０３のＹＥＳ）、ＡＭ１２０５ｂは、ＸＡＩＴ情報に記述のアプリケーションを全て選択したか否かを判断し（Ｓ２７０７）する。ここで、未だＸＡＩＴ情報に記述の全てのアプリケーションを選択していない場合（Ｓ２７０７のＮＯ）、ＡＭ１２０５ｂは次のアプリケーションを選択しストア処理を進める。既にＸＡＩＴ情報に記述の全てのアプリケーションを選択している場合には（Ｓ���７０７のＹＥＳ）、ＡＭ１２０５ｂは、ストア処理を終了する。【０１５８】  一方、選択したアプリケーションがストアされていない場合（Ｓ２７０３のＮＯ）、ストアアプリ決定部２６０２は、ストア領域残容量取得部２６０６からストア領域の残容量を取得し、アプリケーション容量取得部２６０７からアプリケーション容量を取得する（Ｓ２７０４）。そして、ストア領域残容量取得部２６０６から取得したストア領域の残容量とアプリケーション容量取得部２６０７から取得したアプリケーション容量に基づき、ストアアプリ決定部２６０２は、ストア領域の残容量が選択したアプリケーションの容量より大きいか否かを判断する（Ｓ２７０５）。【０１５９】  ストア領域の残容量が選択したアプリケーションの容量より大きいと判断した場合（Ｓ２７０５のＹＥＳ）、ストア部２６０３は選択したアプリケーションをストアする（Ｓ２７０６）。そして、ＡＭ１２０５ｂは、ＸＡＩＴ情報に記述のアプリケーションを全て選択したか否かを判断し（Ｓ２７０７）、未だＸＡＩＴ情報に記述の全てのアプリケーションを選択していない場合、ＡＭ１２０５ｂは次のアプリケーションを選択しストア処理を進め、既にＸＡＩＴ情報に記述の全てのアプリケーションを選択している場合にはストア処理を終了する。【０１６０】  一方、ストアアプリ決定部２６０２がストア領域の残容量が選択したアプリケーションの容量より小さいと判断した場合（Ｓ２７０５のＮＯ）、ＡＭ１２０５ｂは、既にストアされているアプリケーションがあるか否かを判断する（Ｓ２８０１）。【０１６１】  既にストアされているアプリケーションがある場合には（Ｓ２８０１のＹＥＳ）、つまり、ＸＡＩＴ情報に記述されるアプリケーションをＭＥＰＧ２トランスポートストリームからストアする際に、既にストアされているアプリケーションがある為にストア領域２２０１の容量が不足する場合には、ストアアプリ決定部２６０２は、ストア優先度比較部２６０１から個々のアプリケーションに指定されたストア優先度２００６の比較結果を取得する（Ｓ２８０２）。その比較結果に基づいて、ストアアプリ決定部２６０２は、ストアするアプリケーションと、ストア領域２２０１から削除するアプリケーションとのセットを決定する（Ｓ２８０３）。ここで、ストアアプリ決定部２６０２は、既にストアされているアプリケーションの中で、選択したアプリケーションのストア優先度よりもストア優先度の低いアプリケーションがある場合には、ストア領域の残容量が選択したアプリケーションの容量以上になるように、ストアアプリ決定部２６０２は、その既にストアされているアプリケーションをストア領域から削除することを決定し、選択したアプリケーションをストアすることを決定する。但し、それらの既にストアされているアプリケーションをストア領域から削除してもストア領域の残容量が選択したアプリケーションの容量以上にならない場合には、それらの既にストアされているアプリケーションはストア領域から削除せず、選択したアプリケーションをストアしないことを決定する。一方、既にストアされているアプリケーションの中で、選択したアプリケーションのストア優先度よりもストア優先度の低いアプリ��ーションがない場合には、ストアアプリ決定部２６０２は、既にストアされているアプリケーションのいずれもストア領域から削除せず、選択したアプリケーションをストアしないことを決定する。続いて、ストアアプリ決定部２６０２は、既にストアされていたアプリケーションをストア領域２２０１から削除すると決定したか削除しないことを決定したかを判定する（Ｓ２８０４）。【０１６２】  ストアアプリ決定部２６０２が既にストアされていたアプリケーションをストア領域２２０１から削除すると決定した場合（Ｓ２８０４のＹＥＳ）、ストアアプリ決定部２６０２は、通知部２６０５に削除通知を指示し、ストア削除部２６０４に、アプリケーションをストア領域２２０１から削除することを指示し、ストア部２６０３に、アプリケーションのストアを指示する。そして、通知部２６０５は、ストアアプリ決定部２６０２の決定結果に従い、ユーザにアプリケーションが削除されることを通知する（Ｓ２８０５）。ストア削除部２６０４は、ストアアプリ決定部２６０２の決定結果に従い、アプリケーションをストア領域２２０１から削除し（Ｓ２８０６）、ストア部２６０３は、ストアアプリ決定部２６０２の決定結果に従い、アプリケーションをストアする（Ｓ２７０６）。ここで、ストア削除部２６０４は、通知部２６０５によるユーザへの通知が行われたことを検知した後に、アプリケーションをストア領域２２０１から削除しても良い。そして、ＡＭ１２０５ｂは、ＸＡＩＴ情報に記述のアプリケーションを全て選択したか否かを判断し（Ｓ２７０７）、未だＸＡＩＴ情報記述の全てのアプリケーションを選択していない場合、ＡＭ１２０５ｂは次のアプリケーションを選択しストア処理を進め、既にＸＡＩＴ情報に記述の全てのアプリケーションを選択している場合にはストア処理を終了する。【０１６３】  一方、ストアアプリ決定部２６０２が既にストアされていたアプリケーションをストア領域２２０１から削除しないことを決定した場合（Ｓ２８０４のＮＯ）、選択されたアプリケーションをストアするストア領域を確保することができないので、ＡＭ１２０５ｂは、ＸＡＩＴ情報に記述のアプリケーションを全て選択したか否かを判断する（Ｓ２７０７）。そしてＡＭ１２０５ｂは、上述と同様に、未だＸＡＩＴ情報記述の全てのアプリケーションを選択していない場合には、次のアプリケーションを選択しストア処理を進め、既にＸＡＩＴ情報に記述の全てのアプリケーションを選択している場合にはストア処理を終了する。【０１６４】  一方、既にストアされているアプリケーションがあるか否かの判断（Ｓ２８０１）において、既にストアされているアプリケーションがない場合には（Ｓ２８０１のＮＯ）、つまり、ＸＡＩＴ情報に記述されるアプリケーションをＭＥＰＧ２トランスポートストリームからストア領域２２０１にストアする際に、ストア領域２２０１の容量が不足するが、既にストアされているアプリケーションがない場合には、選択されたアプリケーションをストアするストア領域を確保することができないので、ＡＭ１２０５ｂは、ＸＡＩＴ情報に記述のアプリケーションを全て選択したか否かを判断する（Ｓ２７０７）。そしてＡＭ１２０５ｂは、上述と同様に��未だＸＡＩＴ情報記述の全てのアプリケーションを選択していない場合には、次のアプリケーションを選択しストア処理を進め、既にＸＡＩＴ情報に記述の全てのアプリケーションを選択している場合にはストア処理を終了する。【０１６５】  なお、ＸＡＩＴ情報に記述されるアプリケーションをＭＥＰＧ２トランスポートストリームからストア領域２２０１にストアする際に、ストア領域２２０１の容量が不足するが、既にストアされているアプリケーションがない場合には、選択されたアプリケーションをストアするストア領域を確保することができないので、ＡＭ１２０５ｂは選択したアプリケーションをストアせずにストア処理を終了してもよい。【０１６６】  ここで、本実施の形態において、既にストアされているアプリケーションがＸＡＩＴ情報に記述されていない場合、ストア優先度比較部２６０１は、そのアプリケーションのストア優先度は最低値であるとみなすとしているが、このような場合、ストアアプリ決定部２６０２は、そのアプリケーションのストア領域２２０１からの削除を無条件に決定する等の方法を取ってもよい。【０１６７】  なお、ここで、通知部２６０５によるユーザへのアプリケーション削除通知は、通知部２６０５が端末装置５００のＣＰＵ５１４に画面に表示したい削除通知情報を送り、ＯＳ１２０１のライブラリ１２０１ｂに含まれるダイアログ表示プログラムが、削除通知をディスプレイ５０９に表示することにより実現している。しかし、通知部２６０５によるユーザへの削除通知は、ユーザがアプリケーションの削除を検知できる方法であれば、その他の方法であっても実施可能である。【０１６８】  図３１は、削除通知の表示位置を説明するための説明図である。
例えば、通知部２６０５によるユーザへの削除通知は、リモコンの液晶画面に削除通知を表示させる、或いは、図３１に示すように、端末装置本体の７セグＬＥＤ３１０２に削除通知を表示させる、或いは、端末装置本体のランプ３１０１を点灯させるなどにより実施可能である。図３１において、図８と同じ要素には図８と同じ符号を付し説明を省略する。【０１６９】  また、ここで、アプリケーションのストア完了時に、通知部２６０５は、ユーザにアプリケーションがストアされたことを通知してもよい。【０１７０】  また、ここで、ストアアプリ決定部２６０２は、必ずしも、ストア優先度の低いアプリケーションから順に、ストア領域２２０１から削除することを決定しない。例えば、ＯＣＡＰ仕様（ＯＣＡＰ  １．０  Ｐｒｏｆｉｌｅ  ＯＣ−ＳＰ−ＯＣＡＰ１．０−ＩＦ−Ｉ０９−０３１１２１）に記述のケーブルテレビシステムにおいては、既にストアされているアプリケーションが実行されている場合、そのアプリケーションをストレージから削除することによってアプリケーションの実行を妨げてはならないため、ストアアプリ決定部２６０２は、既にストア領域にストアされているアプリケーションの中で最もストア優先度の低いアプリケーションであっても、そのアプリケーションが実行中の場合には、そのアプリケーションをストア領域から削除する決定をしない。【０１７１】  図３２は、ＡＭ１２０５ｂがアプリケーションをストアする動作の一例をまとめたフローチャートである。その動作は特に、ストア領域２２０１にアプリケーション２０１１が既にストアされている状態で、ＡＭ１２０５ｂが、図２２に示すように、アプリケーション２０１１とアプリケーション２０１２とを記述したＸＡＩＴ情報を取得し、ストア領域２２０１の容量が不足する場合の動作である。ここで、ＸＡＩＴ情報に記述されたアプリケーション２０１１のストア優先度は１００であり、アプリケーション２０１２のストア優先度は２００であるとする。またここで、ストア領域２２０１の容量はアプリケーション２０１１の容量とアプリケーション２０１２の容量の総和に満たないものとする。また、ＯＣＡＰ仕様においては、ストア処理により実行中のアプリケーションの実行を妨げてはならないので、ここでは、アプリケーション２０１１は起動されていないものとする。【０１７２】  ＡＭ１２０５ｂは、ＸＡＩＴ情報を取得すると（Ｓ２９０１）、ＸＡＩＴ情報に記述されるアプリケーションの中から最も高いストア優先度２００をもつアプリケーション２０１２を選択する（Ｓ２９０２）。既にアプリケーション２０１１がストアされているため、ストア領域２２０１の残容量がアプリケーション２０１２のストアに必要な容量に満たないため、ストア優先度比較部２６０１は、既にストアされているアプリケーション２０１１と、アプリケーション２０１２のストア優先度を比較する（Ｓ２９０３）。ストアアプリ決定部２６０２は、優先度の低いアプリケーション２０１１をストア領域２２０１から削除することを決定する（Ｓ２９０４）。ストアアプリ決定部２６０２は、既にストアされていたアプリケーション２０１１をストア領域２２０１から削除すると決定したため、通知部２６０５に通知���指示し、ストア削除部２６０４にアプリケーション２０１１の削除を指示し、ストア部２６０３に、アプリケーション２０１２のストアを指示する。そして、通知部２６０５は、ユーザにアプリケーション２０１１が削除されることを通知する（Ｓ２９０５）。ここで、通知部２６０５によるユーザへのアプリケーション削除通知は、通知部２６０５が端末装置５００のＣＰＵ５１４に画面に表示したい削除通知情報を送り、ＯＳ１２０１のライブラリ１２０１ｂに含まれるダイアログ表示プログラムが、図３３に示すような削除通知をディスプレイ５０９に表示することにより実現される。【０１７３】  図３３は、ディスプレイ５０９に表示される削除通知を示す図である。
ダイアログボックス３００１はメッセージ３００２の表示要素をもつ。なお、メッセージ３００２の文字列は、ユーザにアプリケーションの削除を通知する為に必要な情報を提供できる方法であれば、図３３中の文字列に限定されず他の文字列であってもよく、また、メッセージ３００２の形式は文字列に限定されず他の形式であってもよい。また更に、ダイアログボックス３００１の表示要素は、図３３の表示要素に限定されず、ユーザにアプリケーション２０１１の削除を通知できるものであれば、他の表示要素であってもよい。続いて、ストア削除部２６０４は、アプリケーション２０１１をストア領域２２０１から削除する（Ｓ２９０６）。そして、ストア部２６０３は、アプリケーション２０１２をストアする（Ｓ２９０７）。【０１７４】  図３４Ａは、ＸＡＩＴ情報取得前におけるストア領域２２０１にストアされたアプリケーションの状態を示す図である。ここで状態２２１１はアプリケーション２０１１がストアされた状態を示す。【０１７５】  図３４Ｂは、ＸＡＩＴ情報取得後におけるストア領域２２０１にストアされたアプリケーションの状態を示す図である。ここで状態２２１２はアプリケーション２０１２がストアされた状態を示す。【０１７６】  なお、本実施の形態において、ストアアプリ決定部２６０２によるストアするアプリケーションの決定は、図２９に示すように、ストア優先度比較部の比較結果に基づき、ストア優先度の高いアプリケーションから順に選択し、ストア処理を行う方法により実現している（Ｓ２７０２）。しかし、ストアアプリ決定部２６０２は、ＸＡＩＴ情報に記述されるアプリケーション全てについて同時に、ストアするアプリケーションと、ストア領域２２０１から削除するアプリケーションとのセットを決定するなどの方法をとっても良い。例えば、ストアアプリ決定部２６０２は、受け取ったＸＡＩＴ情報を参照して、ＸＡＩＴ情報に記述されている全てのアプリケーションについて、ストア領域２２０１にストアされる全てのアプリケーションの容量がストア領域２２０１の総容量を越えない範囲において、ストア優先度の高いアプリケーションから順にストアすることを決定し、このとき既にストアされているがストアすることを決定されなかったアプリケーションをストア領域２２０１から削除することを決定するなどの方法をとっても良い。【０１７７】  また、なお、ＡＭ１２０５ｂがストア領域残容量取得部２６０６、及び、アプリケーション容量取得部２６０７を持たない場合や、ＡＭ１２０５ｂがアプリケーション容量取得部２６０７を持っているがアプリケーション容量取得部２６０７がアプリケーションの容量を取得できない場合においても、本発明は実施可能である。例えば、ＡＭ１２０５ｂはストア領域残容量取得部２６０６、及び、アプリケーション容量取得部２６０７を持たない場合、ストアアプリ決定部２６０２は、ストア優先度比較部２６０１の比較結果に従い、ストア優先度の高いアプリケーションから順にストアを決定し、ストア部２６０３がストアに失敗した場合には、ストア優先度の低いアプリケーションから順に、ストア領域２２０１から削除することを決定する等の方法をとってもよい。【０１７８】  図３５Ａ及��図３５Ｂは、ストア領域残容量取得部２６０６及びアプリケーション容量取得部２６０７をもたないＡＭ１２０５ｂによる、ＸＡＩＴ情報を受け取り時の、アプリケーションのストア処理動作の一例を示すフローチャートである。特に、ＸＡＩＴ情報に記述されるアプリケーションをＭＥＰＧ２トランスポートストリームからストア領域２２０１にストアする際に、ストア領域２２０１の容量が不足する場合における、ストア領域残容量取得部２６０６及びアプリケーション容量取得部２６０７をもたないＡＭ１２０５ｂによる、ＭＰＥＧ２トランスポートストリームからストア領域２２０１へのアプリケーションのストア処理動作の一例を示すフローチャートである。【０１７９】  図３５Ａに示すように、ＡＭ１２０５ｂがＸＡＩＴ情報を受け取ると（Ｓ３３０１）、ストアアプリ決定部２６０２は、ストア優先度比較部２６０１からＸＡＩＴ情報に記述されたアプリケーションのストア優先度を取得する（Ｓ３３０２）。そして、ストアアプリ決定部２６０２は、ＸＡＩＴ情報に記述されたアプリケーションからストア優先度の高いものから順にまだ選ばれていないアプリケーション１つをストア候補として選択する（Ｓ３３０３）。そして、ストアアプリ決定部２６０２は、ストア候補として選択したアプリケーションがストアされているか否かを判断する（Ｓ３３０４）。【０１８０】  ストア候補として選択したアプリケーションがストアされている場合（Ｓ３３０４のＹＥＳ）、ストアアプリ決定部２６０２は、ＸＡＩＴ情報に記述のアプリケーションを全てストア候補として選択したか否かを判断する（Ｓ３３０７）。ここで、未だＸＡＩＴ情報記述の全てのアプリケーションをストア候補として選択していない場合（Ｓ３３０７のＮＯ）、ストアアプリ決定部２６０２は次のアプリケーションをストア候補として選択しストア処理を進め、既にＸＡＩＴ情報記述の全てのアプリケーションをストア候補として選択している場合（Ｓ３３０７のＹＥＳ）にはストア処理を終了する。【０１８１】  一方、ストア候補として選択したアプリケーションがストアされていない場合（Ｓ３３０４のＮＯ）、ストア部２６０３はストア候補のアプリケーションをストアする（Ｓ３３０５）。そして、ＡＭ１２０５ｂは、ストア候補のアプリケーションをストアできたか否かを判断する（Ｓ３３０６）。【０１８２】  ストア候補のアプリケーションをストアできた場合（Ｓ３３０６のＹＥＳ）、ストアアプリ決定部２６０２は、ＸＡＩＴ情報記述のアプリケーションを全てストア候補として選択したか否かを判断する（Ｓ３３０７）。上述と同様、未だＸＡＩＴ情報記述の全てのアプリケーションをストア候補として選択していない場合（Ｓ３３０７のＮＯ）、ストアアプリ決定部２６０２は次のアプリケーションをストア候補として選択しストア処理を進め、既にＸＡＩＴ情報記述の全てのアプリケーションをストア候補として選択している場合（Ｓ３３０７のＹＥＳ）にはストア処理を終了する。【０１８３】  一方、ストア候補のアプリケーションをストアできなかった場合（Ｓ３３０６のＮＯ）、図３５Ｂに示すように、ストアアプリ決定部２６０２は、既にストアされているアプリケーションがあるか否かを判断する���Ｓ３３０８）。【０１８４】  既にストアされているアプリケーションがある場合には（Ｓ３３０８のＹＥＳ）、つまり、ＸＡＩＴ情報に記述されるアプリケーションをＭＥＰＧ２トランスポートストリームからストアする際に、既にストアされているアプリケーションがある為にストア領域２２０１の容量が不足する場合には、ストアアプリ決定部２６０２は、既にストアされたアプリケーションからストア優先度の低いものから順に１つを削除候補として選択する（Ｓ３３０９）。そして、ストアアプリ決定部２６０２は、ストア優先度比較部２６０１からの取得結果に基づいて、削除候補として選択したアプリケーションのストア優先度がストア候補として選択したアプリケーションのストア優先度よりも低いか否かを判定する（Ｓ３３１０）。【０１８５】  削除候補として選択したアプリケーションのストア優先度がストア候補として選択したアプリケーションのストア優先度よりも低い場合（Ｓ３３１０ＹＥＳ）、ストアアプリ決定部２６０２は、削除候補のアプリケーションをストア領域から削除することを決定する（Ｓ３３１１）。そして、ストアアプリ決定部２６０２は、通知部２６０５に削除候補として選択したアプリケーションの削除通知を指示し、ストア削除部２６０４に、削除候補として選択したアプリケーションをストア領域２２０１から削除するように指示し、ストア部２６０３に、ストア候補として選択したアプリケーションのストアを指示する。そして、通知部２６０５は、ストアアプリ決定部２６０２の決定結果に従い、ユーザにアプリケーションが削除されることを通知し（Ｓ３３１２）、ストア削除部２６０４は、ストアアプリ決定部２６０２の決定結果に従い、アプリケーションをストア領域２２０１から削除する（Ｓ３３１３）。図３５Ａに示すように、ストア部２６０３は、ストアアプリ決定部２６０２の決定結果に従い、アプリケーションをストアする（Ｓ３３０５）。そして、ストア候補として選択したアプリケーションをストアできた場合には（Ｓ３３０６のＹＥＳ）、ストアアプリ決定部２６０２は、上述と同様、ＸＡＩＴ情報に記述のアプリケーションを全てストア候補として選択したか否かを判断する（Ｓ３３０７）。未だＸＡＩＴ情報記述の全てのアプリケーションをストア候補として選択していない場合には（Ｓ３３０７のＮＯ）、ストアアプリ決定部２６０２は次のアプリケーションをストア候補として選択しストア処理を進め、既にＸＡＩＴ情報記述の全てのアプリケーションをストア候補として選択している場合（Ｓ３３０７のＹＥＳ）にはストア処理を終了する。一方、ストア候補として選択したアプリケーションをストアできなかった場合にはストアアプリ決定部２６０２は次のアプリケーションを削除候補として選択しストア処理を進める。【０１８６】  一方、削除候補として選択したアプリケーションのストア優先度がストア候補として選択したアプリケーションのストア優先度よりも高い場合（Ｓ３３１０のＮＯ）、ストア候補として選択されたアプリケーションをストアするストア領域を確保することができない。そのため、ストアアプリ決定部２６０２は、図３５Ａに示すように、ＸＡＩＴ情報記述のアプリケーションを全てストア候補とし���選択したか否かを判断し（Ｓ３３０７）、未だＸＡＩＴ情報記述の全てのアプリケーションをストア候補として選択していない場合には（Ｓ３３０７のＮＯ）、ストアアプリ決定部２６０２は次のアプリケーションをストア候補として選択しストア処理を進め、既にＸＡＩＴ情報記述の全てのアプリケーションをストア候補として選択している場合（Ｓ３３０７のＹＥＳ）にはストア処理を終了する。【０１８７】  一方、既にストアされているアプリケーションがあるか否かの判断（Ｓ３３０８）において、既にストアされているアプリケーションがない場合には（Ｓ３３０８のＮＯ）、つまり、ＸＡＩＴ情報に記述されるアプリケーションをＭＥＰＧ２トランスポートストリームからストア領域２２０１にストアする際に、ストア領域２２０１の容量が不足するが、既にストアされているアプリケーションがない場合には、ストア候補として選択されたアプリケーションをストアするストア領域を確保することができない。そこで、図３５Ａに示すように、ストアアプリ決定部２６０２は、ＸＡＩＴ情報に記述のアプリケーションを全て選択したか否かを判断する（Ｓ３３０７）。その結果、未だＸＡＩＴ情報記述の全てのアプリケーションをストア候補として選択していない場合には（Ｓ３３０７のＮＯ）、ストアアプリ決定部２６０２は次のアプリケーションをストア候補として選択しストア処理を進め、既にＸＡＩＴ情報記述の全てのアプリケーションをストア候補として選択している場合（Ｓ３３０７のＹＥＳ）にはストア処理を終了する。【０１８８】  また、本実施の形態において、複数のアプリケーションのストア優先度が同じ場合には、ＡＭ１２０５ｂは、ユーザへの問合せなど、その他の判断材料により、ストア領域２２０１から削除するアプリケーションのセットを決定してもよい。【０１８９】  また、本実施の形態において、ＡＭ１２０５ｂによるＸＡＩＴ情報の受け取りは、端末装置５００の電源投入時または、ＸＡＩＴ情報が更新された時に行う。つまり、本実施の形態において、ＡＭ１２０５ｂによるＸＡＩＴ情報の受け取りは、端末装置５００の電源投入時におけるＡＭ１２０５ｂによるＸＡＩＴ情報の受け取りと、端末装置５００が起動後にＸＡＩＴ情報が更新された時における、ＡＭ１２０５ｂによるＸＡＩＴ情報の受け取りを対象としている。しかし、ＸＡＩＴ情報の更新は、ヘッドエンド１０１から送信されるＸＡＩＴ情報そのものの更新だけでなく、ＡＭ１２０５ｂやアプリケーションによるＸＡＩＴ情報の更新等、他の方法であっても本発明は実施可能である。【０１９０】  ここで、このような、アプリケーションによるＸＡＩＴ情報の更新は、ＡＭ１２０５ｂが特別な権限をもつアプリケーションに対して、ＸＡＩＴ情報の更新を行うためのＡＰＩを用意することにより実現する。ＸＡＩＴ情報の更新を行うためのＡＰＩには、特別な権限をもつアプリケーションが新規に作成したＸＡＩＴ情報を登録可能とするものや、既にＡＭ１２０５ｂが１次記憶または２次記憶に保存しているＸＡＩＴ情報を修正可能とするもの等がある。【０１９１】  図３６は、ストアするアプリケーションの選択をユーザへ促すメッセージの一例を示す図である。ＸＡＩＴ情報の更新を行うためのＡＰＩを提供された特別な権限を持つアプリケーションが、端末装置５００のＣＰＵ５１４に表示したい情報を送ることにより、ＯＳ１２０１のライブラリ１２０１ｂに含まれるダイアログ表示プログラムが上記メッセージをディスプレイ５０９に表示する。ダイアログボックス３４３０内の列３４０１は各アプリケーションのアプリケーション名である。行３４１１と行３４１２と行３４１３は、アプリケーションの情報の一覧である。ユーザが、行３４１１が示すアプリケーションを選択すると、特別な権限を持つアプリケーションは、ＸＡＩＴ情報の更新を行うためのＡＰＩを用いて、ＡＭ１２０５ｂに対し、行３４１１が示すアプリケーションをストアさせるようにＸＡＩＴ情報の更新を指示する。ここで、行３４１１が示すアプリケーションの選択は、例えば、図３６に示すように、フォーカス３４２０が行３４１１の示すアプリケーションのアプリケーション名「誕生日アプリ」上にあるときに、ユーザがリモコンに割り当てられたＯＫキーを押下することにより実現される。【０１９２】  特別な権限をもつアプリケーションがＸＡＩＴ情報の更新を行うためのＡＰＩを呼び出すと、ＡＭ１２０５ｂは特別な権限をもつアプリケーションからの指示に従いＸＡＩＴ情報を生成または修正し１次記憶または２次記憶に保存する。このようなＸＡＩＴ情報の更新を行うためのＡＰＩは公知の技術にて実現されている。例えば、ＸＡＩＴ情報を登録するＡＰＩは、ＯＣＡＰ仕様（ＯＣＡＰ  １．０  Ｐｒｏｆｉｌｅ  ＯＣ−ＳＰ−ＯＣＡＰ１．０−ＩＦ−Ｉ０９−０３１１２１）のＡｎｎｅｘＧ  ＯＣＡＰ  １．０  Ａｐｐｌｉｃａｔｉｏｎ  ＡＰＩにおいて、ｏｒｇ．ｏｃａｐ．ａｐｐｌｉｃａｔｉｏｎ．ＡｐｐＭａｎａｇｅｒＰｒｏｘｙクラスのｒｅｇｉｓｔｅｒＵｎｂｏｕｎｄＡｐｐメソッドとして定義されている。特別な権限をもつアプリケーションがＸＡＩＴ情報を登録するＡＰＩを用いて、新規のＸＡＩＴ情報を登録（特別な権限をもつアプリケーションが新規に作成したＸＡＩＴ情報の登録）を行った際には、ＡＭ１２０５ｂは、その特別な権限をもつアプリケーションにより登録されたＸＡＩＴ情報を、ＸＡＩＴ情報の更新として受け取る。【０１９３】  このように、実施の形態１では、ストア優先度を用いることにより、常に、ストア優先度の高いアプリケーションを優先的にストアすることが出来る。さらに、アプリケーションがストア領域２２０１から削除される場合には、ユーザにアプリケーションが削除されることをユーザに通知することにより、ユーザは、既にストアされていたアプリケーションの削除に起因する、ＸＡＩＴ情報の取得からアプリケーション起動までの時間が遅くなる等のアプリケーションの挙動変化を前もって知ることができる。その結果、ユーザは安心して端末装置５００を利用することができる。【０１９４】  （実施の形態２）
実施の形態１では、ストアアプリ決定部２６０２が、既にストアされていたアプリケーションをストア領域２２０１から削除すると決定した場合、通知部２６０５は、ユーザにアプリケーションが削除されることを通知する。しかし、ユーザによる削除通知の確認の有無を判断せずに、アプリケーションのストア削除部２６０４は、アプリケーションをストア領域２２０１から削除してしまう。例えば、ユーザが、アプリケーションの削除通知に気づかなくても、アプリケーションがストア領域２２０１から削除される可能性がある。【０１９５】  そこで、本実施の形態においては、さらに、図３７に示すように、ＡＭ１２０５ｂはユーザからの応答を受け付ける応答受付部３５０１を備える。【０１９６】  図３７は、本実施の形態におけるＡＭ１２０５ｂの構成を示す構成図である。
本実施の形態において、通知部２６０５は、ストアアプリ決定部２６０２の指示に従い、ユーザにアプリケーションが削除されることを通知する。ここで、通知部２６０５によるユーザへのアプリケーション削除通知は、通知部２６０５が端末装置５００のＣＰＵ５１４に画面に表示したい削除通知情報を送り、ＯＳ１２０１のライブラリ１２０１ｂに含まれるダイアログ表示プログラムが、図３８に示すような削除通知をディスプレイ５０９に表示することにより実現される。【０１９７】  図３８は、本実施の形態におけるディスプレイ５０９に表示される削除通知の一例を示す図である。【０１９８】  ダイアログボックス３００１は、メッセージ３００２及びＯＫボタン３７０１の表示要素をもつ。なお、ユーザにアプリケーションの削除を通知する為に必要な情報を提供できる方法であれば、図３８中の文字列に限定されず他の文字列であってもよく、また、メッセージ３００２の形式は文字列に限定されず他の形式であってもよい。また、ＯＫボタン３７０１の文字列は、図３８中の文字列に限定されず他の文字列であってもよい。また更に、ダイアログボックス３００１の表示要素は、図３８の表示要素に限定されず、ユーザにアプリケーション２０１１の削除を通知し、ユーザが削除通知の確認を選択したことをＣＰＵ５１４が認識できるものであれば、他の表示要素であってもよい。【０１９９】  応答受付部３５０１は、ＣＰＵ５１４から、ユーザの上記ＯＫボタン３７０１の選択等による削除通知の確認時におけるユーザからの選択情報を受付け、ＣＰＵ５１４から選択情報を受付けた時に、ストアアプリ決定部２６０２に通知確認情報を通知する。【０２００】  さらに、本実施の形態において、ストアアプリ決定部２６０２は、実施の形態１と同様の方法により、ストア領域２２０１にストアするアプリケーションと、ストア領域２２０１から削除するアプリケーションとのセットを決定し、既にストアされていたアプリケーションをストア領域２２０１からの削除すると決定した場合には、通知部２６０５への通知指示と、ストア部２６０３へのアプリケーションのストア指示と、ストア削除部２６０４へのアプリケーション削除指示を行う。但し、本実施の形態において、ストアアプリ決定部２６０２は、応答受付部３５０１からの通知確認情報の通知を受けて初めて、ストア削除部２６０４へアプリケーションの削除指示を行い、ストア部２６０３へアプリケーションのストア指示を行う。これにより、アプリケーションのストア削除部２６０４がアプリケーションをストア領域２２０１から削除する前に、通知部２６０５によりユーザにアプリケーションの削除通知がされることを実現する。【０２０１】  図３９は、本実施の形態における、ＸＡＩＴ情報を受け取ったＡＭ１２０５ｂによる、アプリケーションのストア処理の特徴的な動作の一例を示すフローチャートである。この図３９は、図２９に示すステップＳ２７０５からの処理を示すものであって、特に、ＸＡＩＴ情報に記述されるアプリケーションをＭＥＰＧ２トランスポートストリームからストア領域２２０１にストアする際に、ストア領域２２０１の容量が不足する場合における、ＡＭ１２０５ｂによるストア処理動作の一例を示��。【０２０２】  図３９において、図３０と同じステップには、図３０と同じ番号を付した。
図２９に示すように、ＡＭ１２０５ｂがＸＡＩＴ情報を受け取ると（Ｓ２７０１）、ＸＡＩＴ情報に記述されたアプリケーションからストア優先度の高いものから順にまだ選ばれていないアプリケーションを１つ選択する。但しここで、受け取ったＸＡＩＴ情報に従ったストア処理において、ストア削除部２６０４がストア領域２２０１から既に削除したアプリケーションを除くアプリケーションを１つ選択する（Ｓ２７０２）。そして、ＡＭ１２０５ｂは、選択したアプリケーションがストアされているか否かを判断する（Ｓ２７０３）。【０２０３】  選択したアプリケーションがストアされている場合（Ｓ２７０３のＹＥＳ）、ＡＭ１２０５ｂは、ＸＡＩＴ情報に記述のアプリケーションを全て選択したか否かを判断し（Ｓ２７０７）する。ここで、未だＸＡＩＴ情報に記述の全てのアプリケーションを選択していない場合（Ｓ２７０７のＮＯ）、ＡＭ１２０５ｂは次のアプリケーションを選択しストア処理を進める。既にＸＡＩＴ情報に記述の全てのアプリケーションを選択している場合には（Ｓ２７０７のＹＥＳ）、ＡＭ１２０５ｂは、ストア処理を終了する。【０２０４】  一方、選択したアプリケーションがストアされていない場合（Ｓ２７０３のＮＯ）、ストアアプリ決定部２６０２は、ストア領域残容量取得部２６０６からストア領域の残容量を取得し、アプリケーション容量取得部２６０７からアプリケーション容量を取得する（Ｓ２７０４）。そして、ストア領域残容量取得部２６０６から取得したストア領域の残容量とアプリケーション容量取得部２６０７から取得したアプリケーション容量に基づき、ストアアプリ決定部２６０２は、ストア領域の残容量が選択したアプリケーションの容量より大きいか否かを判断する（Ｓ２７０５）。【０２０５】  ストア領域の残容量が選択したアプリケーションの容量より大きいと判断した場合（Ｓ２７０５のＹＥＳ）、ストア部２６０３は選択したアプリケーションをストアする（Ｓ２７０６）。そして、ＡＭ１２０５ｂは、ＸＡＩＴ情報に記述のアプリケーションを全て選択したか否かを判断し（Ｓ２７０７）、未だＸＡＩＴ情報に記述の全てのアプリケーションを選択していない場合、ＡＭ１２０５ｂは次のアプリケーションを選択しストア処理を進め、既にＸＡＩＴ情報に記述の全てのアプリケーションを選択している場合にはストア処理を終了する。【０２０６】  一方、ストアアプリ決定部２６０２がストア領域の残容量が選択したアプリケーションの容量より小さいと判断した場合（Ｓ２７０５のＹＥＳ）、図３９に示すように、ＡＭ１２０５ｂは、既にストアされているアプリケーションがあるか否かを判断する（Ｓ２８０１）。【０２０７】  既にストアされているアプリケーションがある場合には（Ｓ２８０１のＹＥＳ）、つまり、ＸＡＩＴ情報に記述されるアプリケーションをＭＥＰＧ２トランスポートストリームからストアする際に、既にストアされているアプリケーションがある為にストア領域２２０１の容量が不足する場合には、ストアアプリ決定部２６０２は、ストア優先度比較部２６０１から個々のアプリケーションに指定されたストア優先度２００６の比較結果を取得する（Ｓ２８０２）。その比較結果に基づいて、ストアアプリ��定部２６０２は、ストアするアプリケーションと、ストア領域２２０１から削除するアプリケーションとのセットを決定する（Ｓ２８０３）。ここで、ストアアプリ決定部２６０２は、既にストアされているアプリケーションの中で、選択したアプリケーションのストア優先度よりもストア優先度の低いアプリケーションがある場合には、ストア領域の残容量が選択したアプリケーションの容量以上になるように、それらの既にストアされているアプリケーションを、ストア領域から削除することを決定し、選択したアプリケーションをストアすることを決定する。但し、それらの既にストアされているアプリケーションをストア領域から削除してもストア領域の残容量が選択したアプリケーションの容量以上にならない場合には、ストアアプリ決定部２６０２は、それらの既にストアされているアプリケーションはストア領域から削除せず、選択したアプリケーションをストアしないことを決定する。続いて、ストアアプリ決定部２６０２は、ストアアプリ決定部２６０２が、既にストアされていたアプリケーションをストア領域２２０１から削除すると決定したか削除しないことを決定したかを判定する（Ｓ２８０４）。【０２０８】  ストアアプリ決定部２６０２が、既にストアされていたアプリケーションをストア領域２２０１から削除すると決定した場合（Ｓ２８０４のＹＥＳ）、ストアアプリ決定部２６０２は、通知部２６０５に削除通知を指示する。そして、通知部２６０５は、ストアアプリ決定部２６０２の決定結果に従い、ユーザにアプリケーションが削除されることを通知する（Ｓ３６０１）。ここで、通知部２６０５によるユーザへのアプリケーション削除通知は、通知部２６０５が端末装置５００のＣＰＵ５１４に画面に表示したい削除通知情報を送り、ＯＳ１２０１のライブラリ１２０１ｂに含まれるダイアログ表示プログラムが、図３８に示すような削除通知をディスプレイ５０９に表示することにより実現される。ダイアログボックス３００１は、メッセージ３００２及びＯＫボタン３７０１の表示要素をもつ。ユーザがＯＫボタン３７０１をリモコン操作等により選択すると、ＣＰＵ５１４はＡＭ１２０５ｂの応答受付部３５０１にユーザからの選択情報を送る。応答受付部３５０１はユーザからの選択情報を受けると、ストアアプリ決定部２６０２に通知確認情報を通知する（Ｓ３６０２）。ストアアプリ決定部２６０２は、応答受付部３５０１から通知確認情報の通知を受けると、ストア削除部２６０４に、アプリケーションをストア領域２２０１から削除するように指示し、ストア部２６０３に、アプリケーションのストアを指示する。即ち、応答受付部３５０１は、ユーザの選択情報を受けると、その選択情報をストアアプリ決定部２６０２を介してストア削除部２６０４及びストア部２６０３に通知する。そして、ストア削除部２６０４は、ストアアプリ決定部２６０２の決定結果に従い、アプリケーションをストア領域２２０１から削除し（Ｓ２８０６）、ストア部２６０３は、ストアアプリ決定部２６０２の決定結果に従い、アプリケーションをストアする（Ｓ２７０６）。そして、ＡＭ１２０５ｂは、ＸＡＩＴ情報に記述のアプリケーションを全て選択したか否かを判断する（Ｓ２７０７）。そして、ＡＭ１２０５ｂは、上述と同様、未だＸＡＩＴ情報に記述の全てのアプリケーションを選択していない場合、ＡＭ１２０５ｂは次のアプリケーションを選択しストア処理を進め、既にＸＡＩＴ情報に記述の全てのアプリケーションを選択している場合にはストア処理を終了する。【０２０９】  一方、ストアアプリ決定部２６０２が、既にストアされていたアプリケーションをストア領域２２０１から削除しないことを決定した場合（Ｓ２８０４のＮＯ）、選択されたアプリケーションをストアするストア領域を確保することができない。そこで、ＡＭ１２０５ｂは、ＸＡＩＴ情報に記述のアプリケーションを全て選択したか否かを判断し（Ｓ２７０７）、未だＸＡＩＴ情報に記述の全てのアプリケーションを選択していない場合、ＡＭ１２０５ｂは次のアプリケーションを選択しストア処理を進め、既にＸＡＩＴ情報に記述の全てのアプリケーションを選択している場合にはストア処理を終了する。【０２１０】  一方、既にストアされているアプリケーションがない場合には（Ｓ２８０１のＮＯ）、つまり、ＸＡＩＴ情報に記述されるアプリケーションをＭＥＰＧ２トランスポートストリームからストア領域２２０１にストアする際に、ストア領域２２０１の容量が不足するが、既にストアされているアプリケーションがない場合には、選択されたアプリケーションをストアするストア領域を確保することができない。そこで、ＡＭ１２０５ｂは、ＸＡＩＴ情報に記述のアプリケーションを全て選択したか否かを判断し（Ｓ２７０７）、未だＸＡＩＴ情報に記述の全てのアプリケーションを選択していない場合、ＡＭ１２０５ｂは次のアプリケーションを選択しストア処理を進め、既にＸＡＩＴ情報に記述の全てのアプリケーションを選択している場合にはストア処理を終了する。【０２１１】  なお、ＸＡＩＴ情報に記述されるアプリケーションをＭＥＰＧ２トランスポートストリームからストア領域２２０１にストアする際に、ストア領域２２０１の容量が不足するが、既にストアされているアプリケーションがない場合には、選択されたアプリケーションをストアするストア領域を確保することができないので、ＡＭ１２０５ｂは選択したアプリケーションをストアせずにストア処理を終了してもよい。【０２１２】  ここで、既にストアされているアプリケーションがＸＡＩＴ情報に記述されていない場合、ストア優先度比較部２６０１は、そのアプリケーションのストア優先度は最低値であるとみなすとした。このような場合、ストアアプリ決定部２６０２は、そのアプリケーションのストア領域２２０１からの削除を無条件に決定する等の方法を取ってもよい。【０２１３】  なお、応答受付部３５０１にタイムアウト時間をユーザが設定可能とし、応答受付部３５０１がそのタイムアウト時間の間にユーザからの応答がなかった場合には、ストア削除部２６０４は、ユーザによりアプリケーション削除通知が確認されてＯＫボタン３７０１が選択されものとみなし、ストア領域２２０１からアプリケーションを削除するなどとしても良い。【０２１４】  このように、実施の形態２により、アプリケーションがストア領域２２０１から削除される場合には、ユーザにアプリケーションが削除されることを通知し、ユーザの確認が得られた後に、アプリケーションをストア領域２２０１から削除することにより、ユーザは、既にストアされていたアプリケーションの削除に起因する、ＸＡＩＴ情報の取得からアプリケーション起動までの時間が遅くなる等のアプリケーションの挙動変化を、より確実に、前もって知ることができる。【０２１５】  （実施の形態３）
実施の形態２では、ストアアプリ決定部２６０２が、既にストアされていたアプリケーションをストア領域２２０１から削除すると決定した場合、通知部２６０５は、ユーザにアプリケーションが削除されることを通知し、応答受付部３５０１がユーザの通知確認情報を受ける。その後に、ストア削除部２６０４は、ストアアプリ決定部２６０２の決定に従い、アプリケーションをストア領域２２０１から削除する。しかし、このような実施の形態２では、ユーザは、アプリケーションのストア領域２２０１からの削除を拒絶することができない。例えば、ユーザが、あるアプリケーションをストア領域２２０１から削除したくない場合でも、ストア領域２２０１から削除されてしまう可能性がある。【０２１６】  そこで、本実施の形態においては、さらに、ＡＭ１２０５ｂのストアアプリ決定部２６０２は、ユーザからの応答受付部３５０１が受付けたユーザからの応答情報に従い、その決定結果を変更できる。【０２１７】  本実施の形態において、通知部２６０５は、ストアアプリ決定部２６０２が既にストアされていたアプリケーションをストア領域２２０１から削除すると決定した場合において、ストア削除部２６０４がアプリケーションをストア領域２２０１から削除する前に、ユーザにアプリケーションを削除してもよいか確認する。ここで、通知部２６０５によるユーザへのアプリケーション削除通知は、通知部２６０５が端末装置５００のＣＰＵ５１４に画面に表示したい削除通知情報を送り、ＯＳ１２０１のライブラリ１２０１ｂに含まれるダイアログ表示プログラムが、図４０に示すような削除通知をディスプレイ５０９に表示することにより実現される。【０２１８】  図４０は、本実施の形態におけるディスプレイ５０９が表示する削除通知の一例を示す図である。【０２１９】  ダイアログボックス３００１は、メッセージ４００１とＹｅｓボタン４００２とＮｏボタン４００３の表示要素をもつ。なお、メッセージ４００１の文字列は、ユーザにアプリケーションの削除を通知する為に必要な情報を提供できる方法であれば、図４０中の文字列に限定されず他の文字列であってもよく、また、メッセージ４００１の形式は文字列に限定されず他の形式であってもよい。また、Ｙｅｓボタン４００２及びＮｏボタン４００３の文字列は、図４０中の文字列に限定されず他の文字列であってもよい。また更に、ダイアログボックス３００１の表示要素は、図４０の表示要素に限定されず、ユーザにアプリケーションの削除を通知し、ユーザが削除通知の許可または拒否を選択したことをＣＰＵ５１４が認識できるものであれば、他の表示要素であってもよい。【０２２０】  また、本実施の形態において、応答受付部３５０１は、ＣＰＵ５１４から、ユーザが上記Ｙｅｓボタン４００２または上記Ｎｏボタン４００３の選択によりアプリケーションの削除を許可または拒否した時におけるユーザからの選択情報を受付ける。そして、応答受付部３５０１は、ＣＰＵから選択情報を受付けた時に、その選択情報が、アプリケーションの削除の許可を示すものか、アプリケーションの削除の拒否を示すものかを判定する。アプリケーションの削除の許可を示す場合には、応答受付部３５０１は、ストアアプリ決��部２６０２に通知確認情報を通知し、アプリケーションの削除の拒否を示す場合には、ストアアプリ決定部２６０２に通知拒否情報を通知する。【０２２１】  さらに、本実施の形態において、ストアアプリ決定部２６０２は、実施の形態１と同様の方法により、ストア領域２２０１にストアするアプリケーションと、ストア領域２２０１から削除するアプリケーションとのセットを決定する。そして、既にストアされていたアプリケーションをストア領域２２０１から削除すると決定した場合には、ストアアプリ決定部２６０２は、通知部２６０５への通知指示と、ストア部２６０３へのアプリケーションのストア指示と、ストア削除部２６０４へのアプリケーション削除指示を行う。但し、本実施の形態において、ユーザがアプリケーション削除を許可した場合には、ストアアプリ決定部２６０２は、応答受付部３５０１から通知確認情報の通知を受けて初めて、ストア部２６０３へアプリケーションの削除指示を行い、ストア削除部２６０４へアプリケーションの削除指示を行う。一方、ユーザがアプリケーションの削除を許可しない場合には、ストアアプリ決定部２６０２は、応答受付部３５０１から通知拒否情報の通知を受けると、ストア領域２２０１から削除するアプリケーションと、ストアするアプリケーションとのセットの決定を変更する。【０２２２】  ここで、決定の変更は例えば、ストアアプリ決定部２６０２は、ストア優先度の次に低いアプリケーションをストア領域２２０１から削除することを決定する等の方法により実現される。なお、ユーザがストア領域からの削除を拒否したアプリケーションを削除しないことが実現できれば、他の方法であってもよい。【０２２３】  そして、この決定の変更後に初めて、その変更した決定結果に従わせるように、ストアアプリ決定部２６０２は、ストア部２６０３へアプリケーションのストア指示を行い、アプリケーションのストア削除部２６０４へアプリケーションの削除指示を行う。【０２２４】  図４１及び図４２は、本実施の形態における、ＸＡＩＴ情報を受け取ったＡＭ１２０５ｂによる、アプリケーションのストア処理の特徴的な動作の一例を示すフローチャートである。これらの図４１及び図４２は、図２９に示すステップＳ２７０５からの処理を示すものであって、特に、ＸＡＩＴ情報に記述されるアプリケーションをＭＥＰＧ２トランスポートストリームからストア領域２２０１にストアする際に、ストア領域２２０１の容量が不足する場合における、ＡＭ１２０５ｂによるストア処理動作の一例を示す。【０２２５】  図４１において、図３０と同じステップには、図３０と同じ番号を付した。
図２９に示すように、ＡＭ１２０５ｂがＸＡＩＴ情報を受け取ると（Ｓ２７０１）、ＸＡＩＴ情報に記述されたアプリケーションからストア優先度の高いものから順にまだ選ばれていないアプリケーションを１つ選択する。但しここで、受け取ったＸＡＩＴ情報に従ったストア処理において、ストア削除部２６０４がストア領域２２０１から既に削除したアプリケーションを除くアプリケーションを１つ選択する（Ｓ２７０２）。そして、ＡＭ１２０５ｂは、選択したアプリケーションがストアされているか否かを判断する（Ｓ２７０３）。【０２２６】  選択したアプリケーションがストアされている場合（Ｓ２７０３のＹＥＳ）、ＡＭ１２０５ｂは、ＸＡＩＴ情報に記述のアプリケーションを全て選択したか否かを判断（Ｓ２７０７）する。ここで、未だＸＡＩＴ情報に記述の全てのアプリケーションを選択していない場合（Ｓ２７０７のＮＯ）、ＡＭ１２０５ｂは次のアプリケーションを選択しストア処理を進める。既にＸＡＩＴ情報に記述の全てのアプリケーションを選択している場合には（Ｓ２７０７のＹＥＳ）、ＡＭ１２０５ｂは、ストア処理を終了する。【０２２７】  一方、選択したアプリケーションがストアされていない場合（Ｓ２７０３のＮＯ）、ストアアプリ決定部２６０２は、ストア領域残容量取得部２６０６からストア領域の残容量を取得し、アプリケーション容量取得部２６０７からアプリケーション容量を取得する（Ｓ２７０４）。そして、ストア領域残容量取得部２６０６から取得したストア領域の残容量とアプリケーション容量取得部２６０７から取得したアプリケーション容量に基づき、ストアアプリ決定部２６０２は、ストア領域の残容量が選択したアプリケーションの容量より大きいか否かを判断する（Ｓ２７０５）。【０２２８】  ストア領域の残容量が選択したアプリケーションの容量より大きいと判断した場合（Ｓ２７０５のＹＥＳ）、ストア部２６０３は選択したアプリケーションをストアする（Ｓ２７０６）。そして、ＡＭ１２０５ｂは、ＸＡＩＴ情報に記述のアプリケーションを全て選択したか否かを判断し（Ｓ２７０７）、未だＸＡＩＴ情報に記述の全てのアプリケーションを選択していない場合、ＡＭ１２０５ｂは次のアプリケーションを選択しストア処理を進め、既にＸＡＩＴ情報に記述の全てのアプリケーションを選択している場合にはストア処理を終了する。【０２２９】  一方、ストアアプリ決定部２６０２がストア領域の残容量が選択したアプリケーションの容量より小さいと判断した場合（Ｓ２７０５のＹＥＳ）、図４１に示すように、ＡＭ１２０５ｂは、既にストアされているアプリケーションがあるか否かを判断する（Ｓ２８０１）。【０２３０】  既にストアされているアプリケーションがある場合には（Ｓ２８０１のＹＥＳ）、つまり、ＸＡＩＴ情報に記述されるアプリケーションをＭＥＰＧ２トランスポートストリームからストアする際に、既にストアされているアプリケーションがある為にストア領域２２０１の容量が不足する場合には、ストアアプリ決定部２６０２は、ストア優先度比較部２６０１から個々のアプリケーションに指定されたストア優先度２００６の比較結果を取得する（Ｓ２８０２）。その比較結果に基づいて、ストアアプリ決��部２６０２は、ストアするアプリケーションと、ストア領域２２０１から削除するアプリケーションとのセットを決定する（Ｓ２８０３）。ここで、ストアアプリ決定部２６０２は、既にストアされているアプリケーションの中で、選択したアプリケーションのストア優先度よりもストア優先度の低いアプリケーションがある場合には、ストア領域の残容量が選択したアプリケーションの容量以上になるように、それらの既にストアされているアプリケーションを、ストア領域から削除することを決定し、選択したアプリケーションをストアすることを決定する。但し、それらの既にストアされているアプリケーションをストア領域から削除してもストア領域の残容量が選択したアプリケーションの容量以上にならない場合には、ストアアプリ決定部２６０２は、それらの既にストアされているアプリケーションはストア領域から削除せず、選択したアプリケーションをストアしないことを決定する。続いて、ストアアプリ決定部２６０２は、ストアアプリ決定部２６０２が、既にストアされていたアプリケーションをストア領域２２０１から削除すると決定したか削除しないことを決定したかを判定する（Ｓ２８０４）。【０２３１】  ストアアプリ決定部２６０２が、既にストアされていたアプリケーションをストア領域２２０１から削除すると決定した場合（Ｓ２８０４のＹＥＳ）、ストアアプリ決定部２６０２は、通知部２６０５に削除通知を指示する。そして、通知部２６０５は、ユーザにアプリケーションを削除してもよいか確認する（Ｓ３８０１）。ここで、通知部２６０５によるユーザへのアプリケーション削除通知は、通知部２６０５が端末装置５００のＣＰＵ５１４に画面に表示したい削除通知情報を送り、ＯＳ１２０１のライブラリ１２０１ｂに含まれるダイアログ表示プログラムが、図４０に示すような削除通知をディスプレイ５０９に表示することにより実現される。ダイアログボックス３００１は、メッセージ４００１とＹｅｓボタン４００２とＮｏボタン４００３の表示要素をもつ。【０２３２】  ユーザがＹｅｓボタン４００２またはＮｏボタン４００３をリモコン操作等により選択すると、ＣＰＵ５１４はＡＭ１２０５ｂの応答受付部３５０１にユーザからの選択情報を送る。【０２３３】  応答受付部３５０１は、ＣＰＵ５１４からユーザの選択情報を受け取ると、ユーザの選択情報が、アプリケーションの削除の許可を示すものか、アプリケーションの削除の拒否を示すものかを判定する（Ｓ３８０２）。【０２３４】  ユーザの選択情報が、アプリケーションの削除の許可を示す場合、応答受付部３５０１は、ストアアプリ決定部２６０２に通知確認情報を通知する（Ｓ３８０３）。ストアアプリ決定部２６０２は、応答受付部３５０１から通知確認情報の通知を受けると、ストア削除部２６０４に、アプリケーションをストア領域２２０１から削除するように指示し、ストア部２６０３に、アプリケーションのストアを指示する。そして、ストア削除部２６０４は、ストアアプリ決定部２６０２の決定結果に従い、アプリケーションをストア領域２２０１から削除し（Ｓ２８０６）、ストア部２６０３は、図２９に示すように、ストアアプリ決定部２６０２の決定結果に従い、アプリケーションをストアする（Ｓ２７０６）。そして、ＡＭ１２０５ｂは、ＸＡＩＴ情報に記述のアプリケーションを全て選択したか否かを判断し（Ｓ２７０７）、未だＸＡＩＴ情報に記述の全てのアプリケーションを選択していない場合（Ｓ２７０７のＮＯ）、ＡＭ１２０５ｂは次のアプリケーションを選択しストア処理を進め、既にＸＡＩＴ情報記述の全てのアプリケーションを選択している場合（Ｓ２７０７のＹＥＳ）にはストア処理を終了する。【０２３５】  一方、ユーザの選択情報が、アプリケーションの削除の拒否を示す場合（Ｓ３８０２のＮＯ）、図４２に示すように、応答受付部３５０１は、ストアアプリ決定部２６０２に通知拒否情報を通知する（Ｓ３９０１）。ストアアプリ決定部２６０２は、応答受付部３５０１から通知拒否情報の通知を受けると、ストア領域２２０１から削除するアプリケーションと、ストアするアプリケーションとのセットの決定を変更する（Ｓ３９０２）。ここでは、ストアアプリ決定部２６０２は、ストア優先度の次に低いアプリケーションをストア領域２２０１から削除することを決定する。但し、削除するアプリケーションのストア優先度は、ストアするアプリケーションのストア優先度よりも低くなるように決定する。ストアするアプリケーションのストア優先度よりも低いストア優先度をもつアプリケーションがストア領域２２０１に存在しない場合には、アプリケーションをストア領域２２０１から削除しないと決定する。【０２３６】  続いて、ストアアプリ決定部２６０２は、ストアアプリ決定部２６０２が、既にストアされていたアプリケーションをストア領域２２０１から削除すると決定したか否かを判定する（Ｓ３９０３）。ストアアプリ決定部２６０２が、既にストアされていたアプリケーションをストア領域２２０１からの削除すると決定した場合には（Ｓ３９０３のＹＥＳ）、ストアアプリ決定部２６０２は、再度、通知部２６０５に削除通知を指示する。そして、再度、通知部２６０５は、ユーザにアプリケーションを削除してもよいか確認して（Ｓ３８０１）、ストア処理を継続する。一方、ストアアプリ決定部２６０２が、既にストアされていたアプリケーションをストア領域２２０１から削除しないことを決定した場合（Ｓ３９０３のＮＯ）、選択されたアプリケーションをストアするストア領域を確保することができない。そこで、ＡＭ１２０５ｂは、ＸＡＩＴ情報に記述のアプリケーションを全て選択したか否かを判断し（Ｓ２７０７）、未だＸＡＩＴ情報に記述の全てのアプリケーションを選択していない場合には（Ｓ２７０７のＮＯ）、ＡＭ１２０５ｂは次のアプリケーションを選択しストア処理を進め、既にＸＡＩＴ情報記述の全てのアプリケーションを選択している場合（Ｓ２７０７のＹＥＳ）にはストア処理を終了する。【０２３７】  一方、ストアアプリ決定部２６０２が、既にストアされていたアプリケーションをストア領域２２０１から削除しないことを決定した場合には（Ｓ２８０４のＮＯ）、選択されたアプリケーションをストアするストア領域を確保することができない。そこで、ＡＭ１２０５ｂは、上述と同様、ＸＡＩＴ情報に記述のアプリケーションを全て選択したか否かを判断し（Ｓ２７０７）、未だＸＡＩＴ情報に記述の全てのアプリケーションを選択していない場合には、ＡＭ１２０５ｂは次のアプリケーションを選択しストア処理を進め、既にＸＡＩＴ情報に記述の全てのアプリケーションを選択している場合にはストア処理を終了する。【０２３８】  一方、既にストアされているアプリケーションがない場合には（Ｓ２８０１のＮＯ）、つまり、ＸＡＩＴ情報に記述されるアプリケーションをＭＥＰＧ２トランスポートストリームからストア領域２２０１にストアする際に、ストア領域２２０１の容量が不足するが、既にストアされているアプリケーションがない場合には、選択されたアプリケーションをストアするストア領域を確保することができない。そこで、ＡＭ１２０５ｂは、上述と同様、ＸＡＩＴ情報に記述のアプリケーションを全て選択したか否かを判断し（Ｓ２７０７）、未だＸＡＩＴ情報に記述の全てのアプリケーションを選択していない場合には、ＡＭ１２０５ｂは次のアプリケーションを選択しストア処理を進め、既にＸＡＩＴ情報に記述の全てのアプリケーションを選択している場合にはストア処理を終了する。【０２３９】  なお、ＸＡＩＴ情報に記述されるアプリケーションをＭＥＰＧ２トランスポートストリームからストア領域２２０１にストアする際に、ストア領域２２０１の容量が不足するが、既にストアされているアプリケーションがない場合には、選択されたアプリケーションをストアするストア領域を確保することができない。そこで、ＡＭ１２０５ｂは選択したアプリケーションをストアせずにストア処理を終了してもよい。【０２４０】  ここで、既にストアされているアプリケーションがＸＡＩＴ情報に記述されていない場合、ストア優先度比較部２６０１は、そのアプリケーションのストア優先度は最低値であるとみなすとした。このような場合、ストアアプリ決定部２６０２は、そのアプリケーションのストア領域２２０１からの削除を無条件に決定する等の方法を取ってもよい。【０２４１】  また、ここでは、応答受付部３５０１がユーザの通知拒否情報を受けると、ストアアプリ決定部２６０２は、ストア領域２２０１から削除するアプリケーションと、ストアするアプリケーションとのセットの決定を変更することにより、ユーザが削除を拒否したアプリケーションがストア領域２２０１から削除されないことを実現している。しかし、ＡＭ１２０５ｂがＸＡＩＴ情報を更新して、アプリケーションのストア優先度を変更することにより、ユーザが削除を拒否したアプリケーションがストア領域２２０１から削除されないことを実現してもよい。例えば、ユーザが削除を拒否したアプリケーションのストア優先度を最大値に再設定するなどの方法をとってもよい。【０２４２】  このように実施の形態３では、ユーザは、アプリケーションをストア領域２２０１から削除するとの確認を受けた際に、そのアプリケーションがストア領域２２０１からの削除されること拒否することができる。そして、ユーザが削除を拒否したアプリケーションはストア領域２２０１から削除しないことが実現できる。【０２４３】  （実施の形態４）
本実施の形態では、更に、ＡＭ１２０５ｂがヘッドエンド１０１から送信されるＸＡＩＴ情報の受け取り時に、そのＸＡＩＴ情報の保存、及び、アプリケーションのストア処理やアプリケーション起動指示などのＸＡＩＴ情報の記述に従う処理を行う前に、そのＸＡＩＴ情報を受け取って良いか否か、つまり、そのＸＡＩＴ情報の記述に従う処理を行って良いか否かの決定権を与えるＡＰＩを、特別な権限をもつアプリケーションに提供する。更に、本実施の形態では、ＸＡＩＴ情報に記述のストア優先度を変更するＡＰＩを、特別な権限をもつアプリケーションに提供する。【０２４４】  ここで、ヘッドエンド１０１から送信されるＸＡＩＴ情報の受け取り時に、そのＸＡＩＴ情報を受け取って良いか否かの決定権を与えるＡＰＩは公知の技術にて実現されている。ヘッドエンド１０１から送信されるＸＡＩＴ情報の受け取り時に、そのＸＡＩＴ情報を受け取って良いか否かの決定権を、特別な権限をもつアプリケーションに対して与えるＡＰＩは、ＯＣＡＰ仕様（ＯＣＡＰ  １．０  Ｐｒｏｆｉｌｅ  ＯＣ−ＳＰ−ＯＣＡＰ１．０−ＩＦ−Ｉ０９−０３１１２１）のＡｎｎｅｘＧ  ＯＣＡＰ  １．０  Ａｐｐｌｉｃａｔｉｏｎ  ＡＰＩにおいて、ｏｒｇ．ｏｃａｐ．ａｐｐｌｉｃａｔｉｏｎ．ＡｐｐＭａｎａｇｅｒＰｒｏｘｙクラスのｓｅｔＡｐｐＳｉｇｎａｌＨａｎｄｌｅｒメソッドとして定義されている。【０２４５】  以降、実施の形態１に記述したＸＡＩＴ情報を更新するＡＰＩや、ＸＡＩＴ情報に記述のストア優先度を変更するＡＰＩ、ヘッドエンド１０１から送信されるＸＡＩＴ情報の受け取り時に、そのＸＡＩＴ情報を受け取って良いか否かの決定権を与えるＡＰＩなどの、各ＡＰＩを区別するときには、それぞれを更新ＡＰＩ、変更ＡＰＩ、及び決定ＡＰＩという。そして、これらの各ＡＰＩを提供される特別な権限をもつアプリケーションを、モニターアプリケーションと呼ぶ。【０２４６】  本実施の形態において、ＸＡＩＴ情報に記述のストア優先度を変更するＡＰＩは、ヘッドエンド１０１から送信されるＸＡＩＴ情報に記述のアプリケーションのストア優先度をモニターアプリケーションが変更できるようにするためのＡＰＩである。【０２４７】  本実施の形態において、ＡＭ１２０５ｂは、モニターアプリケーションから、決定ＡＰＩを利用してＸＡＩＴ情報を受け取って良いか否かの決定権を与えるよう依頼を受けていた場合、ＡＭ１２０５ｂは、ヘッドエンド１０１から送信されるＸＡＩＴ情報の受け取り時に、モニターアプリケーションへ、そのＸＡＩＴ情報を受け取って良いか否かの決定を委ねる。【０２４８】  モニターアプリケーションは、そのＸＡＩＴ情報の受け取りを許可した場合には、ヘッドエンド１０１から送信された上記ＸＡＩＴ情報を受け取り、または、変更ＡＰＩを用いる場合には、その変更されたＸＡＩＴ情報を受け取る。そして、ＡＭ１２０５ｂは、実施の形態１または２いずれかに記述の方法により、そのＸＡＩＴ情報を受け取り、ＸＡＩＴ情報記述のアプリケーションのストア処理を行う。なおここで、モニターアプリケーションの判断のみに任せず、より厳重にストア優先度の重なりに対処するために実施の形態３に記述の処理を行っても良い。一方、モニターアプリケーションは、そのＸＡＩＴ情報の受け取りを拒否した場合には、ヘッドエンド１０１から送信された上記ＸＡＩＴ情報を無視する。【０２４９】  また、ＡＭ１２０５ｂは、モニターアプリケーションからＸＡＩＴ情報を受け取って良いか否かの決定権を与えるよう依頼を受けてない場合には、実施の形態１または２いずれかに記述の方法により、ＸＡＩＴ情報を受け取り、ＸＡＩＴ情報に記述のアプリケーションのストア処理を行う。なお、モニターアプリケーションの判断のみに任せず、より厳重にストア優先度の重なりに対処するために実施の形態３に記述の処理を行っても良い。【０２５０】  また、ＸＡＩＴ情報の受け取りが、更新ＡＰＩの利用によりモニターアプリケーションが行うＸＡＩＴ情報の更新や、変更ＡＰＩの利用によりモニターアプリケーションが行うＸＡＩＴ情報の変更、に起因する場合は、ＡＭ１２０５ｂは、モニターアプリケーションへ、そのＸＡＩＴ情報を受け取って良いか否かの決定を委ねず、実施の形態１または２いずれかに記述の方法により、ＸＡＩＴ情報を受け取り、ＸＡＩＴ情報記述のアプリケーションのストア処理を行う。【０２５１】  なお、モニターアプリケーションの判断のみに任せず、より厳重にストア優先度の重なりに対処するために実施の形態３に記述の処理を行っても良い。【０２５２】  本実施の形態において、モニターアプリケーションは、決定ＡＰＩを用いてヘッドエンド１０１から送信されるＸＡＩＴ情報を受け取るときには、ＡＭ１２０５ｂに対して、モニターアプリケーション自身へそのＸＡＩＴ情報を受け取って良いか否かの決定を委ねるよう依頼する。【０２５３】  モニターアプリケーションは、ＡＭ１２０５ｂからＸＡＩＴ情報を受け取って良いか否かの決定を委ねられると、実施の形態１〜２においてＡＭ１２０５ｂが行ったのと同様の動作を行う。即ち、モニターアプリケーションは、そのＸＡＩＴ情報に記述されたアプリケーション及び既にストアされているアプリケーションのうち、ストア優先度の高いアプリケーションを優先的にストアすることを決定し、ストア優先度の低いアプリケーションから順に、ストア領域２２０１から削除することを決定する。ここで、モニターアプリケーションは、ストア優先度を比較する手段、ストア領域の残容量を取得する手段、既にストアされているアプリケーション及びＸＡＩＴ情報に記述されているアプリケーションの容量を取得する手段をもつ。【０２５４】  そして、既にストアされていたアプリケーションをストア領域２２０１から削除すると決定した場合には、モニターアプリケーションは、ユーザにアプリケーション削除通知を表示する。ここで、モニターアプリケーションによるユーザへのアプリケーション削除通知は、実施の形態３における通知部２６０５によるユーザへのアプリケーション削除通知と同様の方法により実現される。モニターアプリケーションが端末装置５００のＣＰＵ５１４に画面に表示したい削除通知情報を送り、ＯＳ１２０１のライブラリ１２０１ｂに含まれるダイアログ表示プログラムが、図４０に示すような削除通知をディスプレイ５０９に表示することにより実現される。ダイアログボックス３００１は、メッセージ４００１と、Ｙｅｓボタン４００２と、Ｎｏボタン４００３の表示要素をもつ。なお、メッセージ４００１の文字列は、ユーザにアプリケーションの削除を通知する為に必要な情報を提供できる方法であれば、図４０中の文字列に限定されず他の文字列であってもよく、また、メッセージ４００１の形式は文字列に限定されず他の形式であってもよい。また、Ｙｅｓボタン４００２及びＮｏボタン４００３の文字列は、図４０中の文字列に限定されず他の文字列であってもよい。また更に、ダイアログボックス３００１の表示要素は、図４０の表示要素に限定されず、ユーザにアプリケーションの削除を通知し、ユーザが削除通知を許可または拒否を選択したことをＣＰＵ５１４が認識できるものであれば、他の表示要素であってもよい。【０２５５】  モニターアプリケーションは、ＣＰＵ５１４から、ユーザが上記Ｙｅｓボタン４００２または上記Ｎｏボタン４００３の選択によりアプリケーションの削除を許可または拒否した時におけるユーザからの選択情報を受付ける。そして、モニターアプリケーションは、ＣＰＵから選択情報を受付けた時に、その選択情報が、アプリケーションの削除の許可を示すものか、アプリケーションの削除の拒否を示すものかを判定する。そして、選択情報が、アプリケーションの削除の許可を示す場合には、ＡＭ１２０５ｂに対し、ＸＡＩＴ情報の受け取りを許可する。一方、選択情報がアプリケーションの削除の拒否を示す場合には、モニターアプリケーションが、変更ＡＰＩを用いて、ユーザが削除を拒否したアプリケーションのストア優先度を最大値に変更すること等により、ユーザが削除を拒否したアプリケーションがストア領域２２０１から削除されないことを実現する。なお、ＡＭ１２０５ｂに対し、ＸＡＩＴ情報の受け取りを拒否することにより、ユーザが削除を拒否したアプリケーションがストア領域２２０１から削除されないことを実現してもよい。【０２５６】  図４３は、本実施の形態における、ヘッドエンド１２０５ｂからＸＡＩＴ情報を受け取ったＡＭ１２０５ｂによるＸＡＩＴ情報の扱いの動作を示すフローチャートである。【０２５７】  図４３に示すように、ＡＭ１２０５ｂは、ヘッドエンド１０１からＸＡＩＴ情報を受け取ると（Ｓ４１０１）、モニターアプリケーションから、ＸＡＩＴ情報を受け取って良いか否かの決定ＡＰＩを用いた決定権を与えるよう依頼を受けているか否かを判断する（Ｓ４１０２）。モニターアプリケーションから、ＸＡＩＴ情報を受け取って良いか否かの決定権を与えるよう依頼を受けていた場合、モニターアプリケーションへ、そのＸＡＩＴ情報を受け取って良いか否かの決定を委ねる（Ｓ４１０３）。【０２５８】  図４４は、本実施の形態における、モニターアプリケーションの動作の一例を示すフローチャートである。特に、この動作の一例においては、モニターアプリケーションはＡＭ１２０５ｂに対し、ＸＡＩＴ情報を受け取って良いか否かの決定ＡＰＩを用いることによる決定権を与えるよう依頼しているものとする。【０２５９】  この図４４に示すように、ＡＭ１２０５ｂからＸＡＩＴ情報を受け取って良いか否かの決定を委ねられたモニターアプリケーションは（Ｓ４２０１）、そのＸＡＩＴ情報に記述されたアプリケーション及び��にストアされているアプリケーションのうち、ストア領域２２０１にストアするアプリケーションのセットと、ストア領域２２０１から削除するアプリケーションのセットとを決定する（Ｓ４２０２）。ここで、モニターアプリケーションによるストア領域２２０１にストアするアプリケーションのセットとストア領域２２０１から削除するアプリケーションのセットとの決定は、例えば、ストア優先度の高いアプリケーションを優先的にストアすることを決定し、ストア優先度の低いアプリケーションから順に、ストア領域２２０１から削除することを決定する等により実現される。なお、モニターアプリケーションは、その他の方法によりこれらアプリケーションのセットを決定してもよい。続いて、モニターアプリケーションは、モニターアプリケーションが既にストアされていたアプリケーションをストア領域２２０１から削除すると決定したか否かを判定する（Ｓ４２０３）。モニターアプリケーションが既にストアされていたアプリケーションをストア領域２２０１から削除すると決定した場合（Ｓ４２０３のＹＥＳ）、モニターアプリケーションは、ユーザにアプリケーション削除通知を表示する（Ｓ４２０４）。そして、モニターアプリケーションは、ユーザがアプリケーションの削除を許可したか否かを判定し（Ｓ４２０５）、ユーザがアプリケーションの削除を許可した場合（Ｓ４２０５のＹＥＳ）、モニターアプリケーションはＡＭ１２０５ｂに、ヘッドエンド１０１から送信されたＸＡＩＴ情報の受け取りを許可する（Ｓ４２０７）。一方、ユーザがアプリケーションのストア領域からの削除を拒否した場合には（Ｓ４２０５のＮＯ）、モニターアプリケーションは、例えば、変更ＡＰＩを用いて、ユーザが削除を拒否したアプリケーションのストア優先度を最大値に再設定する。これにより、モニターアプリケーションは、ユーザが削除を拒否したアプリケーションがストア領域２２０１から削除されないようＸＡＩＴ情報中のストア優先度を変更し（Ｓ４２０６）、ＡＭ１２０５ｂに、その変更したＸＡＩＴ情報の受け取りを許可する（Ｓ４２０７）。【０２６０】  続いて、ＡＭ１２０５ｂは、図４３に示すように、モニターアプリケーションがそのＸＡＩＴ情報の受け取りを許可したか否かを判定する（Ｓ４１０４）。ＡＭ１２０５ｂは、モニターアプリケーションがそのＸＡＩＴ情報の受け取りを拒否した場合には（Ｓ４１０４のＮＯ）、ＡＭ１２０５ｂは、ストア処理を終了する。一方、ＡＭ１２０５ｂは、モニターアプリケーションがそのＸＡＩＴ情報の受け取りを許可した場合には（Ｓ４１０４のＹＥＳ）、図２９に示すように、ヘッドエンド１０１から送信された上記ＸＡＩＴ情報を受け取り、または、モニターアプリケーションが変更ＡＰＩを用いていた場合には、その変更されたＸＡＩＴ情報を受け取る（Ｓ２７０１）。そして、ＡＭ１２０５ｂは、そのＸＡＩＴ情報に記述されたアプリケーションからストア優先度の高いものから順にまだ選ばれていないアプリケーションを１つ選択する。但しここで、受け取ったＸＡＩＴ情報に従ったストア処理において、ストア削除部２６０４が既にストア領域２２０１から削除したアプリケーションを除くアプリケーションを１つ選択する（Ｓ２７０２）。そして、ＡＭ１２０５ｂは、選択したアプリケーションがストアされているか否かを判断する（Ｓ２７０３）。【０２６１】  選択したアプリケーションがストアされている場合（Ｓ２７０３のＹＥＳ）、ＡＭ１２０５ｂは、ＸＡＩＴ情報に記述のアプリケーションを全て選択したか否かを判断し（Ｓ２７０７）、未だＸＡＩＴ情報に記述の全てのアプリケーションを選択していない場合、ＡＭ１２０５ｂは次のアプリケーションを選択してストア処理を進め、既にＸＡＩＴ情報記述の全てのアプリケーションを選択している場合にはストア処理を終了する。【０２６２】  一方、選択したアプリケーションがストアされていない場合（Ｓ２７０３のＮＯ）、ストアアプリ決定部２６０２は、ストア領域残容量取得部２６０６からストア領域の残容量を取得し、アプリケーション容量取得部２６０７からアプリケーション容量を取得する（Ｓ２７０４）。そして、ストア領域残容量取得部２６０６から取得したストア領域の残容量とアプリケーション容量取得部２６０７から取得したアプリケーション容量に基づき、ストアアプリ決定部２６０２は、ストア領域の残容量が選択したアプリケーションの容量より大きいか否かを判断する（Ｓ２７０５）。【０２６３】  ストア領域の残容量が選択したアプリケーションの容量より大きいと判断した場合（Ｓ２７０５のＹＥＳ）、ストア部２６０３は選択したアプリケーションをストアする（Ｓ２７０６）。そして、ＡＭ１２０５ｂは、ＸＡＩＴ情報に記述のアプリケーションを全て選択したか否かを判断し（Ｓ２７０７）、未だＸＡＩＴ情報に記述の全てのアプリケーションを選択していない場合、ＡＭ１２０５ｂは次のアプリケーションを選択しストア処理を進め、既にＸＡＩＴ情報に記述の全てのアプリケーションを選択している場合にはストア処理を終了する。【０２６４】  一方、ストアアプリ決定部２６０２がストア領域の残容量が選択したアプリケーションの容量より小さいと判断した場合（Ｓ２７０５のＮＯ）、ＡＭ１２０５ｂは、図３０に示すように、既にストアされているアプリケーションがあるか否かを判断する（Ｓ２８０１）。【０２６５】  既にストアされているアプリケーションがある場合には（Ｓ２８０１のＹＥＳ）、つまり、ＸＡＩＴ情報に記述されるアプリケーションをＭＥＰＧ２トランスポートストリームからストアする際に、既にストアされているアプリケーションがある為にストア領域２２０１の容量が不足する場合には、ストアアプリ決定部２６０２は、ストア優先度比較部２６０１から個々のアプリケーションに指定されたストア優先度２００６の比較結果を取得する（Ｓ２８０２）。そしてストアアプリ決定部２６０２は、その比較結果に基づいて、ストアするアプリケーションと、ストア領域２２０１から削除するアプリケーションとのセットを決定する（Ｓ２８０３）。ここで、ストアアプリ決定部２６０２は、既にストアされているアプリケーションの中で、選択したアプリケーションのストア優先度よりもストア優先度の低いアプリケーションがある場合には、ストア領域の残容量が選択したアプリケーションの容量以上になるように、それらの既にストアされているアプリケーションをストア領域から削除するこ��を決定し、選択したアプリケーションをストアすることを決定する。但し、それらの既にストアされているアプリケーションをストア領域から削除してもストア領域の残容量が選択したアプリケーションの容量以上にならない場合には、それらの既にストアされているアプリケーションはストア領域から削除せず、選択したアプリケーションをストアしないことを決定する。続いて、ストアアプリ決定部２６０２は、ストアアプリ決定部２６０２が、既にストアされていたアプリケーションをストア領域２２０１から削除すると決定したか削除しないことを決定したかを判定する（Ｓ２８０４）。【０２６６】  ストアアプリ決定部２６０２が、既にストアされていたアプリケーションをストア領域２２０１から削除すると決定した場合（Ｓ２８０４のＹＥＳ）、ストアアプリ決定部２６０２は、通知部２６０５に削除通知を指示し、ストア削除部２６０４に、アプリケーションのストア領域２２０１からの削除を指示し、ストア部２６０３に、アプリケーションのストアを指示する。そして、通知部２６０５は、ストアアプリ決定部２６０２の決定結果に従い、ユーザにアプリケーションが削除されることを通知する（Ｓ２８０５）。そして、ストア削除部２６０４は、ストアアプリ決定部２６０２の決定結果に従い、アプリケーションをストア領域２２０１から削除し（Ｓ２８０６）、ストア部２６０３は、ストアアプリ決定部２６０２の決定結果に従い、アプリケーションをストアする（Ｓ２７０６）。そして、ＡＭ１２０５ｂは、ＸＡＩＴ情報に記述のアプリケーションを全て選択したか否かを判断し（Ｓ２７０７）、未だＸＡＩＴ情報に記述の全てのアプリケーションを選択していない場合には、ＡＭ１２０５ｂは次のアプリケーションを選択しストア処理を進め、既にＸＡＩＴ情報に記述の全てのアプリケーションを選択している場合にはストア処理を終了する。【０２６７】  一方、ストアアプリ決定部２６０２が、既にストアされていたアプリケーションをストア領域２２０１から削除しないことを決定した場合（Ｓ２８０４のＮＯ）、選択されたアプリケーションをストアするストア領域を確保することができない。そこで、ＡＭ１２０５ｂは、ＸＡＩＴ情報に記述のアプリケーションを全て選択したか否かを判断し（Ｓ２７０７）、未だＸＡＩＴ情報に記述の全てのアプリケーションを選択していない場合には、ＡＭ１２０５ｂは次のアプリケーションを選択しストア処理を進め、既にＸＡＩＴ情報に記述の全てのアプリケーションを選択している場合にはストア処理を終了する。【０２６８】  一方、既にストアされているアプリケーションがない場合には（Ｓ２８０１のＮＯ）、つまり、ＸＡＩＴ情報に記述されるアプリケーションをＭＥＰＧ２トランスポートストリームからストア領域２２０１にストアする際に、ストア領域２２０１の容量が不足するが、既にストアされているアプリケーションがない場合には、選択されたアプリケーションをストアするストア領域を確保することができない。そこで、ＡＭ１２０５ｂは、ＸＡＩＴ情報に記述のアプリケーションを全て選択したか否かを判断し（Ｓ２７０７）、未だＸＡＩＴ情報に記述の全てのアプリケーションを選択していない場合には、ＡＭ１２０��ｂは次のアプリケーションを選択しストア処理を進め、既にＸＡＩＴ情報に記述の全てのアプリケーションを選択している場合にはストア処理を終了する。【０２６９】  なお、ＸＡＩＴ情報に記述されるアプリケーションをＭＥＰＧ２トランスポートストリームからストア領域２２０１にストアする際に、ストア領域２２０１の容量が不足するが、既にストアされているアプリケーションがない場合には、選択されたアプリケーションをストアするストア領域を確保することができない。そのため、ＡＭ１２０５ｂは選択したアプリケーションをストアせずにストア処理を終了してもよい。【０２７０】  ここで、既にストアされているアプリケーションがＸＡＩＴ情報に記述されていない場合、ストア優先度比較部２６０１は、そのアプリケーションのストア優先度は最低値であるとみなすとした。しかし、ストアアプリ決定部２６０２は、そのアプリケーションのストア領域２２０１からの削除を無条件に決定する等の方法を取ってもよい。【０２７１】  このように、実施の形態４では、モニターアプリケーションがユーザへ削除通知及び、ストア優先度の変更を行うことにより、実施の形態３と同様の効果を得ることができる。即ち、ユーザは、アプリケーションをストア領域２２０１から削除するとの確認を受けた際に、そのアプリケーションがストア領域２２０１から削除されることを拒否でき、ユーザが削除を拒否したアプリケーションはストア領域２２０１から削除されない。【０２７２】  （実施の形態５）
実施の形態１〜３において、ＡＭ１２０５ｂはストアアプリ決定部２６０２により、ストアするアプリケーションと、ストア領域２２０１から削除するアプリケーションとのセットを決定する際、ストア優先度比較部２６０１の比較結果に基づき、ストア優先度の高いアプリケーションを優先的にストアすることと、ストア優先度の低いアプリケーションから順に、ストア領域２２０１から削除することを決定している。しかし、複数のアプリケーションのストア優先度が同じ場合には、いずれのアプリケーションをストア領域２２０１から削除し、いずれのアプリケーションをストアするのかを決定できない可能性がある。【０２７３】  そのため、本実施の形態においては、さらに、図４５に示すように、ＡＭ１２０５ｂは、ストアアプリ決定部２６０２が、ストアまたは削除するアプリケーションのセットを決定できない場合に、ユーザに問合せるための問合せ部４３０１を備える。【０２７４】  図４５は、本実施の形態におけるＡＭ１２０５ｂの構成を示す構成図である。
問合せ部４３０１は、ストアアプリ決定部２６０２より問合せ指示を受けると、いずれのアプリケーションを、ストア領域２２０１から削除またはストアするのかをユーザに問合せる。ここで、問合せ部４３０１によるユーザへの問合せは、問合せ部４３０１が端末装置５００のＣＰＵ５１４に画面に表示したい削除通知情報を送り、ＯＳ１２０１のライブラリ１２０１ｂに含まれるダイアログ表示プログラムが、問合せダイアログをディスプレイ５０９に表示することにより実現される。【０２７５】  そして、問合せ部４３０１は、ＣＰＵ５１４から、ユーザによる削除またはストアするアプリケーションの選択時におけるユーザからの選択情報を受付け、ＣＰＵ５１４から選択情報を受付けた時に、その選択情報に基づいて、ストアアプリ決定部２６０２にアプリケーション選択結果を通知する。【０２７６】  またさらに、本実施の形態において、ストアアプリ決定部２６０２は、実施の形態１〜３と同様の方法により、ストア領域２２０１にストアするアプリケーションと、ストア領域２２０１から削除するアプリケーションとのセットの決定を試みる。ここでストアまたはストア領域２２０１から削除するアプリケーションのセット、を決定した場合には実施の形態１〜３と同様のストア処理を継続する。但し、本実施の形態において、ストアアプリ決定部２６０２は、ストア優先度の等しいアプリケーションが複数存在するために、ストア領域２２０１から削除またはストアするアプリケーションを決定できない場には、問合せ部４３０１に問合せ指示を行う。そして、問合せ部４３０１からアプリケーション選択結果の通知を受けると、そのアプリケーション選択結果に従い、ストア領域２２０１から削除またはストアするアプリケーションを決定する。そして、この決定後に、実施の形態１〜３いずれかと同様の方法で、通知部２６０５への通知指示、ストア部２６０３へのアプリケーションの削除指示を行い、ストア部２６０４へアプリケーションのストア指示を行う。【０２７７】  図４６及び図４７は、本実施の形態における、ＸＡＩＴ情報を受け取ったＡＭ１２０５ｂによる、アプリケーションのストア処理の特徴的な動作の一例を示すフローチャートである。これらの図４６及び図４７は、図２９に示すステップＳ２７０５からの処理を示すものであって、特に、ＸＡＩＴ情報に記述されるアプリケーションをＭＥＰＧ２トランスポートストリームからストア領域２２０１にストアする際に、ストア領域２２０１の容量が不足する場合における、ＡＭ１２０５ｂによるストア処理動作の一例を示す。【０２７８】  図４６において、図３０と同じステップには、図３０と同じ番号を付した。
図２９に示すように、ＡＭ１２０５ｂがＸＡＩＴ情報を受け取ると（Ｓ２７０１）、ＸＡＩＴ情報に記述されたアプリケーションからストア優先度の高いものから順にまだ選ばれていないアプリケーションを１つ選択する。但しここで、受け取ったＸＡＩＴ情報に従ったストア処理において、ストア削除部２６０４がストア領域２２０１から既に削除したアプリケーションを除くアプリケーションを１つ選択する（Ｓ２７０２）。そして、ＡＭ１２０５ｂは、選択したアプリケーションがストアされているか否かを判断する（Ｓ２７０３）。【０２７９】  選択したアプリケーションがストアされている場合（Ｓ２７０３のＹＥＳ）、ＡＭ１２０５ｂは、ＸＡＩＴ情報に記述のアプリケーションを全て選択したか否かを判断する（Ｓ２７０７）。ここで、未だＸＡＩＴ情報に記述の全てのアプリケーションを選択していない場合（Ｓ２７０７のＮＯ）、ＡＭ１２０５ｂは次のアプリケーションを選択しストア処理を進める。既にＸＡＩＴ情報に記述の全てのアプリケーションを選択している場合には（Ｓ２７０７のＹＥＳ）、ＡＭ１２０５ｂは、ストア処理を終了する。【０２８０】  一方、選択したアプリケーションがストアされていない場合（Ｓ２７０３のＮＯ）、ストアアプリ決定部２６０２は、ストア領域残容量取得部２６０６からストア領域の残容量を取得し、アプリケーション容量取得部２６０７からアプリケーション容量を取得する（Ｓ２７０４）。そして、ストア領域残容量取得部２６０６から取得したストア領域の残容量とアプリケーション容量取得部２６０７から取得したアプリケーション容量に基づき、ストアアプリ決定部２６０２は、ストア領域の残容量が選択したアプリケーションの容量より大きいか否かを判断する（Ｓ２７０５）。【０２８１】  ストア領域の残容量が選択したアプリケーションの容量より大きいと判断した場合（Ｓ２７０５のＹＥＳ）、ストア部２６０３は選択したアプリケーションをストアする（Ｓ２７０６）。そして、ＡＭ１２０５ｂは、ＸＡＩＴ情報に記述のアプリケーションを全て選択したか否かを判断し（Ｓ２７０７）、未だＸＡＩＴ情報に記述の全てのアプリケーションを選択していない場合、ＡＭ１２０５ｂは次のアプリケーションを選択しストア処理を進め、既にＸＡＩＴ情報に記述の全てのアプリケーションを選択している場合にはストア処理を終了する。【０２８２】  一方、ストアアプリ決定部２６０２がストア領域の残容量が選択したアプリケーションの容量より小さいと判断した場合（Ｓ２７０５のＹＥＳ）、図４６に示すように、ＡＭ１２０５ｂは、既にストアされているアプリケーションがあるか否かを判断する（Ｓ２８０１）。【０２８３】  既にストアされているアプリケーションがある場合には（Ｓ２８０１のＹＥＳ）、つまり、ＸＡＩＴ情報に記述されるアプリケーションをＭＥＰＧ２トランスポートストリームからストアする際に、既にストアされているアプリケーションがある為にストア領域２２０１の容量が不足する場合には、ストアアプリ決定部２６０２は、ストア優先度比較部２６０１から個々のアプリケーションに指定されたストア優先度２００６の比較結果を取得する（Ｓ２８０２）。その比較結果に基づいて、ストアアプリ決��部２６０２は、ストアするアプリケーションと、ストア領域２２０１から削除するアプリケーションとのセットを決定する（Ｓ２８０３）。ここで、ストアアプリ決定部２６０２は、既にストアされているアプリケーションの中で、選択したアプリケーションのストア優先度よりもストア優先度の低いアプリケーションがある場合には、ストア領域の残容量が選択したアプリケーションの容量以上になるように、それらの既にストアされているアプリケーションを、ストア領域から削除することを決定し、選択したアプリケーションをストアすることを決定する。但し、それらの既にストアされているアプリケーションをストア領域から削除してもストア領域の残容量が選択したアプリケーションの容量以上にならない場合には、ストアアプリ決定部２６０２は、それらの既にストアされているアプリケーションはストア領域から削除せず、選択したアプリケーションをストアしないことを決定する。【０２８４】  続いて、ストアアプリ決定部２６０２は、ストア領域２２０１から削除またはストアするアプリケーションを決定できたか否かを判断する（Ｓ４４０１）。ここで、ストア優先度の等しいアプリケーションが複数存在するために、ストア領域２２０１から削除またはストアするアプリケーションを決定できない場合（Ｓ４４０１）、図４７に示すように、問合せ部４３０１は、いずれのアプリケーションを、ストア領域２２０１から削除またはストアするのかをユーザに問合せる（Ｓ４５０１）。ここで、問合せ部４３０１によるユーザへの問合せは、問合せ部が端末装置５００のＣＰＵ５１４に画面に表示したい削除通知情報を送り、ＯＳ１２０１のライブラリ１２０１ｂに含まれるダイアログ表示プログラムが、図４８〜図５０に示すような問合せダイアログをディスプレイ５０９に表示することにより実現される。【０２８５】  図４８〜図５０は、本実施の形態におけるディスプレイ５０９が表示する問合せダイアログの例を示す図である。【０２８６】  ダイアログボックス３００１は、メッセージ４６０３と、アプリケーション選択ボタン４６０１、４６０２との表示要素をもつ。図４８は、既にストアされている２つのアプリケーションのストア優先度が同じであるために、ストアアプリ決定部２６０２が、ストア領域２２０１から削除するアプリケーションのセットを決定できない場合において、いずれのアプリケーションをストア領域２２０１から削除すべきかをユーザに問合せるディスプレイ表示の一例である。即ち、ストアアプリ決定部２６０２は、このとき、ストア優先度の等しい２つのアプリケーションを共にストアしておくことができないと判別している。図４９は、未だストアされていない２つのアプリケーションのストア優先度が同じであるために、ストアアプリ決定部２６０２が、ストア領域２２０１にストアするアプリケーションを決定できない場合において、いずれのアプリケーションをストア領域２２０１にストアすべきかをユーザに問合せるディスプレイ表示の一例である。即ち、ストアアプリ決定部２６０２は、このとき、ストア優先度の等しい２つのアプリケーションを共にストアすることができないと判別している。図５０は、既にストアされているアプリケーショ��と、未だストアされていないアプリケーションのストア優先度が同じであるために、ストアアプリ決定部２６０２が、ストア領域２２０１から削除またはストアするアプリケーションを決定できない場合において、いずれのアプリケーションをストア領域２２０１にストアすべきかをユーザに問合せるディスプレイ表示の一例である。ここで図４８〜図５０において、メッセージ４６０３とアプリケーション選択ボタン４６０１、４６０２に描かれた「ＡＰＰ３」、「ＡＰＰ４」は、それぞれ２つのアプリケーションのアプリケーション名である。なお、アプリケーション名を用いなくても、ユーザがアプリケーションを選択する為に必要な情報を提供できる方法であれば実施可能である。【０２８７】  なお、図４８〜図５０において、メッセージ４６０３の文字列は、ユーザがアプリケーションを選択する為に必要な情報を提供できる方法であれば、図４８〜図５０中の文字列に限定されず他の文字列であってもよく、また、メッセージ４６０３の形式は文字列に限定されず他の形式であってもよい。また、アプリケーション選択ボタン４６０１及４６０２の文字列は、図４８〜図５０中の文字列に限定されず他の文字列であってもよい。また更に、ダイアログボックス３００１の表示要素は、図４８〜図５０中の表示要素に限定されず、リストボックスを使用する等、ユーザがアプリケーションを選択する為に必要な情報を提供でき、ユーザがアプリケーションを選択したことをＣＰＵ５１４が認識できる方法であれば、他の表示要素であってもよい。【０２８８】  続いて、ユーザがアプリケーション選択ボタン４６０１または４６０２を選択すると、ＣＰＵ５１４はＡＭ１２０５ｂの問合せ部４３０１にユーザからの選択情報を送る。問合せ部４３０１は選択情報を受ける（Ｓ４５０２）と、その選択情報に基づいて、ストアアプリ決定部２６０２にアプリケーション選択結果を通知する。ここで、問合せ部４３０１によるアプリケーション選択結果の通知は、例えば、ダイアログ表示が図４８の例の場合、ＣＰＵ５１４から受付けた選択情報がボタン４６０１の選択を示す場合には、問合せ部４３０１は、アプリケーション名「ＡＰＰ３」をもつアプリケーションの削除をユーザが選択したという結果をストアアプリ決定部２６０２にアプリケーション選択結果として通知することにより実現される。【０２８９】  そして、ストアアプリ決定部２６０２は、問合せ部４３０１からアプリケーション選択結果の通知を受けると、問合せ部４３０１から取得したアプリケーション選択結果に従い、ストア領域２２０１から削除またはストアするアプリケーションを決定する（Ｓ４５０３）。【０２９０】  次に、ストアアプリ決定部２６０２は、図４６に示すように、ストアアプリ決定部２６０２が、既にストアされていたアプリケーションをストア領域２２０１から削除すると決定したか削除しないことを決定したかを判定する（Ｓ２８０４）。【０２９１】  ストアアプリ決定部２６０２が、既にストアされていたアプリケーションをストア領域２２０１から削除すると決定した場合、ストアアプリ決定部２６０２は、通知部２６０５に削除通知を指示する。そして、通知部２６０５は、ストアアプリ決定部２６０２の決���結果に従い、ユーザにアプリケーションが削除されることを通知する（Ｓ２８０５）。また、ストア削除部２６０４は、ストアアプリ決定部２６０２の決定結果に従い、アプリケーションをストア領域２２０１から削除し（Ｓ２８０６）、ストア部２６０３は、図２９に示すように、ストアアプリ決定部２６０２の決定結果に従い、アプリケーションをストアする（Ｓ２７０６）。【０２９２】  なお、上述の図４６に示すステップＳ２８０４以降の処理を、図３９に示すステップＳ２８０４からの処理としても良い。即ち、ストアアプリ決定部２６０２が、既にストアされていたアプリケーションをストア領域２２０１から削除すると決定した場合、ストアアプリ決定部２６０２は、通知部２６０５に削除通知を指示する。そして、通知部２６０５は、ストアアプリ決定部２６０２の決定結果に従い、ユーザにアプリケーションが削除されることを通知する（Ｓ３６０１）。ここで、通知部２６０５によるユーザへのアプリケーション削除通知は、通知部２６０５が端末装置５００のＣＰＵ５１４に画面に表示したい削除通知情報を送り、ＯＳ１２０１のライブラリ１２０１ｂに含まれるダイアログ表示プログラムが、図３８に示すような削除通知をディスプレイ５０９に表示することにより実現される。ダイアログボックス３００１は、メッセージ３００２及びＯＫボタン３７０１の表示要素をもつ。ユーザがＯＫボタン３７０１をリモコン操作等により選択すると、ＣＰＵ５１４はＡＭ１２０５ｂの応答受付部３５０１にユーザの通知確認情報を送る。応答受付部３５０１はユーザの通知確認情報を受けると（Ｓ３６０２）、ストアアプリ決定部２６０２に通知確認情報を通知する。ストアアプリ決定部２６０２は、応答受付部３５０１からアプリケーション削除通知確認情報の通知を受けると、ストア削除部２６０４に、アプリケーションのストア領域２２０１からの削除を指示し、ストア部２６０３に、アプリケーションのストアを指示する。そして、ストア削除部２６０４は、ストアアプリ決定部２６０２の決定結果に従い、アプリケーションをストア領域２２０１から削除し（Ｓ２８０６）、ストア部２６０３は、図２９に示すように、ストアアプリ決定部２６０２の決定結果に従い、アプリケーションをストアする（Ｓ２７０６）。そして、ＡＭ１２０５ｂは、ＸＡＩＴ情報に記述のアプリケーションを全て選択したか否かを判断し（Ｓ２７０７）、未だＸＡＩＴ情報に記述の全てのアプリケーションを選択していない場合には、ＡＭ１２０５ｂは次のアプリケーションを選択しストア処理を進め、既にＸＡＩＴ情報に記述の全てのアプリケーションを選択している場合にはストア処理を終了する。【０２９３】  一方、図４６に示すように、ストアアプリ決定部２６０２が、既にストアされていたアプリケーションをストア領域２２０１から削除しないことを決定した場合（Ｓ２８０４のＮＯ）、選択されたアプリケーションをストアするストア領域を確保することができない。そこで、ＡＭ１２０５ｂは、ＸＡＩＴ情報に記述のアプリケーションを全て選択したか否かを判断し（Ｓ２７０７）、未だＸＡＩＴ情報に記述の全てのアプリケーションを選択していない場合、ＡＭ１２０５ｂは次のアプリケーションを選択しストア処理を進め、既にＸＡＩＴ情報に記述の全てのアプリケーションを選択している場合にはストア処理を終了する。【０２９４】  一方、図４６に示すように、既にストアされているアプリケーションがない場合には（Ｓ２８０１のＮＯ）、つまり、ＸＡＩＴ情報に記述されるアプリケーションをＭＥＰＧ２トランスポートストリームからストア領域２２０１にストアする際に、ストア領域２２０１の容量が不足するが、既にストアされているアプリケーションがない場合には、選択されたアプリケーションをストアするストア領域を確保することができない。そこで、ＡＭ１２０５ｂは、ＸＡＩＴ情報記述のアプリケーションを全て選択したか否かを判断し（Ｓ２７０７）、未だＸＡＩＴ情報に記述の全てのアプリケーションを選択していない場合には、ＡＭ１２０５ｂは次のアプリケーションを選択しストア処理を進め、既にＸＡＩＴ情報に記述の全てのアプリケーションを選択している場合にはストア処理を終了する。【０２９５】  なお、ＸＡＩＴ情報に記述されるアプリケーションをＭＥＰＧ２トランスポートストリームからストア領域２２０１にストアする際に、ストア領域２２０１の容量が不足するが、既にストアされているアプリケーションがない場合には、選択されたアプリケーションをストアするストア領域を確保することができないので、ＡＭ１２０５ｂは選択したアプリケーションをストアせずにストア処理を終了してもよい。【０２９６】  ここで、既にストアされているアプリケーションがＸＡＩＴ情報に記述されていない場合、ストア優先度比較部２６０１は、そのアプリケーションのストア優先度は最低値であるとみなすとしたが、このような場合、ストアアプリ決定部２６０２は、そのアプリケーションのストア領域２２０１からの削除を無条件に決定する等の方法を取ってもよい。【０２９７】  なお、本実施の形態においては、２つのアプリケーションのストア優先度が同じであるために、ストアアプリ決定部２６０２が、ストア領域２２０１から削除またはストアするアプリケーションを決定できない場合を扱ったが、３つ以上のアプリケーションのストア優先度が同じであるために、ストアアプリ決定部２６０２が、ストア領域２２０１から削除またはストアするアプリケーションを決定できない場合においても本発明は実施可能である。例えば、既にストアされている３つのアプリケーションのストア優先度が同じであるために、ストアアプリ決定部２６０２が、ストア領域２２０１から削除するアプリケーションのセット、を決定できない場合には、問合せ部４３０１によるユーザへの問合せは、ダイアログ表示プログラムが、３つのアプリケーションからいずれか１つまたは２つのアプリケーションをストア領域２２０１から削除すべきかをユーザに選択させるダイアログを表示すること等により実現される。【０２９８】  また更に、ストアアプリ決定部２６０２が、一回の問合せ部４３０１への問合せ指示に起因する問合せ部４３０１からのアプリケーション選択結果の通知により、ストア領域２２０１から削除またはストアするアプリケーションを決定できない場合がある。例えば、３つ以上のアプリケーションのストア優先度が同じであり、かつ、１つのアプリケ��ションをストア領域２２０１から削除するだけでは、選択された新規のアプリケーションをストアするのに可能なストア領域を確保できない場合がある。このような場合、ストアアプリ決定部２６０２は１回目の問合せ部４３０１からのアプリケーション選択結果の通知の後、続けて、問合せ部４３０１に問合せ指示を行ってもよい。このとき例えば、１回目の問合せ部４３０１によるユーザへの問合せは、ダイアログ表示プログラムが、３つのアプリケーションからいずれのアプリケーションをストア領域２２０１から削除すべきかをユーザに選択させるダイアログを表示すること等により実現され、２回目の問合せ部４３０１によるユーザへの問合せは、２つのアプリケーションからさらにいずれのアプリケーションをストア領域２２０１から削除すべきかをユーザに選択させるダイアログを表示すること等により実現される。【０２９９】  このように、実施の形態５により、ＸＡＩＴ情報に記述される複数のアプリケーションのストア優先度が同じ場合においても、ユーザへの問合せにより、いずれのアプリケーションをストア領域２２０１から削除し、いずれのアプリケーションをストアするのかを決定することができる。さらに、ユーザに選択権を与えることにより、よりユーザが望むアプリケーションのストアを実現することができる。【０３００】  （実施の形態６）
本実施の形態のＡＭ１２０５ｂは、削除対象のアプリケーションが起動中であるときに、そのアプリケーションの取り扱いについてのメッセージを通知する。即ち、ＯＣＡＰ仕様（ＯＣＡＰ  １．０  Ｐｒｏｆｉｌｅ  ＯＣ−ＳＰ−ＯＣＡＰ１．０−ＩＦ−Ｉ０９−０３１１２１）では、ストア優先度の高いアプリケーションを優先的にストアするとともに、起動中のアプリケーションの動作を妨げてはならないことが規定されているため、本実施の形態は、そのような規定を確実に守りつつ、削除対象のアプリケーションの取り扱いについてのメッセージを通知するものである。【０３０１】  図５１及び図５２は、本実施の形態における、ＸＡＩＴ情報を受け取ったＡＭ１２０５ｂによる、アプリケーションのストア処理の特徴的な動作の一例を示すフローチャートである。これらの図５１及び図５２は、図２９に示すステップＳ２７０５からの処理を示すものである。また、これらの図５１及び図５２は、特に、ＸＡＩＴ情報に記述されるアプリケーションをＭＥＰＧ２トランスポートストリームからストア領域２２０１にストアする際に、ストア領域２２０１の容量が不足する場合であって、かつストア領域にストアされた削除されるべきアプリケーションが起動中である場合における、ＡＭ１２０５ｂによる、アプリケーションのストア処理動作の一例を示す。【０３０２】  図５１において、図３０と同じステップには、図３０と同じ番号を付した。
ストアアプリ決定部２６０２が、ストア領域の残容量が選択したアプリケーションの容量より小さいと判断した場合（図２９のＳ２７０５）、図５１に示すように、ＡＭ１２０５ｂは、既にストアされているアプリケーションがあるか否かを判断する（Ｓ２８０１）。【０３０３】  既にストアされているアプリケーションがある場合には（Ｓ２８０１のＹＥＳ）、つまり、ＸＡＩＴ情報に記述されるアプリケーションをＭＥＰＧ２トランスポートストリームからストアする際に、既にストアされているアプリケーションがある為にストア領域２２０１の容量が不足する場合には、ストアアプリ決定部２６０２は、ストア優先度比較部２６０１から個々のアプリケーションに指定されたストア優先度２００６の比較結果を取得する（Ｓ２８０２）。その比較結果に基づいて、ストアアプリ決定部２６０２は、ストアするアプリケーションと、ストア領域２２０１から削除するアプリケーションとのセットを決定する（Ｓ２８０３）。ここで、ストアアプリ決定部２６０２は、既にストアされているアプリケーションの中で、選択したアプリケーションのストア優先度よりもストア優先度の低いアプリケーションがある場合には、ストア領域の残容量が選択したアプリケーションの容量以上になるように、それらの既にストアされているアプリケーションを、ストア領域から削除することを決定し、選択したアプリケーションをストアすることを決定する。但し、それらの既にストアされているアプリケーションをストア領域から削除してもストア領域の残容量が選択したアプリケーションの容量よりも小さい場合には、ストアアプリ決定部２６０２は、それらの既にストアされているアプリケーションはストア領域から削除せず、選択したアプリケーションをストアしないことを決定する。【０３０４】  続いて、ストアアプリ決定部２６０２は、ストア領域２２０１から削除またはストアするアプリケーションを決定できたか否かを判断する（Ｓ４４０１）。ここで、ストア優先度の等しいアプリケーションが複数存在するために、ストア領域２２０１から削除またはストアするアプリケーションを決定できない場合（Ｓ４４０１のＮＯ）、ＡＭ１２０５ｂは前述した図４７の処理に従う。【０３０５】  次に、ストアアプリ決定部２６０２は、ストアアプリ決定部２６０２が、既にストアされていたアプリケーションをストア領域２２０１から削除すると決定したか削除しないことを決定したかを判定する（Ｓ２８０４）。【０３０６】  ステップＳ２８０４において、削除しないと決定した場合には（Ｓ２８０４のＮＯ）、ＡＭ１２０５ｂは図２９のステップＳ２７０７からの処理を実行する。【０３０７】  ステップＳ２８０４において、削除すると決定した場合には（Ｓ２８０４のＹＥＳ）、ストアアプリ決定部２６０２は、削除すべきアプリケーションが起動中であるかどうかを調べる（Ｓ５２０４）。ここで、削除すべきアプリケーションが起動中でない場合（Ｓ５２０４のＮＯ）、ＡＭ１２０５ｂは図４６で説明したステップＳ２８０５からの処理と同様の処理を実行する。一方、削除すべきアプリケーションが起動中である場合（Ｓ５２０４のＹＥＳ）、通知部２６０５は、起動中のアプリケーションを終了し、削除��れば優先度の高いアプリケーションがストアできるので、削除すべきアプリケーションを終了して削除するかどうかをユーザに問合せるよう問合せ部４３０１へ依頼する（Ｓ５２０５）。【０３０８】  問合せ部４３０１は、図５２に示すように、起動中のアプリケーションを、ストア領域２２０１から削除かどうかをユーザに問合せる（Ｓ５３０１）。ここで、問合せ部４３０１によるユーザへの問合せは、問合せ部が端末装置５００のＣＰＵ５１４に画面に表示したい削除通知情報を送り、ＯＳ１２０１のライブラリ１２０１ｂに含まれるダイアログ表示プログラムが、図５３に示すような問合せダイアログをディスプレイ５０９に表示することにより実現される。【０３０９】  図５３は、本実施の形態におけるディスプレイ５０９が表示する問合せダイアログの一例を示す図である。ダイアログボックス３００１は、メッセージ５４０３と、アプリケーション選択ボタン５４０１、５４０２との表示要素をもつ。具体的に、図５３は、起動中のアプリケーションを終了し、削除すれば優先度の高いアプリケーションがストアできるので、削除すべきアプリケーションを終了して削除するかどうかをユーザに問合せるディスプレイ表示の一例を示す。【０３１０】  なお、図５３において、メッセージ５４０３の文字列は、ユーザが起動中のアプリケーションを削除する為に必要な情報を提供できる方法であれば、文字列の表現は限定されず他の文字列であってもよく、また、メッセージ５４０３の形式は文字列に限定されず他の形式であってもよい。また、アプリケーション選択ボタン５４０１及び５４０２の文字列は、図５３中の文字列に限定されず他の同じ意味を持つ文字列であってもよい。また更に、ダイアログボックス３００１の表示要素は、図５３中の表示要素に限定されず、リストボックスを使用する等、ユーザがアプリケーションを選択する為に必要な情報を提供でき、ユーザがアプリケーションを選択したことをＣＰＵ５１４が認識できる方法であれば、他の表示要素であってもよい。【０３１１】  続いて、ユーザがアプリケーション選択ボタン５４０１または５４０２を選択すると、ＣＰＵ５１４はＡＭ１２０５ｂの問合せ部４３０１にユーザからの入力情報を送る。問合せ部４３０１は入力情報を受ける（Ｓ５３０２）と、その入力情報に基づいて、ストアアプリ決定部２６０２に入力結果を通知する。ここで、問合せ部４３０１による入力結果の通知は、例えば、ダイアログ表示が図５３の例の場合、ＣＰＵ５１４から受付けた入力情報がボタン５４０１の選択を示す場合には、問合せ部は、アプリケーション名「ＡＰＰ３」をもつアプリケーションをストアするために、既にストアされた起動中の「ＡＰＰ２」を終了させた後に削除することをユーザが選択したという結果を、ストアアプリ決定部２６０２に通知することにより実現される。【０３１２】  そして、ストアアプリ決定部２６０２は、問合せ部４３０１から入力結果の通知を受けると、問合せ部４３０１から取得した入力結果に従い、ストア領域２２０１から削除するかどうかを決定する（Ｓ５３０３）。その後、ストアアプリ決定部２６０２は、図５１のステップＳ２８０６からの処理を実行する。【０３１３】  このように本実施��形態では、削除すべきアプリケーションが起動中であっても、ユーザの意図に沿って、そのアプリケーションを自動的に終了させて削除した後に、優先度の高いアプリケーションがストアされることになる。【０３１４】  （実施の形態７）
本実施の形態は、実施の形態６と同様、ＯＣＡＰ仕様における規定、即ちストア優先度の高いアプリケーションを優先的にストアするとともに、起動中のアプリケーションの動作を妨げてはならないという規定を確実に守りつつ、削除対象のアプリケーションの取り扱いについてのメッセージを通知するものである。ここで、本実施の形態のＡＭ１２０５ｂは、削除対象のアプリケーションが起動中であるときに、そのアプリケーションの取り扱いについてのメッセージを通知するが、そのメッセージの内容は実施の形態６の内容とは異なる。また、本実施の形態のＡＭ１２０５ｂの動作も、実施の形態６の動作と異なる。以下、本実施の形態のＡＭ１２０５ｂの動作について詳細に説明する。【０３１５】  図５４は、本実施の形態における、ＸＡＩＴ情報を受け取ったＡＭ１２０５ｂによる、アプリケーションのストア処理の特徴的な動作の一例を示すフローチャートである。この図５４は、図２９に示すステップＳ２７０５からの処理を示すものである。また、この図５４は、特に、ＸＡＩＴ情報に記述されるアプリケーションをＭＥＰＧ２トランスポートストリームからストア領域２２０１にストアする際に、ストア領域２２０１の容量が不足する場合であって、かつストア領域にストアされた削除されるべきアプリケーションが起動中である場合における、ＡＭ１２０５ｂによる、アプリケーションのストア処理動作の一例を示す。【０３１６】  図５４において、図３０及び図５１と同じステップには、図３０、図５１と同じ番号を付した。【０３１７】  ストアアプリ決定部２６０２が、ストア領域の残容量が選択したアプリケーションの容量より小さいと判断した場合（図２９のＳ２７０５）、図５４に示すように、ＡＭ１２０５ｂは、既にストアされているアプリケーションがあるか否かを判断する（Ｓ２８０１）。【０３１８】  既にストアされているアプリケーションがある場合には（Ｓ２８０１のＹＥＳ）、つまり、ＸＡＩＴ情報に記述されるアプリケーションをＭＥＰＧ２トランスポートストリームからストアする際に、既にストアされているアプリケーションがある為にストア領域２２０１の容量が不足する場合には、ストアアプリ決定部２６０２は、ストア優先度比較部２６０１から個々のアプリケーションに指定されたストア優先度２００６の比較結果を取得する（Ｓ２８０２）。その比較結果に基づいて、ストアアプリ決定部２６０２は、ストアするアプリケーションと、ストア領域２２０１から削除するアプリケーションとのセットを決定する（Ｓ２８０３）。ここで、ストアアプリ決定部２６０２は、既にストアされているアプリケーションの中で、選択したアプリケーションのストア優先度よりもストア優先度の低いアプリケーションがある場合には、ストア領域の残容量が選択したアプリケーションの容量以上になるように、それらの既にストアされているアプリケーションを、ストア領域から削除することを決定し、選択したアプリケーションをストアすることを決定する。但し、それらの既にストアされているアプリケーションをストア領域から削除してもストア領域の残容量が選択したアプリケーションの容量よりも小さい場合には、ストアアプリ決定部２６０２は、それらの既にス���アされているアプリケーションはストア領域から削除せず、選択したアプリケーションをストアしないことを決定する。【０３１９】  続いて、ストアアプリ決定部２６０２は、ストア領域２２０１から削除またはストアするアプリケーションを決定できたか否かを判断する（Ｓ４４０１）。ここで、ストア優先度の等しいアプリケーションが複数存在するために、ストア領域２２０１から削除またはストアするアプリケーションを決定できない場合（Ｓ４４０１のＮＯ）、ＡＭ１２０５ｂは前述した図４７の処理に従う。【０３２０】  次に、ストアアプリ決定部２６０２は、ストアアプリ決定部２６０２が、既にストアされていたアプリケーションをストア領域２２０１から削除すると決定したか削除しないことを決定したかを判定する（Ｓ２８０４）。【０３２１】  ステップＳ２８０４において、削除しないと決定した場合には（Ｓ２８０４のＮＯ）、ＡＭ１２０５ｂは図２９のステップＳ２７０７からの処理を実行する。【０３２２】  ステップＳ２８０４において、削除すると決定した場合には（Ｓ２８０４のＹＥＳ）、ストアアプリ決定部２６０２は、削除すべきアプリケーションが起動中であるかどうかを調べる（Ｓ５２０４）。ここで、削除すべきアプリケーションが起動中でない場合（Ｓ５２０４のＮＯ）、ＡＭ１２０５ｂは図４６で説明したステップＳ２８０５からの処理と同様の処理を実行する。一方、削除すべきアプリケーションが起動中である場合（Ｓ５２０４のＹＥＳ）、通知部２６０５は、起動中のアプリケーションが終了した後、新しいアプリケーションをストアする旨のメッセージをユーザに通知する（Ｓ５２０６）。【０３２３】  図５５は、本実施の形態におけるディスプレイ５０９が表示するメッセージの一例を示す図である。このメッセージ５６０３には、起動中のアプリケーションが終了した後、新しいアプリケーションをストアする旨が記載されている。【０３２４】  なお、図５５において、メッセージ５６０３の文字列は、起動中のアプリケーションが終了した後、新しいアプリケーションをストアする旨を提供できる方法であれば、文字列の表現は限定されず他の文字列であってもよい。【０３２５】  次に、ステップＳ５２０６の後、ＡＭ１２０５ｂは削除の対象である起動中のアプリケーションが終了したかどうかを一定時間毎に判断する（Ｓ５２０７）。対象となるアプリケーションが終了していなければ一定時間後に再度ステップＳ５２０７の処理を実行する。【０３２６】  ステップＳ５２０７において起動中のアプリケーションが終了したと判断した場合（ステップＳ５２０７）、ＡＭ１２０５ｂは、ステップＳ２８０６からの処理を実行する。【０３２７】  このように本実施の形態では、削除すべきアプリケーションが起動中であってもユーザに状況を通知した上で、ユーザがアプリケーションを終了した際に、削除すべきアプリケーションを削除し、優先度の高いアプリケーションがストアされることになる。【０３２８】  なお、上述の説明では、ステップＳ５２０７において起動中のアプリケーションが終了したと判断された場合に、ＡＭ１２０５ｂがステップＳ２８０６からの処理を実行したが、図５４のステップＳ２８０１からの処理を実行しても良��。【０３２９】  以上、本発明に係るプログラム実行装置について、実施の形態１〜７を用いて説明したが、本発明は、これらに限定されるものではない。【０３３０】  例えば、実施の形態１〜７では、Ｊａｖａ（登録商標）プログラムはＪａｖａで記述された部分と、ＣＰＵが直接実行できるバイナリ形式の部分との混合でもよいし、ＣＰＵが直接実行できるバイナリ形式のみで構成されていても良い。【０３３１】  また、実施の形態１〜７では、ＲＯＭ５１２が保存する内容を２次記憶部５１０が保存することで、ＲＯＭ５１２を削除しても良い。また、２次記憶部５１０は、複数のサブ２次記憶部で構成し、個々のサブ２次記憶部が異なる情報を保存しても良い。例えば、１つのサブ２次記憶部はチューニング情報のみを保存し、別のサブ２次記憶部は、ＯＳ１２０１のライブラリ１２０１ｂを保存し、更に別のサブ２次記憶部は、ダウンロードしたＪａｖａプログラムを保存するなど、詳細に分割することが可能である。【０３３２】  また、実施の形態１〜７においては、登録されたＪａｖａプログラムを２次記憶部５１０に保存していたが、１次記憶部５１１に保存しても良い。１次記憶部５１１に保存する場合、電源ＯＦＦ時に、保存された情報は全て消える。【０３３３】  また、本発明は、パーソナルコンピュータや携帯電話などの情報機器であれば、適応可能である。【０３３４】  また、ＰＯＤ５０４は着脱可能な形態としているが、着脱不可能な状態で内蔵されていても良い。なお、内蔵した場合、ＰＯＤ５０４のＣＰＵ７０６を取り外し、ＣＰＵ５１４がＣＰＵ７０６の動作も行っても良い。【０３３５】  また、ＰＯＤ  Ｌｉｂ１２０５ｅに登録されるＪａｖａプログラムは、ダウンロードされたＪａｖａプログラムだけでなく、予め内蔵されているＪａｖａプログラムでも良い。また、ＳＤ（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ）（登録商標）メモリーカードなどの着脱可能な記憶媒体が着脱されるスロット部を取り付け、その記憶媒体からＪａｖａプログラムを取り込んでも良い。【０３３６】  また、実施の形態１〜７において、Ｊａｖａプログラムのダウンロードは、ＤＳＭＣＣ方式としたが、ＤＳＭＣＣ方式に限定されず、他のダウンロード方式であっても良い。例えば、ネットワークに接続するネットワーク部を取り付け、インターネットからＪａｖａプログラムを取り出すといった、ＩＰ経由によるＪａｖａプログラムのダウンロード等が可能である。ＩＰ経由によるＪａｖａプログラムのダウンロードの場合、ＡＩＴやＸＡＩＴ情報におけるＤＳＭＣＣ識別子は不要であり、代わりにＪａｖａプログラムを取得するためのＩＰアドレスを指定する必要がある。【０３３７】  図５６は、ＩＰ経由によるＪａｖａプログラムのダウンロードに必要なＸＡＩＴ情報の一例を示す図である。プロトコル４９０１はＪａｖａプログラムを取得するために用いられる。ＩＰアドレス４９０２はＪａｖａプログラムを取得するために用いられる。行４９１１で定義されるＪａｖａプログラムは、識別子「７０１」、制御情報「ａｕｔｏｓｔａｒｔ」、プロトコル「ｈｔｔｐ」、ＩＰアドレス「１２３．４５６．０．１」、プログラム名「ａ／ＡＰＰ１Ｘｌｅｔ」、優先度「２００」、ストア優先度「１００���、アプリケーション名「ＡＰＰ１」の組である。ＡＭ１２０５ｂは図５１に示されるＸＡＩＴ情報を取得すると、ＸＡＩＴ情報から取得したＩＰアドレスを用いてＪａｖａプログラムのファイルシステムを取得し１次記憶５１１または２次記憶５１０に保存する。
【産業上の利用可能性】
【０３３８】  本発明のプログラム実行装置は、ユーザが安心して利用することができるという効果を奏し、例えばデジタルテレビやパーソナルコンピュータ、携帯電話機などのソフトウェアによって制御される情報機器などに適用することができ、その動作方法は、アプリケーションのストア管理技術として有用である。
【図１】
2005076125.tif 000003
【図２】
2005076125.tif 000004
【図３】
2005076125.tif 000005
【図４】
2005076125.tif 000006
【図５】
2005076125.tif 000007
【図６】
2005076125.tif 000008
【図７】
2005076125.tif 000009
【図８】
2005076125.tif 000010
【図９】
2005076125.tif 000011
【図１０】
2005076125.tif 000012
【図１１】
2005076125.tif 000013
【図１２】
2005076125.tif 000014
【図１３】
2005076125.tif 000015
【図１４】
2005076125.tif 000016
【図１５Ａ】
2005076125.tif 000017
【図１５Ｂ】
2005076125.tif 000018
【図１６】
2005076125.tif 000019
【図１７Ａ】
2005076125.tif 000020
【図１７Ｂ】
2005076125.tif 000021
【図１７Ｃ】
2005076125.tif 000022
【図１８】
2005076125.tif 000023
【図１９】
2005076125.tif 000024
【図２０】
2005076125.tif 000025
【図２１】
2005076125.tif 000026
【図２２】
2005076125.tif 000027
【図２３】
2005076125.tif 000028
【図２４】
2005076125.tif 000029
【図２５】
2005076125.tif 000030
【図２６】
2005076125.tif 000031
【図２７】
2005076125.tif 000032
【図２８】
2005076125.tif 000033
【図２９】
2005076125.tif 000034
【図３０】
2005076125.tif 000035
【図３１】
2005076125.tif 000036
【図３２】
2005076125.tif 000037
【図３３】
2005076125.tif 000038
【図３４Ａ】
2005076125.tif 000039
【図３４Ｂ】
2005076125.tif 000040
【図３５Ａ】
2005076125.tif 000041
【図３５Ｂ】
2005076125.tif 000042
【図３６】
2005076125.tif 000043
【図３７】
2005076125.tif 000044
【図３８】
2005076125.tif 000045
【図３９】
2005076125.tif 000046
【図４０】
2005076125.tif 000047
【図４１】
2005076125.tif 000048
【図４２】
2005076125.tif 000049
【図４３】
2005076125.tif 000050
【図４４】
2005076125.tif 000051
【図４５】
2005076125.tif 000052
【図４６】
2005076125.tif 000053
【図４７】
2005076125.tif 000054
【図４８】
2005076125.tif 000055
【図４９】
2005076125.tif 000056
【図５０】
2005076125.tif 000057
【図５１】
2005076125.tif 000058
【図５２】
2005076125.tif 000059
【図５３】
2005076125.tif 000060
【図５４】
2005076125.tif 000061
【図５５】
2005076125.tif 000062
【図５６】
2005076125.tif 000063
【手続補正書】
【提出日】平成17年10月19日(2005.10.19)
【手続補正００１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項１
【補正方法】変更
【補正の内容】
【請求項１】プログラムをダウンロードして実行するプログラム実行装置であって、
ダウンロードされたプログラムを保存するための領域を有する記憶手段と、
ダウンロード対象のプログラムを含む複数のプログラムのそれぞれに予め割り当てられた固有の優先度に基づいて、前記各プログラムを前記記憶手段に保存しておくことが可能か否かを判別する保存判別手段と、
前記保存判別手段で保存不可能と判別されたプログラムの取り扱いについてのメッセージをユーザに通知する通知手段と、
前記保存判別手段で保存可能と判別されたダウンロード対象のプログラムを前記記憶手段に保存する保存処理手段と、
前記記憶手段に保存されたプログラムを実行する実行手段と
を備えることを特徴とするプログラム実行装置。
【手続補正００２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項１７
【補正方法】変更
【補正の内容】
【請求項１７】プログラムをダウンロードして実行するプログラム実行方法であって、
ダウンロード対象のプログラムを含む複数のプログラムのそれぞれに予め割り当てられた固有の優先度に基づいて、前記各プログラムを記憶手段に保存しておくことが可能か否かを判別する保存判別ステップと、
前記保存判別ステップで保存不可能と判別されたプログラムの取り扱いについてのメッセージをユーザに通知する通知ステップと、
前記保存判別ステップで保存可能と判別されたダウンロード対象のプログラムを前記記憶手段に保存する保存処理ステップと、
前記記憶手段に保存されたプログラムを実行する実行ステップと
を含むことを特徴とするプログラム実行方法。
【手続補正００３】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項１８
【補正方法】変更
【補正の内容】
【請求項１８】アプリケーションプログラムをダウンロードしてコンピュータに実行させるプログラムであって、
ダウンロード対象のアプリケーションプログラムを含む複数のアプリケーションプログラムのそれぞれに予め割り当てられた固有の優先度に基づいて、前記各アプリケーションプログラムを記憶手段に保存しておくことが可能か否かを判別する保存判別ステップと、
前記保存判別ステップで保存不可能と判別されたアプリケーションプログラムの取り扱いについてのメッセージをユーザに通知する通知ステップと、
前記保存判別ステップで保存可能と判別されたダウンロード対象のアプリケーションプログラムを前記記憶手段に保存する保存処理ステップと、
前記記憶手段に保存されたアプリケーションプログラムを実行する実行ステップと
を含むことを特徴とするプログラム。
【手続補正書】
【提出日】平成18年4月14日(2006.4.14)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
プログラムをダウンロードして実行するプログラム実行装置であって、
ダウンロードされたプログラムを保存するための領域を有する記憶手段と、
ダウンロード対象のプログラムを含む複数のプログラムのそれぞれに予め割り当てられた固有の優先度に基づいて、前記各プログラムを前記記憶手段に保存しておくことが可能か否かを判別する保存判別手段と、
前記保存判別手段で保存不可能と判別されたプログラムの取り扱いについてのメッセージをユーザに通知する通知手段と、
前記保存判別手段で保存可能と判別されたダウンロード対象のプログラムを前記記憶手段に保存する保存処理手段と、
前記記憶手段に保存されたプログラムを実行する実行手段と
を備えることを特徴とするプログラム実行装置。
【請求項２】
前記プログラム実行装置は、さらに、
前記複数のプログラムのそれぞれの保存に要する保存容量及び前記記憶手段の空き容量を取得する容量取得手段を備え、
前記保存判別手段は、前記容量取得手段で取得された保存容量及び空き容量に基づいて、保存対象の１又は複数のプログラムの全ての保存容量が前記記憶手段の容量を超えない範囲で、優先度の高いプログラムを優先的に保存可能と判別する
ことを特徴とする請求項１記載のプログラム実行装置。
【請求項３】
前記プログラム実行装置は、さらに、
前記保存判別手段で保存不可能と判別された前記記憶手段に保存されているプログラムを削除する削除手段を備え、
前記通知手段は、前記プログラムの削除についてのメッセージをユーザに通知し、
前記保存処理手段は、前記プログラムが削除された記憶手段に対して、前記保存判別手段で保存可能と判別されたダウンロード対象のプログラムを保存する
ことを特徴とする請求項２記載のプログラム実行装置。
【請求項４】
前記削除手段は、前記通知手段によるユーザへの通知が行われたことを検知した後に、前記記憶手段に保存されているプログラムを削除する
ことを特徴とする請求項３記載のプログラム実行装置。
【請求項５】
前記通知手段は、前記記憶手段に保存されているプログラムが削除されることの確認をユーザに求める内容のメッセージを通知し、
前記プログラム実行装置は、さらに、
前記メッセージに対するユーザの確認結果を取得する確認取得手段を備え、
前記削除手段は、前記確認取得手段によって確認結果が取得されたことを検知すると、前記記憶手段に保存されているプログラムを削除する
ことを特徴とする請求項４記載のプログラム実行装置。
【請求項６】
前記通知手段は、前記記憶手段に保存されているプログラムを削除しても良いか否かを問い合わせる内容のメッセージを通知し、
前記プログラム実行装置は、さらに、
前記メッセージに対するユーザの応答結果を取得する応答取得手段を備え、
前記削除手段は、前記応答取得手段によって取得された応答結果が削除の許可を示すことを検知すると、前記記憶手段に保存されているプログラムを削除する
ことを特徴とする請求項４記載のプログラム実行装置。
【請求項７】
前記プログラム実行装置は、さらに、
前記応答取得手段によって取得された応答結果が削除の拒否を示すことを検知すると、前記保存判別手段で保存不可能と判別された前記記憶手段に保存されているプログラムの優先度を高める優先度変更手段を備え、
前記保存判別手段は、前記優先度変更手段で変更された優先度に基づいて、再び、前記各プログラムを前記記憶手段に保存しておくことが可能か否かを判別する
ことを特徴とする請求項６記載のプログラム実行装置。
【請求項８】
前記保存判別手段は、さらに、保存不可能と判別された複数のプログラムが前記記憶手段に保存されているか否かを判別し、
前記通知手段は、前記保存判別手段で保存されていると判別された複数のプログラムのうちの何れを削除するかの選択を促す内容のメッセージを通知し、
前記プログラム実行装置は、さらに、
前記メッセージに対するユーザの選択結果を取得する選択結果取得手段を備え、
前記削除手段は、前記選択結果取得手段によって取得された選択結果の示すプログラムを削除する
ことを特徴とする請求項４記載のプログラム実行装置。
【請求項９】
前記通知手段は、前記記憶手段に保存されているプログラムを用いて前記メッセージをユーザに表示する
ことを特徴とする請求項４記載のプログラム実行装置。
【請求項１０】
前記プログラム実行装置は、さらに、
前記保存判別手段で保存不可能と判別されたプログラムが前記実行手段によって実行されているか否かを判別する実行判別手段を備え、
前記通知手段は、前記実行判別手段で実行中と判別されたプログラムの削除についてのメッセージをユーザに通知する
ことを特徴とする請求項３記載のプログラム実行装置。
【請求項１１】
前記削除手段は、前記実行判別手段で実行中と判別されたプログラムの実行を終了させて削除する
ことを特徴とする請求項１０記載のプログラム実行装置。
【請求項１２】
前記通知手段は、前記実行判別手段で実行中と判別されたプログラムを削除しても良いか否かをユーザに問い合わせる内容のメッセージを通知し、
前記プログラム実行装置は、さらに、
前記メッセージに対するユーザの応答結果を取得する応答取得手段を備え、
前記削除手段は、前記応答取得手段によって取得された応答結果が削除の許可を示すことを検知すると、前記実行中のプログラムを終了させて削除する
ことを特徴とする請求項１１記載のプログラム実行装置。
【請求項１３】
前記削除手段は、前記実行判別手段による判別結果に基づいて前記実行中のプログラムの終了を検知すると、前記プログラムを削除する
ことを特徴とする請求項１０記載のプログラム実行装置。
【請求項１４】
前記通知手段は、前記保存判別手段で保存不可能と判別されたダウンロード対象のプログラムの保存についてのメッセージをユーザに通知する
ことを特徴とする請求項２記載のプログラム実行装置。
【請求項１５】
前記保存判別手段は、さらに、保存不可能と判別された複数のプログラムが前記記憶手段に保存されているか否かを判別し、
前記通知手段は、前記保存判別手段で保存されていないと判別された複数のプログラムのうちの何れを前記記憶手段に保存するかの選択を促す内容のメッセージを通知し、
前記プログラム実行装置は、さらに、
前記メッセージに対するユーザの選択結果を取得する選択結果取得手段を備え、
前記削除手段は、前記選択結果取得手段によって取得された選択結果の示すプログラムを前記記憶手段に保存する
ことを特徴とする請求項１４記載のプログラム実行装置。
【請求項１６】
前記保存判別手段は、互いに種類の異なる複数のプログラムのそれぞれを前記記憶手段に保存しておくことが可能か否かを判別する
ことを特徴とする請求項２記載のプログラム実行装置。
【請求項１７】
プログラムをダウンロードして実行するプログラム実行方法であって、
ダウンロード対象のプログラムを含む複数のプログラムのそれぞれに予め割り当てられた固有の優先度に基づいて、前記各プログラムを記憶手段に保存しておくことが可能か否かを判別する保存判別ステップと、
前記保存判別ステップで保存不可能と判別されたプログラムの取り扱いについてのメッセージをユーザに通知する通知ステップと、
前記保存判別ステップで保存可能と判別されたダウンロード対象のプログラムを前記記憶手段に保存する保存処理ステップと、
前記記憶手段に保存されたプログラムを実行する実行ステップと
を含むことを特徴とするプログラム実行方法。
【請求項１８】
アプリケーションプログラムをダウンロードしてコンピュータに実行させるプログラムであって、
ダウンロード対象のアプリケーションプログラムを含む複数のアプリケーションプログラムのそれぞれに予め割り当てられた固有の優先度に基づいて、前記各アプリケーションプログラムを記憶手段に保存しておくことが可能か否かを判別する保存判別ステップと、
前記保存判別ステップで保存不可能と判別されたアプリケーションプログラムの取り扱いについてのメッセージをユーザに通知する通知ステップと、
前記保存判別ステップで保存可能と判別されたダウンロード対象のアプリケーションプログラムを前記記憶手段に保存する保存処理ステップと、
前記記憶手段に保存されたアプリケーションプログラムを実行する実行ステップと
を含むことを特徴とするプログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラムをダウンロードして実行するプログラム実行装置に関する。特に、ダウンロードしたアプリケーションプログラムの保存領域の容量に制限のあるデジタル放送受信機における、アプリケーションプログラムの保存領域管理技術に関する。
【背景技術】
【０００２】
従来の、ダウンロードしたアプリケーションプログラム（以下、単にアプリケーションという）の保存領域の容量に制限のあるデジタル放送受信機における、アプリケーションの保存領域を管理する技術は、ＯＣＡＰ仕様（ＯＣＡＰ  １．０  Ｐｒｏｆｉｌｅ  ＯＣ−ＳＰ−ＯＣＡＰ１．０−ＩＦ−Ｉ０９−０３１１２１）に記載されている。ＯＣＡＰ仕様に準拠したデジタル放送受信機において、デジタル放送受信機は、アプリケーションの保存要求及び実行要求等を受信すると、その要求に従い、アプリケーションを保存して実行する。ここで、アプリケーションの保存要求はフラッシュＲＯＭ等の２次記憶メモリーへの保存要求であるが、以降、アプリケーションを保存するための領域をストア領域、アプリケーションをストア領域へ保存することをストア、アプリケーションをストア領域へ保存するための優先度をストア優先度と呼ぶ。ここで、ストア優先度の定義はＯＣＡＰ仕様において、ｓｔｏｒａｇｅ  ｐｒｉｏｒｉｔｙとして記述されている。
【０００３】
複数のアプリケーションのストア要求を受け、ストア領域が不足する場合、デジタル放送受信機は、個々のアプリケーションが持つストア優先度を比較し、ストア優先度の高いアプリケーションを優先的にストアする。ここで、いくつかのアプリケーションが既にストアされている場合には、ストア優先度の低いものから順に、ストア領域から削除される。但し、実行中のアプリケーションの動作を妨げてはならない。
【０００４】
ストア優先度が同じ場合、何れをストアするかは実装状況に依存する。このように、アプリケーションをストア領域から削除又はストアすることにより、常に、ストア要求を受けたアプリケーションの中からストア優先度の高いアプリケーションを優先的にストアすることが出来る。
【０００５】
本発明と同様に、アプリケーションのストア領域が不足する際にユーザへ通知を行う提案としては、特許文献１（特開平６−３２４８１２号公報「画像データの外部記憶書込方法」）に記載がある。
【０００６】
特許文献１では、ファイルの追加書き込み要求時に、保存領域の残り容量がファイルの容量以下であることを示す比較結果が得られた際に、ファイルの書き込みを拒否し、保存可能な残容量をユーザに通知する手段を提供する。
【０００７】
図１は、特許文献１に記載される画像データの外部記憶書込方法を示すフローチャートである。
【０００８】
外部記憶を分割した各区画の物理的な空き容量を求めて積算し（Ｓ５０００）、１画像のデータ最大容量に区画の総数が乗ぜられた値を積算値から減じて外部記憶の残り容量を決定し（Ｓ５００２）、追加書き込みが指示された画像データの容量が既知であればその値をファイル容量として決定し、また未知であれば画像の最大容量をファイル容量として決定する（Ｓ５００３）。そのファイル容量と外部記憶の残り容量とを比較し（Ｓ５００４）、残り容量がファイル容量未満であることを示す比較結果が得られたときに、画像データの書き込みを拒否し（Ｓ５００６）、残り容量がファイル容量以上であることを示す比較結果が得られたときに、物理的な空き容量がファイル容量以上の区画を検索し（Ｓ５００８）、検索結果で示される区画へ画像データを追加モードで書き込む（Ｓ５０１０）。
【０００９】
このように、特許文献１の技術により、ユーザは新規のアプリケーションがストア不可能であることを知ることができる。
【００１０】
また、本発明と同様に、アプリケーションのインストール作業時にユーザとインタラクションを行う提案としては、特許文献２（特開平１０−２１０５８号公報「アプリケーションモジュールのバージョン管理方法およびバージョン管理装置」）がある。
【００１１】
図２は、特許文献２に記載されるバージョン管理方法によるアプリケーションモジュールのバージョンアップの処理を示すフローチャートである。
【００１２】
特許文献２に記載されるバージョン管理方法では、既にインストールされている各モジュールのバージョン情報を保存するバージョン情報保存段階（Ｓ５１０３）と、これからインストールしようとする各モジュールのバージョンとバージョン情報保存段階に保存された既にインストールされている当該モジュールのバージョン情報を比較するバージョン比較段階（Ｓ５１０５）と、バージョン比較段階による比較結果に従ってインストール作業をする者にメッセージを発するメッセージ段階と、バージョン比較段階による比較結果に従ってモジュールの追加、削除及び変更のいずれかによるモジュールの書換えを行うか否かを各モジュールごとに行うモジュール書換段階（Ｓ５１０８）と、バージョン比較段階の結果及びメッセージ段階のいずれか一方または両方をユーザインターフェースに出力する出力段階とを含むことを特徴とするバージョン管理方法を提案している。さらに、インストール作業をする者が出力段階による出力結果を元にして各モジュールの追加、削除、変更及び無変更のいずれかひとつを選択する段階である選択段階をバージョン管理方法に追加したものも提案している。
【００１３】
このように、特許文献２では、同一アプリケーションのインストール時に、バージョン情報比較に基づき、アプリケーションを更新する。この際、ユーザにバージョン情報比較結果に従って、ユーザにメッセージを表示する手段、さらに、ユーザにアプリケーションの追加，削除、変更、無変更を選択させる手段を提供している。この技術により、ユーザは、新規にアプリケーションがインストールされることを知ることができる。また、古いバージョンに戻るインストールの場合には、そのインストール作業を制御することができる。
【特許文献１】特開平６−３２４８１２号公報
【特許文献２】特開平１０−２１０５８号公報
【発明の開示】
【発明が解決しようとする課題】
【００１４】
しかしながら、ＯＣＡＰ仕様に記載されるデジタル放送受信機（プログラム実行装置）においては、アプリケーションのストア要求時に、ストア領域が不足する場合、アプリケーションのストア優先度の比較結果に基づき、アプリケーションをストア領域から削除/ストアするが、これらアプリケーションのストア作業は自動的に行われるため、ユーザはアプリケーションのストア作業結果、例えば、どのアプリケーションがストア領域から削除又はストアされたかを知ることが出来ない。
【００１５】
そのため、ユーザは、アプリケーションのストア作業結果、例えば、アプリケーションがストア領域から削除されたことに起因するアプリケーションの挙動変化、例えば、アプリケーションの起動が遅くなる等を知ることが出来ず、ストレージから削除されたアプリケーションを起動する際に、そのアプリケーションの起動が遅いためにユーザを不安にさせる懸念があった。
【００１６】
特許文献１においては、既にストアされているアプリケーションを削除する手段を持たず、従って、アプリケーションがストレージから削除されたことをユーザに通知する手段を提供しない。また、特許文献１の技術ではストア優先度を利用していない。
【００１７】
また、特許文献２においては、同一のアプリケーションの機能置換えを扱っており、あるアプリケーションをインストールする際に、インストール先の容量不足が原因となり、その他のアプリケーションを削除することはない。従って、特許文献２は、新規にアプリケーションのストア要求を受けた際に、ストア優先度の比較に基づいて既にストアされているアプリケーションをストア領域から削除する手段、及び、既にストアされているアプリケーションがストアから削除されることをユーザに通知する手段を提供しない。
【００１８】
そこで、本発明は、かかる問題に鑑みてなされたものであって、ユーザが安心して利用可能なプログラム実行装置を提供することを目的とする。
【課題を解決するための手段】
【００１９】
上記目的を達成するために、本発明に係るプログラム実行装置は、プログラムをダウンロードして実行するプログラム実行装置であって、ダウンロードされたプログラムを保存するための領域を有する記憶手段と、ダウンロード対象のプログラムを含む複数のプログラムのそれぞれに割り当てられた優先度に基づいて、前記各プログラムを前記記憶手段に保存しておくことが可能か否かを判別する保存判別手段と、前記保存判別手段で保存不可能と判別されたプログラムの取り扱いについてのメッセージをユーザに通知する通知手段と、前記保存判別手段で保存可能と判別されたダウンロード対象のプログラムを前記記憶手段に保存する保存処理手段と、前記記憶手段に保存されたプログラムを実行する実行手段とを備えることを特徴とする。例えば、前記プログラム実行装置は、さらに、前記保存判別手段で保存不可能と判別された前記記憶手段に保存されているプログラムを削除する削除手段を備え、前記通知手段は、前記プログラムの削除についてのメッセージをユーザに通知し、前記保存処理手段は、前記プログラムが削除された記憶手段に対して、前記保存判別手段で保存可能と判別されたダウンロード対象のプログラムを保存する。また、前記削除手段は、前記通知手段によるユーザへの通知が行われたことを検知した後に、前記記憶手段に保存されているプログラムを削除する。
【００２０】
具体的に、記憶手段に既にプログラムが保存されている状況で、新規のプログラムをダウンロードしようとするときに、それらのプログラムを共に記憶手段に保存しておくことができない場合がある。このような場合、本発明に係るプログラム実行装置では、その新規のプログラムの優先度と、記憶手段にあるプログラムの優先度とが比較されて、記憶手段にあるプログラムの優先度の方が低いときには、そのプログラムが記憶手段から削除されるとともに、そのプログラムの削除についてのメッセージがユーザに通知されるため、プログラム実行装置の挙動がその削除に伴って変化しても、ユーザはその原因をメッセージによって知っているため、安心してプログラム実行装置を利用することができる。
【００２１】
また、前記通知手段は、前記記憶手段に保存されているプログラムが削除されることの確認をユーザに求める内容のメッセージを通知し、前記プログラム実行装置は、さらに、前記メッセージに対するユーザの確認結果を取得する確認取得手段を備え、前記削除手段は、前記確認取得手段によって確認結果が取得されたことを検知すると、前記記憶手段に保存されているプログラムを削除することを特徴としても良い。
【００２２】
これにより、ユーザによるメッセージの確認が得られた後にプログラムの削除が行われるため、ユーザがメッセージを確認することなくプログラムが削除されてしまうのを防いで、メッセージを確実にユーザに伝えることができる。
【００２３】
また、前記通知手段は、前記記憶手段に保存されているプログラムを削除しても良いか否かを問い合わせる内容のメッセージを通知し、前記プログラム実行装置は、さらに、前記メッセージに対するユーザの応答結果を取得する応答取得手段を備え、前記削除手段は、前記応答取得手段によって取得された応答結果が削除の許可を示すことを検知すると、前記記憶手段に保存されているプログラムを削除することを特徴としても良い。
【００２４】
これにより、ユーザによる削除の許可が得られた後にプログラムの削除が行われるため、ユーザが許可することなくプログラムが削除されてしまうのを防いで、ユーザによる使い勝手を向上することができる。
【００２５】
ここで、前記プログラム実行装置は、さらに、前記応答取得手段によって取得された応答結果が削除の拒否を示すことを検知すると、前記保存判別手段で保存不可能と判別された前記記憶手段に保存されているプログラムの優先度を高める優先度変更手段を備え、前記保存判別手段は、前記優先度変更手段で変更された優先度に基づいて、再び、前記各プログラムを前記記憶手段に保存しておくことが可能か否かを判別することを特徴としても良い。
【００２６】
これにより、ユーザがプログラムの削除を拒否したときには、そのプログラムの優先度が高く設定され、その優先度を用いて再び複数のプログラムの中から保存不可能なプログラムが選ばれるため、ユーザにとって不要なプログラムを削除することができ、ユーザによる使い勝手をさらに向上することができる。
【００２７】
また、前記保存判別手段は、さらに、保存不可能と判別された複数のプログラムが前記記憶手段に保存されているか否かを判別し、前記通知手段は、前記保存判別手段で保存されていると判別された複数のプログラムのうちの何れを削除するかの選択を促す内容のメッセージを通知し、前記プログラム実行装置は、さらに、前記メッセージに対するユーザの選択結果を取得する選択結果取得手段を備え、前記削除手段は、前記選択結果取得手段によって取得された選択結果の示すプログラムを削除することを特徴としても良い。
【００２８】
例えば、記憶手段の容量が少ないために２つのプログラムを共に記憶手段に保存しておくことはできないが、そのうち何れか１つだけは記憶手段に保存しておくことができるという状況において、その２つのプログラムの優先度が共に等しい場合には、保存判別手段は、それら２つのプログラムの優劣をつけることができず、それぞれ保存不可能と判別してしまう。このような場合においても、本発明では、上述のように、その２つのプログラムの何れを削除するかをユーザに選択させるため、ユーザにとって不要なプログラムのみを削除することができ、ユーザによる使い勝手をさらに向上することができる。
【００２９】
また、前記プログラム実行装置は、さらに、前記保存判別手段で保存不可能と判別されたプログラムが前記実行手段によって実行されているか否かを判別する実行判別手段を備え、前記通知手段は、前記実行判別手段で実行中と判別されたプログラムの削除についてのメッセージをユーザに通知することを特徴としても良い。例えば、前記削除手段は、前記実行判別手段で実行中と判別されたプログラムの実行を終了させて削除する。
【００３０】
これにより、実行中のプログラムを保存しておくことが不可能と判別されたときには、ユーザへの通知とともに、そのプログラムの実行が強制的に終了されてそのプログラムが削除されるため、ダウンロード対象のプログラムのための保存容量を記憶手段に早期に設定することができる。
【００３１】
ここで、前記通知手段は、前記実行判別手段で実行中と判別されたプログラムを削除しても良いか否かをユーザに問い合わせる内容のメッセージを通知し、前記プログラム実行装置は、さらに、前記メッセージに対するユーザの応答結果を取得する応答取得手段を備え、前記削除手段は、前記応答取得手段によって取得された応答結果が削除の許可を示すことを検知すると、前記実行中のプログラムを終了させて削除することを特徴としても良い。
【００３２】
これにより、ユーザは削除するか否かを選択することができ、ユーザによる使い勝手をさらに向上することができる。
【００３３】
また、前記削除手段は、前記実行判別手段による判別結果に基づいて前記実行中のプログラムの終了を検知すると、前記プログラムを削除することを特徴としても良い。
【００３４】
これにより、実行中のプログラムを保存しておくことが不可能と判別されたときには、ユーザへの通知とともに、その実行中のプログラムが終了するまで待ってそのプログラムが削除されるため、その実行中のプログラムを安心してユーザに利用させることができる。
【００３５】
また、前記通知手段は、前記保存判別手段で保存不可能と判別されたダウンロード対象のプログラムの保存についてのメッセージをユーザに通知することを特徴としても良い。例えば、前記保存判別手段は、さらに、保存不可能と判別された複数のプログラムが前記記憶手段に保存されているか否かを判別し、前記通知手段は、前記保存判別手段で保存されていないと判別された複数のプログラムのうちの何れを前記記憶手段に保存するかの選択を促す内容のメッセージを通知し、前記プログラム実行装置は、さらに、前記メッセージに対するユーザの選択結果を取得する選択結果取得手段を備え、前記削除手段は、前記選択結果取得手段によって取得された選択結果の示すプログラムを前記記憶手段に保存する。
【００３６】
例えば、記憶手段の容量が少ないためにダウンロード対象の２つのプログラムを共に記憶手段に保存することはできないが、そのうち何れか１つだけは記憶手段に保存することができるという状況において、その２つのプログラムの優先度が共に等しい場合には、保存判別手段は、それら２つのプログラムの優劣をつけることができず、それぞれ保存不可能と判別してしまう。このような場合においても、本発明では、上述のように、その２つのプログラムの何れを保存するかをユーザに選択させるため、ユーザにとって必要なプログラムのみを保存することができ、ユーザによる使い勝手をさらに向上することができる。
【００３７】
なお、本発明は、このようなプログラム実行装置として実現することができるだけでなく、そのプログラム実行装置が行う動作の方法やプログラム、そのプログラムを格納する記憶媒体としても実現することができる。
【発明の効果】
【００３８】
本発明のプログラム実行装置は、ユーザが安心して利用することができるという作用効果を奏する。
【発明を実施するための最良の形態】
【００３９】
（実施の形態１）
本発明に係るケーブルテレビシステムの実施の形態を、図面を参照しながら説明する。
【００４０】
図３は、ケーブルシステムを構成する装置の関係を表したブロック図である。このケーブルシステムは、ヘッドエンド１０１と、３個のプログラム実行装置たる端末装置Ａ１１１、端末装置Ｂ１１２、及び端末装置Ｃ１１３とで構成される。本実施の形態では、１つのヘッドエンドに対して３つの端末装置が結合されているが、任意の数の端末装置をヘッドエンドに結合しても、本発明は実施可能である。
【００４１】
ヘッドエンド１０１は、複数の端末装置に対して映像や音声、データ等の放送信号を送信するとともに、端末装置からのデータ送信を受信する。これを実現するため、ヘッドエンド１０１と端末装置Ａ１１１、端末装置Ｂ１１２、及び端末装置Ｃ１１３間の伝送に用いられる周波数帯域は、分割して用いられる。
【００４２】
図４は、周波数帯域の分割の一例を示す図である。周波数帯域は、Ｏｕｔ  Ｏｆ  Ｂａｎｄ（略称ＯＯＢ）とＩｎ−Ｂａｎｄの２種類に大別される。５〜１３０ＭＨｚがＯＯＢに割り当てられ、主にヘッドエンド１０１と端末装置Ａ１１１、端末装置Ｂ１１２、及び端末装置Ｃ１１３間のデータのやり取りに使用される。１３０ＭＨｚ〜８６４ＭＨｚはＩｎ−Ｂａｎｄに割り当てられ、主として、映像や音声を含む放送チャンネルに使用される。ＯＯＢではＱＰＳＫ変調方式が、Ｉｎ−ＢａｎｄはＱＡＭ６４変調方式が使用される。変調方式技術については、本発明に関与が薄い公知技術であるので、詳細な説明は省略する。
【００４３】
図５は、ＯＯＢ周波数帯域の更に詳細な使用の一例を示す図である。７０ＭＨｚ〜７４ＭＨｚはヘッドエンド１０１からのデータ送信に使用され、全ての端末装置Ａ１１１、端末装置Ｂ１１２、及び端末装置Ｃ１１３が、ヘッドエンド１０１から同じデータを受け取ることになる。一方、１０．０ＭＨｚ〜１０．１ＭＨｚは端末装置Ａ１１１からヘッドエンド１０１へのデータ送信に使用され、１０．１ＭＨｚ〜１０．２ＭＨｚは端末装置Ｂ１１２からヘッドエンド１０１へのデータ送信に使用され、１０．２ＭＨｚ〜１０．３ＭＨｚは端末装置Ｃ１１３からヘッドエンド１０１へのデータ送信に使用される。これにより、各端末装置固有のデータを各端末装置Ａ１１１、端末装置Ｂ１１２、及び端末装置Ｃ１１３からヘッドエンド１０１に送信することができる。
【００４４】
図６は、Ｉｎ−Ｂａｎｄの周波数帯に対する使用の一例を示す図である。１５０〜１５６ＭＨｚと１５６〜１６２ＭＨｚはそれぞれテレビチャンネル１とテレビチャンネル２に割り当てられ、以降、６ＭＨｚ間隔でテレビチャンネルが割り当てられている。３１０ＭＨｚ以降は、１ＭＨｚ単位でラジオチャンネルに割り当てられている。これらの各チャンネルはアナログ放送として使用してもデジタル放送として使用してもよい。デジタル放送の場合は、ＭＰＥＧ２仕様に基づいたトラスポートパケット形式で伝送され、音声や映像に加え、各種データ放送用データも送信することができる。
【００４５】
ヘッドエンド１０１は、これらの周波数帯域に適切な放送信号を送信するため、ＱＰＳＫ変調部やＱＡＭ変調部等を有する。また、端末装置からのデータを受信するため、ＱＰＳＫ復調器を有する。また、ヘッドエンド１０１は、これら変調部及び復調部に関連する様々な機器を有すると考えられる。しかし、本発明は主として端末装置に関わるので、詳細な説明は省略する。
【００４６】
端末装置Ａ１１１、端末装置Ｂ１１２、及び端末装置Ｃ１１３は、ヘッドエンド１０１からの放送信号を受信し再生する。また、ヘッドエンド１０１に対して、各端末装置固有のデータを送信する。３つの、端末装置は本実施の形態では同じ構成を取る。
【００４７】
図７は、端末装置（プログラム実行装置）のハードウエア構成を表すブロック図である。上述の端末装置Ａ１１１、端末装置Ｂ１１２、及び端末装置Ｃ１１３のそれぞれに相当する端末装置５００は、ＱＡＭ復調部５０１、ＱＰＳＫ復調部５０２、ＱＰＳＫ変調部５０３、ＴＳデコーダ５０５、オーディオデコーダ５０６、スピーカ５０７、ビデオデコーダ５０８、ディスプレイ５０９、２次記憶部５１０、１次記憶部５１１、ＲＯＭ５１２、入力部５１３、及びＣＰＵ５１４で構成される。また端末装置５００には、ＰＯＤ５０４が着脱できる。
【００４８】
図８は、薄型テレビとして構成された端末装置５００の外観の一例を示す図である。
薄型テレビの筐体６０１は、ＰＯＤ５０４を除く、端末装置５００の構成要素をすべて内蔵している。
【００４９】
ディスプレイ６０２は、図７におけるディスプレイ５０９に相当する。
フロントパネル部６０３は複数のボタンで構成され、図７の入力部５１３に相当する。
【００５０】
信号入力端子６０４は、ヘッドエンド１０１との信号の送受信を行うためにケーブル線と接続する。また、信号入力端子６０４は、図７のＱＡＭ復調部５０１、ＱＰＳＫ復調部５０２、ＱＰＳＫ変調部５０３と接続されている。
【００５１】
ＰＯＤカード６０５は、図７のＰＯＤ５０４に相当する。ＰＯＤ５０４は、図８のＰＯＤカード６０５のように、端末装置５００とは独立した形態を取り、端末装置５００に着脱可能となっている。ＰＯＤ５０４の詳細は後述する。
【００５２】
挿入スロット６０６にはＰＯＤカード６０５が挿入される。
図７に示すように、ＱＡＭ復調部５０１は、ＣＰＵ５１４から指定された周波数を含むチューニング情報で、ヘッドエンド１０１でＱＡＭ変調され送信されてきた信号を復調し、ＰＯＤ５０４に引き渡す。
【００５３】
ＱＰＳＫ復調部５０２は、ＣＰＵ５１４から指定された周波数を含むチューニング情報で、ヘッドエンド１０１でＱＰＳＫ変調され送信されてきた信号を復調し、ＰＯＤ５０４に引き渡す。
【００５４】
ＱＰＳＫ変調部５０３は、ＣＰＵ５１４から指定された周波数を含む変調情報で、ＰＯＤ５０４から渡された信号をＱＰＳＫ変調し、ヘッドエンド１０１に送信する。
【００５５】
ＰＯＤ５０４は、図８のように端末装置本体５００から着脱可能な形態をしている。端末本体５００とＰＯＤ５０４の接続インターフェースは、ＯｐｅｎＣａｂｌｅ（Ｒ）  ＨＯＳＴ−ＰＯＤ  Ｉｎｔｅｒｆａｃｅ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ（ＯＣ−ＳＰ−ＨＯＳＴＰＯＤ−ＩＦ−Ｉ１２−０３０２１０）及び、この仕様書から参照されている仕様書で定義されている。ここでは、詳細は省略し、本発明に関する部分のみを解説する。
【００５６】
図９は、ＰＯＤ５０４の内部構成を表すブロック図である。ＰＯＤ５０４は、第１デスクランブラ部７０１、第２デスクランブラ部７０２、スクランブラ部７０３、第１記憶部７０４、第２記憶部７０５、及びＣＰＵ７０６で構成される。
【００５７】
第１デスクランブラ部７０１は、ＣＰＵ７０６からの指示により、端末装置５００のＱＡＭ復調部５０１から暗号化された信号を受け取り、復号を行う。そして、復号された信号を端末装置５００のＴＳデコーダ５０５に送る。デコードに必要な鍵などの情報はＣＰＵ７０６から適宜与えられる。具体的には、ヘッドエンド１０１はいくつかの有料チャンネルを放送している。ユーザが、この有料チャンネルを購買すると、第１デスクランブラ部７０１は、ＣＰＵ７０６から鍵等の必要な情報を受け取りデスクランブルすることで、ユーザは有料チャンネルを閲覧することができる。鍵などの必要な情報が与えられない場合は、第１デスクランブラ部７０１は、デスクランブルを行わず、受け取った信号をそのまま、ＴＳデコーダ５０５に送る。
【００５８】
第２デスクランブラ部７０２は、ＣＰＵ７０６からの指示により、端末装置５００のＱＰＳＫ復調部５０２から暗号化された信号を受け取り、復号を行う。そして、復号されたデータをＣＰＵ７０６に引き渡す。
【００５９】
スクランブラ部７０３は、ＣＰＵ７０６からの指示により、ＣＰＵ７０６から受け取ったデータを暗号化し、端末装置５００のＱＰＳＫ変調部５０３に送る。
【００６０】
第１記憶部７０４は、具体的にはＲＡＭ等の一次記憶メモリーで構成され、ＣＰＵ７０６が処理を行う際、一時的にデータを保存するために使用される。
【００６１】
第２記憶部７０５は、具体的にはフラッシュＲＯＭ等の２次記憶メモリーで構成され、ＣＰＵ７０６が実行するプログラムを格納し、また、電源ＯＦＦになっても消去されては困るデータの保存に使用される。
【００６２】
ＣＰＵ７０６は、第２記憶部７０５が記憶するプログラムを実行する。プログラムは複数のサブプログラムで構成される。
【００６３】
図１０は、第２記憶部７０５が記憶するプログラムの一例を示す図である。図１０では、プログラム８００は、メインプログラム８０１、初期化サブプログラム８０２、ネットワークサブプログラム８０３、再生サブプログラム８０４、及びＰＰＶサブプログラム８０５等の複数のサブプログラムで構成されている。
【００６４】
ここでＰＰＶとはＰａｙ  Ｐｅｒ  Ｖｉｅｗの略であり、映画など特定の番組を有料で視聴できるようにするサービスである。ユーザが暗証番号を入力すると、購入したことがヘッドエンド１０１に通知され、スクランブルが解除され、視聴することが出来る。この視聴により、ユーザは後日、購入代金を支払う。
【００６５】
メインプログラム８０１は、ＣＰＵ７０６が電源投入時に最初に起動するサブプログラムであり、他のサブプログラムの制御を行う。
【００６６】
初期化サブプログラム８０２は、電源投入時にメインプログラム８０１によって起動され、端末装置５００との情報交換等を行い、初期化処理を行う。初期化処理の詳細は、ＯｐｅｎＣａｂｌｅ（Ｒ）  ＨＯＳＴ−ＰＯＤ  Ｉｎｔｅｒｆａｃｅ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ（ＯＣ−ＳＰ−ＨＯＳＴＰＯＤ−ＩＦ−Ｉ１２−０３０２１０）及び、この仕様書から参照されている仕様書で定義されている。また、仕様書に定義されていない初期化処理も行う。ここでは、その一部を紹介する。電源が投入されると、初期化サブプログラム８０２は、第２記憶部７０５が記憶する第１の周波数を端末装置５００のＣＰＵ５１４を通して、ＱＰＳＫ復調部５０２に通知する。ＱＰＳＫ復調部５０２は、与えられた第１の周波数でチューニングを行い、信号を第２デスクランブラ部７０２に送る。また、初期化サブプログラム８０２は、第２記憶部７０５が記憶する第１の鍵等の復号情報を第２デスクランブラ部７０２に与える。その結果、第２デスクランブラ部７０２は、デスクランブルを行い、初期化サブプログラム８０２を実行するＣＰＵ７０６に引き渡す。よって、初期化サブプログラム８０２は情報を受け取ることができる。本実施の形態では、初期化
サブプログラム８０２はネットワークサブプログラム８０３を通して情報を受け取ることとする。詳細は後述する。
【００６７】
また、初期化サブプログラム８０２は、第２記憶部７０５が記憶する第２の周波数を端末装置５００のＣＰＵ５１４を通して、ＱＰＳＫ変調部５０３に通知する。初期化サブプログラム８０２は第２記憶部７０５が記憶する暗号化情報をスクランブラ部７０３に与える。初期化サブプログラム８０２が送信したい情報を、ネットワークサブプログラム８０３を介して、スクランブラ部７０３に与えると、スクランブラ部７０３は、与えられた暗号化情報を用いて、データを暗号化し、端末装置５００のＱＰＳＫ変調部５０３に与える。ＱＰＳＫ変調部５０３は、与えられた暗号化された情報を変調し、ヘッドエンド１０１に送信する。
【００６８】
この結果、初期化サブプログラム８０２は、端末装置５００、第２デスクランブラ部７０２、スクランブラ部７０３、及びネットワークサブプログラム８０３を通して、ヘッドエンド１０１と双方向通信を行うことができる。
【００６９】
ネットワークサブプログラム８０３は、メインプログラム８０１、初期化サブプログラム８０２等の複数のサブプログラムから使用される、ヘッドエンド１０１との双方向通信を行うためのサブプログラムである。具体的には、ネットワークサブプログラム８０３を使用する他のサブプログラムに対して、ＴＣＰ／ＩＰによって、ヘッドエンド１０１と双方向通信を行っているように振舞う。ＴＣＰ／ＩＰは、複数の装置間で情報交換を行うためのプロトコルを規定した公知の技術であり、詳細な説明は省略する。ネットワークサブプログラム８０３は、電源投入時に初期化サブプログラム８０２に起動されると、予め第２記憶部７０５が記憶しているＰＯＤ５０４を識別する識別子であるＭＡＣアドレス（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌアドレスの略）を、端末装置５００を通してヘッドエンド１０１に通知し、ＩＰアドレスの取得を要求する。ヘッドエンド１０１は、端末装置５００を介してＰＯＤ５０４にＩＰアドレスを通知し、ネットワークサブプログラム８０３は、ＩＰアドレスを第１記憶部７０４に記憶する。以降、ヘッドエンド１０１とＰＯＤ５０４は、このＩＰアドレスを、ＰＯＤ５０４の識別子として使用し、通信を行う。
【００７０】
再生サブプログラム８０４は、第２記憶部７０５が記憶する第２の鍵等の復号情報や、端末装置５００から与えられる第３の鍵等の復号情報を第１デスクランブラ部７０１に与えて、デスクランブルを可能にする。また、ネットワークサブプログラム８０３を通して、第１デスクランブラ部７０１に入力されている信号が、ＰＰＶチャンネルであることの情報を受け取る。ＰＰＶチャンネルと知ったときは、ＰＰＶサブプログラム８０５を起動する。
【００７１】
ＰＰＶサブプログラム８０５は、起動されると、端末装置５００に番組の購入を促すメッセージを表示し、ユーザの入力を受け取る。具体的には、端末装置５００のＣＰＵ５１４に画面に表示したい情報を送ると、端末装置５００のＣＰＵ５１４上で動作するプログラムが、端末装置５００のディスプレイ５０９上にメッセージを表示する。ユーザは、端末装置５００の入力部５１３を通して暗証番号を入力すると、端末装置５００のＣＰＵ５１４が、それを受け取り、ＰＯＤ５０４のＣＰＵ７０６上で動作するＰＰＶサブプログラム８０５に通知する。ＰＰＶサブプログラム８０５は、受け取った暗証番号をネットワークサブプログラム８０３を通してヘッドエンド１０１に送信する。ヘッドエンド１０１は、暗証番号が正しければ、復号に必要な第４の鍵などの復号化情報をネットワークサブプログラム８０３を介して、ＰＰＶサブプログラム８０５に通知する。ＰＰＶサブプログラム８０５は受け取った第４の鍵などの復号化情報を第１デスクランブラ部７０１に与え、第１デスクランブラ部７０１は、入力されている信号をデスクランブルする。
【００７２】
図７に示すように、ＴＳデコーダ５０５は、ＰＯＤ５０４から受け取った信号のフィルタリングを実施し、必要なデータをオーディオデコーダ５０６及びビデオデコーダ５０８、ＣＰＵ５１４に引き渡す。ここで、ＰＯＤ５０４から来る信号はＭＰＥＧ２トランスポートストリームである。ＭＰＥＧ２トランスポートストリームの詳細はＭＰＥＧ規格書  ＩＳＯ／ＩＥＣ１３８１８−１に記載されており、本実施の形態では詳細は省略する。ＭＰＥＧ２トランスポートストリームは、複数の固定長パケットで構成され、各パケットには、パケットＩＤが振られている。
【００７３】
図１１は、パケットの構成図である。パケット９００は、固定長の１８８バイトで構成される。先頭４バイトがヘッダー９０１で、パケットの識別情報を格納しており、残り１８４バイトがペイロード９０２で、送信したい情報を含んでいる。ヘッダー９０１は構成９０３のように構成されている。先頭から１２ビット目〜２４ビット目までの１３ビットにパケットＩＤが含まれている。
【００７４】
図１２は、送られてくる複数のパケットの列を表現した模式図である。パケット１００１は、ヘッダーにパケットＩＤ「１」を持ち、ペイロードには映像Ａの１番目の情報が入っている。パケット１００２は、ヘッダーにパケットＩＤ「２」を持ち、ペイロードには音声Ａの１番目の情報が入っている。パケット１００３は、ヘッダーにパケットＩＤ「３」を持ち、ペイロードには音声Ｂの１番目の情報が入っている。
【００７５】
パケット１００４は、ヘッダーにパケットＩＤ「１」を持ち、ペイロードには映像Ａの２番目の情報が入っており、これはパケット１００１の続きになっている。同様にパケット１００５、１０２６、１０２７も他のパケットの後続データを格納している。このように、同じパケットＩＤを持つ、パケットのペイロードの内容を連結すると、連続した映像や音声を再現することができる。
【００７６】
図１２に示すように、ＣＰＵ５１４がパケットＩＤ「１」と出力先としての「ビデオデコーダ５０８」をＴＳデコーダ５０５に指示すると、ＴＳデコーダ５０５はＰＯＤ５０４から受け取ったＭＰＥＧ２トランスポートストリームからパケットＩＤ「１」のパケットを抽出し、ビデオデコーダ５０８に引き渡す。図１２においては、映像データのみをビデオデコーダ５０８に引き渡すことになる。同時に、ＣＰＵ５１４がパケットＩＤ「２」と「オーディオデコーダ５０６」をＴＳデコーダ５０５に指示すると、ＴＳデコーダ５０５はＰＯＤ５０４から受け取ったＭＰＥＧ２トランスポートストリームからパケットＩＤ「２」のパケットを抽出し、オーディオデコーダ５０６に引き渡す。図１２においては、音声データのみをオーディオデコーダ５０６に引き渡すことになる。
【００７７】
このパケットＩＤに応じて必要なパケットだけを取り出す処理が、ＴＳデコーダ５０５が行うフィルタリングである。ＴＳデコーダ５０５はＣＰＵ５１４から指示された複数のフィルタリングを同時に実行することができる。
【００７８】
図７に示すように、オーディオデコーダ５０６は、ＴＳデコーダ５０５から与えられたＭＰＥＧ２トランスポートストリームのパケットに埋め込まれたオーディオデータを連結し、デジタル−アナログ変換を行いスピーカ５０７に出力する。
【００７９】
スピーカ５０７は、オーディオデコーダ５０６から与えられた信号を音声出力する。
ビデオデコーダ５０８は、ＴＳデコーダ５０５から与えられたＭＰＥＧ２トランスポートストリームのパケットに埋め込まれたビデオデータを連結し、デジタル−アナログ変換を行いディスプレイ５０９に出力する。
【００８０】
ディスプレイ５０９は、具体的にはブラウン管や液晶等で構成され、ビデオデコーダ５０８から与えられたビデオ信号を出力したり、ＣＰＵ５１４から指示されたメッセージを表示したりする。
【００８１】
２次記憶部５１０は、具体的には、フラッシュメモリーやハードディスク等で構成され、ＣＰＵ５１４から指示されたデータやプログラムを保存したり削除したりする。また、保存されているデータやプログラムはＣＰＵ５１４に参照される。保存されているデータやプログラムは、端末装置５００の電源が切断された状態でも保存しつづける。
【００８２】
１次記憶部５１１は、具体的には、ＲＡＭ等で構成され、ＣＰＵ５１４から指示されたデータやプログラムを一次的に保存したり削除したりする。また、保存されているデータやプログラムはＣＰＵ５１４に参照される。保存されているデータやプログラムは、端末装置５００の電源が切断された際に、抹消される。
【００８３】
ＲＯＭ５１２は、書き換え不可能なメモリーデバイスであり、具体的にはＲＯＭやＣＤ−ＲＯＭ、ＤＶＤなどで構成される。ＲＯＭ５１２は、ＣＰＵ５１４が実行するプログラムが格納されている。
【００８４】
入力部５１３は、具体的には、フロントパネルやリモコンで構成され、ユーザからの入力を受け付ける。
【００８５】
図１３は、フロントパネルで入力部５１３を構成した場合の一例を示す図である。フロントパネル１１００は、図８のフロントパネル部６０３に相当する。フロントパネル１１００は７つのボタン、すなわち上カーソルボタン１１０１、下カーソルボタン１１０２、左カーソルボタン１１０３、右カーソルボタン１１０４、ＯＫボタン１１０５、取消ボタン１１０６、及びＥＰＧボタン１１０７を備えている。ユーザがボタンを押下すると、押下されたボタンの識別子が、ＣＰＵ５１４に通知される。
【００８６】
ＣＰＵ５１４は、ＲＯＭ５１２が記憶するプログラムを実行する。実行するプログラムの指示に従い、ＱＡＭ復調部５０１、ＱＰＳＫ復調部５０２、ＱＰＳＫ変調部５０３、ＰＯＤ５０４、ＴＳデコーダ５０５、ディスプレイ５０９、２次記憶部５１０、１次記憶部５１１、及びＲＯＭ５１２を制御する。
【００８７】
図１４は、ＲＯＭ５１２に記憶され、ＣＰＵ５１４に実行されるプログラムの一例を示す構成図。
【００８８】
プログラム１２００は、複数のサブプログラムで構成され、具体的にはＯＳ１２０１、ＥＰＧ１２０２、Ｊａｖａ（登録商標）ＶＭ１２０３（以後ＶＭ１２０３と称す）、サービスマネージャ１２０４、Ｊａｖａライブラリ１２０５（以後ライブラリ１２０５と称す）で構成される。
【００８９】
ＯＳ１２０１は、端末装置５００の電源が投入されると、ＣＰＵ５１４が起動するサブプログラムである。ＯＳ１２０１は、オペレーティングシステムの略であり、Ｌｉｎｕｘ（登録商標）等が一例である。ＯＳ１２０１は、他のサブプログラムを平行して実行するカーネル１２０１ａ及びライブラリ１２０１ｂで構成される公知の技術の総称であり、詳細な説明は省略する。本実施の形態においては、ＯＳ１２０１のカーネル１２０１ａは、ＥＰＧ１２０２とＶＭ１２０３をサブプログラムとして実行する。また、ライブラリ１２０１ｂは、これらサブプログラムに対して、端末装置５００が保持する構成要素を制御するための複数の機能を提供する。
【００９０】
機能の一例として、チューニング機能を紹介する。チューニング機能は、他のサブプログラムから周波数を含むチューニング情報を受け取り、それをＱＡＭ復調部５０１に引き渡す。ＱＡＭ復調部５０１は与えられたチューニング情報に基づき復調処理を行い、復調したデータをＰＯＤ５０４に引き渡すことができる。この結果、他のサブプログラムはライブラリ１２０１ｂを通してＱＡＭ復調器を制御することができる。
【００９１】
ＥＰＧ１２０２は、ユーザに番組一覧を表示し、ユーザからの入力を受け付ける番組表示部１２０２ａと、チャンネル選局を行う再生部１２０２ｂで構成される。ここで、ＥＰＧはＥｌｅｃｔｒｉｃ  Ｐｒｏｇｒａｍ  Ｇｕｉｄｅの略である。ＥＰＧ１２０２は、端末装置５００の電源が投入されると、カーネル１２０１ａによって起動される、起動されたＥＰＧ１２０２の内部では、番組表示部１２０２ａが端末装置５００の入力部５１３を通して、ユーザからの入力を待つ。ここで、入力部５１３が図１３で示されるフロントパネルで構成されている場合、ユーザが、入力部５１３のＥＰＧボタン１１０７を押下すると、ＥＰＧボタンの識別子がＣＰＵ５１４に通知される。ＣＰＵ５１４上で動作するサブプログラムであるＥＰＧ１２０２の番組表示部１２０２ａは、この識別子を受け取り、番組情報をディスプレイ５０９に表示する。
【００９２】
図１５Ａ及び図１５Ｂは、ディスプレイ５０９に表示された番組表の一例を示す図である。図１５Ａに示すように、ディスプレイ５０９には、格子状に番組情報が表示されている。列１３０１には、時刻情報が表示されている。列１３０２には、チャンネル名「チャンネル１」と、列１３０１の時刻に対応する時間帯に放映される番組が表示されている。「チャンネル１」では、９：００〜１０：３０に番組「ニュース９」が放映され、１０：３０〜１２：００は「映画ＡＡＡ」が放映されることを表す。列１３０３も列１３０２同様、チャンネル名「チャンネル２」と、列１３０１の時刻に対応する時間帯に放映される番組が表示されている。９：００〜１１：００に番組「映画ＢＢＢ」が放映され、１１：００〜１２：００は「ニュース１１」が放映される。カーソル１３３０は、フロントパネル１１００の左カーソルボタン１１０３と右カーソルボタン１１０４を押下すると移動する。図１５Ａの状態で、右カーソルボタン１１０４を押下すると、カーソルボタン１３３０は右に移動し、図１５Ｂのようになる。また、図１５Ｂの状態で、左カーソル１１０３を押下すると、カーソル１３３０は左に移動し、図１５Ａのようになる。
【００９３】
図１５Ａの状態で、フロントパネル１１００のＯＫボタン１１０５が押下されると、番組表示部１２０２ａは、「チャンネル１」の識別子を再生部１２０２ｂに通知する。図１５Ｂの状態で、フロントパネル１１００のＯＫボタン１１０５が押下されると、番組表示部１２０２ａは、「チャンネル２」の識別子を再生部１２０２ｂに通知する。
【００９４】
また、番組表示部１２０２ａは、表示する番組情報を、ＰＯＤ５０４を通してヘッドエンド１０１から定期的に、１次記憶部５１１に記憶しておく。一般的に、ヘッドエンドからの番組情報の取得は時間が掛かる。入力部５１３のＥＰＧボタン１１０７が押下された時、１次記憶部５１１に予め保存された番組情報を表示することで、素早く番組表を表示することができる。
【００９５】
再生部１２０２ｂは、受け取ったチャンネルの識別子を用いて、チャンネルを再生する。チャンネルの識別子とチャンネルの関係は、チャンネル情報として、２次記憶部５１０に予め格納されている。
【００９６】
図１６は、２次記憶部５１０に格納されているチャンネル情報の一例を示す図である。チャンネル情報は表形式で格納されている。列１４０１は、チャンネルの識別子である。列１４０２は、チャンネル名である。列１４０３はチューニング情報である。ここで、チューニング情報は周波数や転送レート、符号化率などを含み、ＱＡＭ復調部５０１に与える値である。列１４０４はプログラムナンバーである。プログラムナンバーとは、ＭＰＥＧ２規格で規定されているＰＭＴを識別するための番号である。ＰＭＴに関しては、後述する。行１４１１〜１４１４の各行は、各チャンネルの識別子、チャンネル名、チューニング情報の組となる。行１４１１は、識別子としての「１」、チャンネル名としての「チャンネル１」、チューニング情報としての周波数「１５０ＭＨｚ」、及びプログラムナンバーとしての「１０１」を含む組となっている。再生部１２０２ｂは、チャンネルの再生を行うため、受け取ったチャンネルの識別子をそのままサービスマネージャに引き渡す。また、再生部１２０２ｂは、再生中に、ユーザがフロントパネル１１００の上カーソルボタン１１０１と下カーソルボタン１１０２を押下すると、入力部５１３からＣＰＵ５１４を通して、押下された通知を受け取り、再生しているチャンネルを変更する。まず、再生部１２０２ｂは、１次記憶部５１１に現在再生中のチャンネルの識別子を記憶する。
【００９７】
図１７Ａ、図１７Ｂ、及び図１７Ｃは、１次記憶部５１１に保存しているチャンネルの識別子の例を示す図である。図１７Ａでは識別子「３」が記憶されており、図１６に示すように、チャンネル名「ＴＶ  ３」のチャンネルが再生中であることを示す。図１７Ａの状態で、ユーザが上カーソルボタン１１０１を押下すると再生部１２０２ｂは、図１６のチャンネル情報を参照し、表中の前のチャンネルであるチャンネル名「チャンネル２」のチャンネルに再生を切り変えるため、サービスマネージャにチャンネル名「チャンネル２」の識別子「２」を引き渡す。同時に、再生部１２０２ｂは、１次記憶部５１１に記憶されているチャンネル識別子を「２」に書き換える。図１７Ｂは、チャンネル識別子が書き換えられた状態を表す。また、図１７Ａの状態で、ユーザが下カーソルボタン１１０２を押下すると再生部１２０２ｂは、図１６のチャンネル情報を参照し、表中の次のチャンネルであるチャンネル名「ＴＶ  Ｊａｐａｎ」のチャンネルに再生を切り変えるため、サービスマネージャにチャンネル名「ＴＶ  Ｊａｐａｎ」の識別子「４」を引き渡す。同時に、再生部１２０２ｂは、１次記憶部５１１に記憶されているチャンネル識別子を「４」に書き換える。図１７Ｂは、チャンネル識別子が書き換えられた状態を表す。
【００９８】
ＶＭ１２０３は、Ｊａｖａ（登録商標）言語で記述されたプログラムを逐次解析し実行するＪａｖａバーチャルマシンである。Ｊａｖａ言語で記述されたプログラムはバイトコードと呼ばれる、ハードウエアに依存しない中間コードにコンパイルされる。Ｊａｖａバーチャルマシンは、このバイトコードを実行するインタープリタである。また、一部のＪａｖａバーチャルマシンは、バイトコードをＣＰＵ５１４が理解可能な実行形式に翻訳してから、ＣＰＵ５１４に引渡し、実行することも行う。ＶＭ１２０３は、カーネル１２０１ａに、実行するＪａｖａプログラムを指定され起動される。本実施の形態では、カーネル１２０１ａは、実行するＪａｖａプログラムとしてサービスマネージャ１２０４を指定する。Ｊａｖａ言語の詳細は、書籍「Ｊａｖａ（Ｒ）  Ｌａｎｇｕａｇｅ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ（ＩＳＢＮ  ０−２０１−６３４５１−１）」等の多くの書籍で解説されている。ここでは、その詳細を省略する。また、Ｊａｖａバーチャルマシン自体の詳細な動作などは、「Ｊａｖａ（Ｒ）  Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ（ＩＳＢＮ  ０−２０１−６３４５１―Ｘ）」等の多くの書籍で解説されている。ここでは、その詳細を省略する。
【００９９】
サービスマネージャ１２０４は、Ｊａｖａ言語で書かれたＪａｖａプログラムであり、ＶＭ１２０３によって逐次実行される。サービスマネージャ１２０４は、ＪＮＩ（Ｊａｖａ（Ｒ）  Ｎａｔｉｖｅ  Ｉｎｔｅｒｆａｃｅ）を通して、Ｊａｖａ言語で記述されていない他のサブプログラムを呼び出したり、または、呼び出されたりすることが可能である。ＪＮＩに関しても、書籍「Ｊａｖａ（Ｒ）  Ｎａｔｉｖｅ  Ｉｎｔｅｒｆａｃｅ」等の多くの書籍で解説されている。ここでは、その詳細を省略する。
【０１００】
サービスマネージャ１２０４は、ＪＮＩを通して、再生部１２０２ｂよりチャンネルの識別子を受け取る。
【０１０１】
サービスマネージャ１２０４は、最初にライブラリ１２０５の中にあるＴｕｎｅｒ１２０５ｃに、チャンネルの識別子を引渡し、チューニングを依頼する。Ｔｕｎｅｒ１２０５ｃは、２次記憶部５１０が記憶するチャンネル情報を参照し、チューニング情報を獲得する。今、サービスマネージャ１２０４がチャンネルの識別子「２」をＴｕｎｅｒ１２０５ｃに引き渡すと、Ｔｕｎｅｒ１２０５ｃは、図１６の行１４１２を参照して、対応するチューニング情報「１５６ＭＨｚ，」を獲得する。Ｔｕｎｅｒ１２０５ｃは、ＯＳ１２０１のライブラリ１２０１ｂを通して、ＱＡＭ復調部５０１にチューニング情報を引き渡す。ＱＡＭ復調部５０１は与えられたチューニング情報に従ってヘッドエンド１０１から送信されてきた信号を復調し、ＰＯＤ５０４に引き渡す。
【０１０２】
次にサービスマネージャ１２０４は、ライブラリ１２０５の中にあるＣＡ１２０５ｄにデスクランブルを依頼する。ＣＡ１２０５ｄは、ＯＳ１２０１のライブラリ１２０１ｂを通して復号に必要な情報をＰＯＤ５０４に与える。ＰＯＤ５０４は、与えられた情報を元に、ＱＡＭ復調部５０１から与えられた信号を復号しＴＳデコーダ５０５に引き渡す。
【０１０３】
次にサービスマネージャ１２０４は、ライブラリ１２０５の中にあるＪＭＦ１２０５ａにチャンネルの識別子を与え、映像や音声の再生を依頼する。
【０１０４】
まず、最初にＪＭＦ１２０５ａは、再生すべき映像と音声を特定するためのパケットＩＤをＰＡＴ及びＰＭＴから取得する。ＰＡＴやＰＭＴはＭＰＥＧ２規格で規定されている、ＭＰＥＧ２トランスポートストリーム内の番組構成を表現するテーブルであり、ＭＰＥＧ２トランスポートストリームに含まれるパケットのペイロードに埋め込まれて、音声や映像と共に送信されるものである。詳細は規格書を参照されたい。ここでは、概略のみ説明する。ＰＡＴは、Ｐｒｏｇｒａｍ  Ａｓｓｏｃｉａｔｉｏｎ  Ｔａｂｌｅの略で、パケットＩＤ「０」のパケットに格納され送信されている。ＪＭＦ１２０５ａは、ＰＡＴを取得するため、ＯＳ１２０１のライブラリ１２０１ｂを通して、ＴＳデコーダ５０５にパケットＩＤ「０」とＣＰＵ５１４を指定する。ＴＳデコーダ５０５がパケットＩＤ「０」でフィルタリングを行い、ＣＰＵ５１４に引き渡すことでＪＭＦ１２０５ａは、ＰＡＴのパケットを収集する。
【０１０５】
図１８は、収集したＰＡＴの情報の一例を模式的に表した図である。列１６０１は、プログラムナンバーである。列１６０２は、パケットＩＤである。列１６０２のパケットＩＤはＰＭＴを取得するために用いられる。行１６１１〜１６１３のそれぞれは、チャンネルのプログラムナンバーと対応するパケットＩＤの組である。ここでは、３つのチャンネルが定義されている。行１６１１ではプログラムナンバー「１０１」とパケットＩＤ「５０１」の組が定義されている。今、ＪＭＦ１２０５ａに与えられたチャンネルの識別子が「２」とすると、ＪＭＦ１２０５ａは、図１６の行１４１２を参照して、対応するプログラムナンバー「１０２」を獲得し、次に、図１８のＰＡＴの行１６１２を参照し、プログラムナンバー「１０２」に対応するパケットＩＤ「５０２」を獲得する。ＰＭＴは、Ｐｒｏｇｒａｍ  Ｍａｐ  Ｔａｂｌｅの略で、ＰＡＴで規定されたパケットＩＤのパケットに格納され送信されている。ＪＭＦ１２０５ａは、ＰＭＴを取得するため、ＯＳ１２０１のライブラリ１２０１ｂを通して、ＴＳデコーダ５０５にパケットＩＤとＣＰＵ５１４を指定する。ここで、指定するパケットＩＤは「５０２」とする。ＴＳデコーダ５０５がパケットＩＤ「５０２」でフィルタリングを行い、ＣＰＵ５１４に引き渡すことでＪＭＦ１２０５ａは、ＰＭＴのパケットを収集する。
【０１０６】
図１９は、収集したＰＭＴの情報の一例を模式的に表した図である。列１７０１は、ストリーム種別であり、列１７０２は、パケットＩＤである。列１７０２で指定されるパケットＩＤのパケットには、ストリーム種別で指定された情報がペイロードに格納され送信されている。列１７０３は補足情報である。行１７１１〜１７１４はエレメンタリ−ストリームと呼ばれる、パケットＩＤと送信している情報の種別の組である。行１７１１は、ストリーム種別「音声」とパケットＩＤ「５０１１」の組であり、パケットＩＤ「５０１１」のペイロードには音声が格納されていることを表す。ＪＭＦ１２０５ａは、ＰＭＴから再生する映像と音声のパケットＩＤを獲得する。図１９に示すように、ＪＭＦ１２０５ａは、行１７１１から音声のパケットＩＤ「５０１１」を、行１７１２から映像のパケットＩＤ「５０１２」を獲得する。
【０１０７】
次に、ＪＭＦ１２０５ａは、ＯＳ１２０１のライブラリ１２０１ｂを通して、獲得した音声のパケットＩＤと出力先としてのオーディオデコーダ５０６の組、及び映像のパケットＩＤと出力先としてのビデオデコーダ５０８の組を、ＴＳデコーダ５０５に与える。ＴＳデコーダ５０５は与えられたパケットＩＤと出力先に基づいて、フィルタリングを行う。ここではパケットＩＤ「５０１１」のパケットをオーディオデコーダ５０６に、パケットＩＤ「５０１２」のパケットをビデオデコーダ５０８に引き渡す。オーディオデコーダ５０６は、与えられたパケットのデジタル−アナログ変換を行いスピーカ５０７を通して音声を再生する。ビデオデコーダ５０８は、与えられたパケットのデジタル−アナログ変換を行いディスプレイ５０９に映像を表示する。
【０１０８】
最後にサービスマネージャ１２０４は、ライブラリ１２０５の中にあるＡＭ１２０５ｂにチャンネルの識別子を与え、データ放送再生を依頼する。ここで、データ放送再生とは、ＭＰＥＧ２トランスポートストリームに含まれるＪａｖａプログラムを抽出し、ＶＭ１２０３に実行させることである。ＭＰＥＧ２トランスポートストリームにＪａｖａプログラムを埋め込む方法は、ＭＰＥＧ規格書  ＩＳＯ／ＩＥＣ１３８１８−６に記述されたＤＳＭＣＣという方式を用いる。ここではＤＳＭＣＣの詳細な説明は省略する。ＤＳＭＣＣ方式は、ＭＰＥＧ２トランスポートストリームのパケットの中に、コンピュータで使用されているディレクトリやファイルで構成されるファイルシステムをエンコードする方法を規定している。また、実行するＪａｖａプログラムの情報はＡＩＴと呼ばれる形式で、ＭＰＥＧ２トランスポートストリームのパケットの中に埋め込まれ送信されている。ＡＩＴは、ＯＣＡＰ仕様（正式には、ＯＣＡＰ  １．０  Ｐｒｏｆｉｌｅ  ＯＣ−ＳＰ−ＯＣＡＰ１．０−ＩＦ−Ｉ０９−０３１１２１）に定義されている、Ａｐｐｌｉｃａｔｉｏｎ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｔａｂｌｅの略である。
【０１０９】
ＡＭ１２０５ｂは、まず、ＡＩＴを獲得するため、ＪＭＦ１２０５ａ同様ＰＡＴ及びＰＭＴを取得し、ＡＩＴが格納されているパケットのパケットＩＤを獲得する。今、与えられたチャンネルの識別子が「２」で、図１８のＰＡＴ、図１９のＰＭＴが送信されていると、ＪＭＦ１２０５ａと同様の手順で、図１９のＰＭＴを獲得する。ＡＭ１２０５ｂは、ＰＭＴからストリーム種別が「データ」で補足情報として「ＡＩＴ」を持つエレメンタリ−ストリームからパケットＩＤを抽出する。図１９に示すように、行１７１３のエレメンタリ−ストリームが該当し、パケットＩＤ「５０１３」を獲得する。
【０１１０】
ＡＭ１２０５ｂは、ＯＳ１２０１のライブラリ１２０１ｂを通してＴＳデコーダ５０５にＡＩＴのパケットＩＤと出力先ＣＰＵ５１４を与える。ＴＳデコーダ５０５は、与えられたパケットＩＤでフィルタリングを行い、ＣＰＵ５１４に引き渡す。この結果、ＡＭ１２０５ｂは、ＡＩＴのパケットを収集することができる。
【０１１１】
図２０は、収集したＡＩＴの情報の一例を模式的に表した図である。列１８０１はＪａｖａプログラムの識別子である。列１８０２はＪａｖａプログラムの制御情報である。制御情報には「ａｕｔｏｓｔａｒｔ」「ｐｒｅｓｅｎｔ」「ｋｉｌｌ」などがあり、「ａｕｔｏｓｔａｒｔ」は即時に端末装置５００がこのプログラムを自動的に実行することを意味し、「ｐｒｅｓｅｎｔ」は自動実行しないことを意味し、「ｋｉｌｌ」はプログラムを停止することを意味する。列１８０３は、ＤＳＭＣＣ方式でＪａｖａプログラムを含んでいるパケットＩＤを抽出するためのＤＳＭＣＣ識別子である。列１８０４はＪａｖａプログラムのプログラム名である。行１８１１と１８１２はそれぞれ、Ｊａｖａプログラムの情報の組である。行１８１１で定義されるＪａｖａプログラムの情報は、識別子「３０１」、制御情報「ａｕｔｏｓｔａｒｔ」、ＤＳＭＣＣ識別子「１」、及びプログラム名「ａ／ＴｏｐＸｌｅｔ」の組である。行１８１２で定義されるＪａｖａプログラムの情報は、識別子「３０２」、制御情報「ｐｒｅｓｅｎｔ」、ＤＳＭＣＣ識別子「１」、及びプログラム名「ｂ／ＧａｍｅＸｌｅｔ」の組である。ここで２つのＪａｖａプログラムは同じＤＳＭＣＣ識別子を持つが、これは１つのＤＳＭＣＣ方式でエンコードされたファイルシステム内に２つのＪａｖａプログラムが含まれていることを表す。ここでは、Ｊａｖａプログラムに対して４つの情報しか規定しないが、実際にはより多くの情報が定義される。詳細はＯＣＡＰ仕様（ＯＣＡＰ  １．０  Ｐｒｏｆｉｌｅ  ＯＣ−ＳＰ−ＯＣＡＰ１．０−ＩＦ−Ｉ０９−０３１１２１）を参照されたい。
【０１１２】
ＡＭ１２０５ｂは、ＡＩＴの中から「ａｕｔｏｓｔａｒｔ」のＪａｖａプログラムを見つけ出し、対応するＤＳＭＣＣ識別子及びＪａｖａプログラム名を抽出する。図２０に示すように、ＡＭ１２０５ｂは行１８１１のＪａｖａプログラムを抽出し、ＤＳＭＣＣ識別子「１」及びＪａｖａ（Ｒ）プログラム名「ａ／ＴｏｐＸｌｅｔ」を獲得する。
【０１１３】
次にＡＭ１２０５ｂは、ＡＩＴから取得したＤＳＭＣＣ識別子を用いて、ＪａｖａプログラムをＤＳＭＣＣ方式で格納しているパケットのパケットＩＤをＰＭＴから獲得する。具体的には、ＰＭＴの中でストリーム種別が「データ」で、補足情報のＤＳＭＣＣ識別子が合致するエレメンタリ−ストリームのパケットＩＤを取得する。
【０１１４】
今、ＤＳＭＣＣ識別子が「１」であり、ＰＭＴが図１９とすると、行１７１４のエレメンタリ−ストリームが合致し、パケットＩＤ「５０１４」を取り出す。
【０１１５】
ＡＭ１２０５ｂは、ＯＳ１２０１のライブラリ１２０１ｂを通してＴＳデコーダ５０５にＤＳＭＣＣ方式でデータが埋めこめられたパケットのパケットＩＤと出力先としてのＣＰＵ５１４を指定する。ここでは、パケットＩＤ「５０１４」を与える。ＴＳデコーダ５０５、与えられたパケットＩＤでフィルタリングを行い、ＣＰＵ５１４に引き渡す。この結果、ＡＭ１２０５ｂは、必要なパケットを収集することができる。ＡＭ１２０５ｂは、収集したパケットから、ＤＳＭＣＣ方式に従ってファイルシステムを復元し、１次記憶部５１１に保存する。ＭＰＥＧ２トランスポートストリーム中のパケットからファイルシステム等のデータを取り出し１次記憶部５１１等の記憶手段に保存することを以降、ダウンロードと呼ぶ。
【０１１６】
図２１は、ダウンロードしたファイルシステムの一例を示す図である。図中、丸はディレクトリを四角はファイルを表し、このファイルシステムは、ルートディレクトリ１９０１、ディレクトリ「ａ」１９０２、ディレクトリ「ｂ」１９０３、ファイル「ＴｏｐＸｌｅｔ．ｃｌａｓｓ」１９０４、及びファイル「ＧａｍｅＸｌｅｔ．ｃｌａｓｓ」１９０５を含む。
【０１１７】
次にＡＭ１２０５ｂは、１次記憶部５１１にダウンロードしたファイルシステム中から実行するＪａｖａプログラムをＶＭ１２０３に引き渡す。今、実行するＪａｖａプログラム名が「ａ／ＴｏｐＸｌｅｔ」とすると、Ｊａｖａプログラム名の最後に「．ｃｌａｓｓ」を付加したファイル「ａ／ＴｏｐＸｌｅｔ．ｃｌａｓｓ」が実行すべきファイルとなる。「／」はディレクトリやファイル名の区切りであり、図２１に示すように、ファイル１９０４が実行すべきＪａｖａプログラムである。次にＡＭ１２０５ｂは、ファイル１９０４をＶＭ１２０３に引き渡す。
【０１１８】
ＶＭ１２０３は、引き渡されたＪａｖａプログラムを実行する。
サービスマネージャ１２０４は、他のチャンネルの識別子を受け取ると、ライブラリ１２０５に含まれる各ライブラリを通して再生している映像、音声及びＪａｖａプログラムの実行を、同じくライブラリ１２０５に含まれる各ライブラリを通して停止し、新たに受け取ったチャンネルの識別子に基づいて、映像や音声の再生及びＪａｖａプログラムの実行を行う。
【０１１９】
ライブラリ１２０５は、ＲＯＭ５１２に格納されている複数のＪａｖａライブラリの集合である。本実施の形態では、ライブラリ１２０５は、ＪＭＦ１２０５ａ、ＡＭ１２０５ｂ、Ｔｕｎｅｒ１２０５ｃ、ＣＡ１２０５ｄ、及びＰＯＤ  Ｌｉｂ１２０５ｅ等を含んでいる。
【０１２０】
次に、Ｊａｖａプログラムのダウンロード、保存、及び実行機能について説明する。
サービスマネージャ１２０４は、ライブラリ１２０５に含まれるＰＯＤ  Ｌｉｂ１２０５ｅを通してヘッドエンド１０１との通信によりヘッドエンド１０１からの情報を受取ることができる。この通信は、ＰＯＤ  Ｌｉｂ１２０５ｅがＯＳ１２０１のライブラリ１２０１ｂ及びＰＯＤ５０４を介してＱＰＳＫ復調部５０２を使用することで実現される。
【０１２１】
サービスマネージャ１２０４は、この通信を用いてヘッドエンド１０１から、端末装置５００が２次記憶部５１０に保存すべきＪａｖａプログラムの情報を受け取る。この情報をＸＡＩＴ情報と呼ぶ。ＸＡＩＴ情報は、ヘッドエンド１０１とＰＯＤ５０４間で、任意の形式で送信される。どのような送信形式を採用しても、ＸＡＩＴ情報に必要とする情報が含まれていれば、本発明は実施可能である。
【０１２２】
図２２は、ヘッドエンド１０１から取得したＸＡＩＴ情報の一例を模式的に表した図である。列２００１はＪａｖａプログラムの識別子である。列２００２はＪａｖａプログラムの制御情報である。制御情報には「ａｕｔｏｓｔａｒｔ」「ｐｒｅｓｅｎｔ」などがあり、「ａｕｔｏｓｔａｒｔ」は端末装置５００が電源投入時にこのプログラムを自動的に実行することを意味し、「ｐｒｅｓｅｎｔ」は自動実行しないことを意味する。列２００３は、ＤＳＭＣＣ方式でＪａｖａプログラムを含んでいるパケットＩＤを抽出するためのＤＳＭＣＣ識別子である。列２００４はＪａｖａプログラムのプログラム名である。列２００５は、Ｊａｖａプログラムの優先度である。優先度は、実行可能なＪａｖａプログラムに制限がある場合に、実行するＪａｖａプログラムを決めるための優先度である。列２００６は、Ｊａｖａプログラムのストア優先度である。ストア優先度はＸＡＩＴ情報に記述される個々のＪａｖａプログラムに指定される値であり、Ｊａｖａプログラム及びＪａｖａプログラムの実行に必要なデータを保存する際に、２次記憶部５１０へ保存するＪａｖａプログラム及びＪａｖａプログラムの実行に必要なデータを決めるための優先度である。列２００７は、Ｊａｖａプログラムのアプリケーション名である。アプリケーション名は、ユーザがＪａｖａプログラムを識別するための名前である。行２０１１と２０１２はそれぞれ、Ｊａｖａプログラムの情報の組である。行２０１１で定義されるＪａｖａプログラムの情報は、識別子「７０１」、制御情報「ａｕｔｏｓｔａｒｔ」、ＤＳＭＣＣ識別子「１」、プログラム名「ａ／ＡＰＰ１Ｘｌｅｔ」、優先度「２００」、ストア優先度「１００」、及びアプリケーション名「ＡＰＰ１」の組である。ここでは、Ｊａｖａプログラムに対して７つの情報しか規定しないが、より多くの情報が定義されていても本発明は実施可能である。
【０１２３】
なお、列２００７のアプリケーション名は、例えば、ユーザに対してＸＡＩＴ情報に記述された各Ｊａｖａプログラムを識別させるために用いられる名前であるが、ユーザに提示してユーザがＪａｖａプログラムを識別するのに十分な情報があれば、アプリケーション名はなくても本発明は実施可能である。
【０１２４】
次にサービスマネージャ１２０４は、ライブラリ１２０５の中にあるＡＭ１２０５ｂにＸＡＩＴ情報を受け渡し、ＸＡＩＴ情報に記述されるＪａｖａプログラムのＭＰＥＧ２トランスポートストリームからの抽出、ダウンロード、及び実行を依頼する。
【０１２５】
ＡＭ１２０５ｂは、ＸＡＩＴ情報を受け取ると、ＡＩＴ情報からＪａｖａプログラムをダウンロードした手順と同じ手順で、ＭＰＥＧ２トランスポートストリームからファイルシステムを１次記憶部５１１に保存する。その後、１次記憶部５１１に保存したファイルシステムを２次記憶部５１０に複写する。なお、１次記憶部５１１を介さず、直接２次記憶部５１０にダウンロードすることも実施可能である。
【０１２６】
次に、ＡＭ１２０５ｂは、ＸＡＩＴ情報に、ダウンロードしたファイルシステムの格納位置を対応つけて２次記憶部５１０に保存する。
【０１２７】
図２３は、２次記憶部５１０にＸＡＩＴ情報とダウンロードしたファイルシステムが対応つけられて保存されている一例を表す図である。図２３の中で、図２２と同じ番号の要素は図２２と同じなので、説明は省略する。列２１０１は各Ｊａｖａプログラムごとに対応するダウンロードしたファイルシステムの保存位置を格納する。図中、保存位置は矢印で示している。ダウンロードしたファイルシステム２１１０は、内部にトップディレクトリ２１１１、ディレクトリ「ａ」２１１２、ディレクトリ「ｂ」２１１３、ファイル「ＡＰＰ１Ｘｌｅｔ．ｃｌａｓｓ」２１１４、及びファイル「ＡＰＰ２Ｘｌｅｔ．ｃｌａｓｓ」２１１５を保持する。
【０１２８】
ここで、ＸＡＩＴ情報は、Ｊａｖａプログラムを保存してから保存されているが、Ｊａｖａプログラムを保存する前に保存されることも実施可能である。なお、ＸＡＩＴ情報は、２次記憶５１０に保存されているが、１次記憶部５１１に保存されることも実施可能である。１次記憶部５１１に保存される場合、電源ＯＦＦ時に、保存されたＸＡＩＴ情報は全て消える。
【０１２９】
ここで、ファイルシステムは、具体的には、ＸＡＩＴ情報に記述される複数のＪａｖａプログラム及びＪａｖａプログラムの実行に必要なデータから形成される。以降、ＸＡＩＴ情報に記述される個々のＪａｖａプログラム及びＪａｖａプログラムの実行に必要なデータを、アプリケーションと呼ぶ。さらに、アプリケーションを２次記憶部５１０にダウンロードすることを以降、ストアと呼ぶ。またさらに、２次記憶部５１０にあって、アプリケーションをストアするための領域をストア領域と呼ぶ。また、ＶＭ１２０３がアプリケーションを構成するＪａｖａプログラムを実行することをアプリケーションの実行と呼ぶ。
【０１３０】
図２４は、ＸＡＩＴ情報に記述されるアプリケーションがアプリケーションのストア領域２２０１にストアされている状態を示す図である。図２４の中で、アプリケーションのストア領域２２０１は、アプリケーション名「ＡＰＰ１」をもつアプリケーション２２１１、および、アプリケーション名「ＡＰＰ２」を持つアプリケーション２２１２を格納する。
【０１３１】
ここで、アプリケーションのストア領域２２０１の容量は一般的に有限である。アプリケーションのストア領域２２０１の容量はあらかじめ固定されているものであっても、可変であってもよい。なお、アプリケーションを２次記憶部のストア領域２２０１にストアしているが、アプリケーションを、１次記憶部に保存することでも実施可能である。また、１次記憶部に保存する場合、電源ＯＦＦ時に、保存されたアプリケーションは全て消える。
【０１３２】
次にＡＭ１２０５ｂは、１次記憶部５１１または２次記憶部５１０に保存されたＸＡＩＴ情報を参照して、１次記憶部５１１にダウンロードしたアプリケーション、または２次記憶部５１０のストア領域２２０１にストアしたアプリケーションの中から「ａｕｔｏｓｔａｒｔ」と指定されたアプリケーションのＪａｖａプログラムをＶＭ１２０３に引き渡す。図２３に示すように、行２０１１で定義されるアプリケーション「ＡＰＰ１」のＪａｖａプログラム「ａ／ＡＰＰ１Ｘｌｅｔ」がＶＭ１２０３に引渡される。実行するアプリケーションのＪａｖａプログラム名が「ａ／ＡＰＰ１Ｘｌｅｔ」とすると、Ｊａｖａプログラム名の最後に「．ｃｌａｓｓ」を付加したファイル「ａ／ＡＰＰ１Ｘｌｅｔ．ｃｌａｓｓ」が実行すべきファイルとなる。ＶＭ１２０３は、引渡されたアプリケーションのＪａｖａプログラムを実行する。以降、ＡＭ１２０５ｂからのＶＭ１２０３へのアプリケーションの引渡しを、ＶＭ１２０３へのアプリケーション起動指示と呼ぶ。
【０１３３】
ＡＭ１２０５ｂがＸＡＩＴ情報を受け取った時点から、ＶＭ１２０３へのアプリケーション起動指示を行う時点までの処理において、一般的に、最も時間のかかる処理は、ＭＰＥＧ２トランスポートストリームからファイルシステムを取り出し１次記憶部へファイルシステムを保存する処理、または、ＭＰＥＧ２トランスポートストリームからファイルシステムを取り出して１次記憶部５１１を介さず直接２次記憶部５１０のストア領域２２０１へファイルシステムをストアする処理である。ここで、ＡＭ１２０５ｂがＸＡＩＴ情報を受け取った時点において、ＸＡＩＴ情報に記述されたアプリケーションのうち、既にストアされているアプリケーションが存在する場合、ＡＭ１２０５ｂは既にストアされているアプリケーションのファイルシステムについては、ＭＰＥＧ２トランスポートストリームから１次記憶部５１１への保存処理及び１次記憶部５１１から２次記憶部５１０中のストア領域２２０１へのストア処理、またはＭＰＥＧ２トランスポートストリームから１次記憶部５１１を介さず直接２次記憶部５１０中のストア領域２２０１へのストア処理を省略することができる。従って、アプリケーションを前もってストア領域２２０１にストアしておくことで、ＡＭ１２５０ｂがＸＡＩＴ情報を受け取った時点から、ＶＭ１２０３へのアプリケーション起動指示を行うまでの時間を短縮することができる。
【０１３４】
図２５は、ＡＭ１２５０ｂが、ＸＡＩＴ情報を受け取った時点から、ＶＭ１２０３へのアプリケーション起動指示を行うまでの動作の一例を示すフローチャートである。図２５に示すように、ＡＭ１２０５ｂがＸＡＩＴ情報を受け取ると（Ｓ２３０１）、ＸＡＩＴ情報に記述のアプリケーションをまだ選ばれていないものから順に１つずつ選ぶ（Ｓ２３０２）。ここで、ＡＭ１２０５ｂは、選んだアプリケーションがストアされているか否かを判断し（Ｓ２３０３）、選んだアプリケーションがストアされていない場合（Ｓ２３０３のＮＯ）、ＡＭ１２０５ｂは、アプリケーションをＭＰＥＧ２トランスポートストリームからストア領域２２０１にストアする（Ｓ２３０４）。次に、ＡＭ１２０５ｂは、選んだアプリケーションの制御情報が「ａｕｔｏｓｔａｒｔ」か否かを判断し（Ｓ２３０５）、選んだアプリケーションの制御情報が「ａｕｔｏｓｔａｒｔ」の場合、ＡＭ１２０５ｂはＶＭ１２０３へのアプリケーション起動指示を行う（Ｓ２３０６）。そして、ＡＭ１２０５ｂは、ＸＡＩＴ情報に記述のアプリケーションを全て選択したか否かを判断し（Ｓ２３０７）、未だＸＡＩＴ情報に記述の全てのアプリケーションを選択していない場合（Ｓ２３０７のＮＯ）、ＡＭ１２０５ｂは次のアプリケーションを選択してＸＡＩＴ情報の受け取りからアプリケーション起動指示までの処理を進め、既にＸＡＩＴ情報記述の全てのアプリケーションを選択している場合には（Ｓ２３０７のＹＥＳ）、ＸＡＩＴ情報の受け取りからアプリケーション起動指示までの処理を終了する。
【０１３５】
図２５に示すＡＭ１２０５ｂの動作の一例においても明らかなように、ＡＭ１２０５ｂがＸＡＩＴ情報を受け取った時点において、ＸＡＩＴに記述のアプリケーションがストアされているか否かを判断し（Ｓ２３０３）、既にＸＡＩＴに記述のアプリケーションがストアされている場合、ＡＭ１２０５ｂは、アプリケーションをＭＰＥＧ２トランスポートストリームからストア領域２２０１にストアする処理（Ｓ２３０４）を省略することができる。その結果、ＡＭ１２０５ｂがＸＡＩＴ情報を受け取った時点（Ｓ２３０１）から、ＶＭ１２０３へのアプリケーション起動指示を行う（Ｓ２３０６）までの時間は短縮される。
【０１３６】
さらに、ここで、ＸＡＩＴ情報に記述されたアプリケーションを１つ選ぶ処理（Ｓ２３０２）において、例えば、ストアされかつ「ａｕｔｏｓｔａｒｔ」のアプリケーションから順に選ぶことにより、特にストアされた個々のアプリケーションの起動指示までの時間を短縮することができる。
【０１３７】
なお、個々のアプリケーションの起動指示までの時間を短縮する方法は図２５に示した方法に限らない。なお、図２５において、ＸＡＩＴ情報に記述されるアプリケーションをＭＥＰＧ２トランスポートストリームからストア領域２２０１にストアする処理は、アプリケーション１つごとに行っているが、ＸＡＩＴに記述されるアプリケーション全てについて同時に処理を行うなど他の方法をとってもよい。
【０１３８】
このように、アプリケーションをストアすることによるメリットは、次回のＸＡＩＴ受け取り時において、ＤＳＭＣＣからアプリケーションをダウンロードまたはストアする必要がないため、ＡＭ１２０５ｂがＸＡＩＴ情報を受け取った時点から、ＶＭ１２０３へのアプリケーション起動指示を行う時点までの処理が速くなることである。
【０１３９】
一方、アプリケーションがストアされていない場合、次回のＸＡＩＴ受け取り時に、ＡＭ１２０５ｂは、そのアプリケーションのファイルシステムをＭＰＥＧ２トランスポートストリームから１次記憶５１１にダウンロードまたは２次記憶５１０のストア領域２２０１にストアする必要があるため、アプリケーションが既にストアされている時と比べて、ＡＭ１２０５ｂがＸＡＩＴ情報を受け取った時点から、ＶＭ１２０３へのアプリケーション起動指示を行う時点までの処理が遅くなる。
【０１４０】
なお、ここでは、ＡＭ１２０５ｂはアプリケーションのＤＳＭＣＣから１次記憶部へのダウンロードまたはＤＳＭＣＣからストア領域へのストア完了後に、ＶＭ１２０３ｂへアプリケーションの起動指示を出すものとして説明しているが、ＡＭ１２０５ｂがＸＡＩＴ情報の受け取り後、アプリケーションのＤＳＭＣＣから１次記憶へのダウンロードまたはＤＳＭＣＣからストア領域へのストアをする前に、ＶＭ１２０３へアプリケーションの起動指示を出してもよい。ここでの起動指示は、ＡＭ１２０５ｂがＶＭ１２０３に実行すべきアプリケーションのプログラム名を引渡すことにより実現するものとする。この場合、ＶＭ１２０３が、ＡＭ１２０５ｂからのアプリケーション起動指示後に、ＤＳＭＣＣまたは１次記憶部５１１またはストア領域からアプリケーションを読み込み実行することになる。一般的に、ＤＳＭＣＣからファイルシステムを読み込む処理は、既に１次記憶部またはストア領域から読み込む処理よりも遅い。従って、アプリケーションを前もってストア領域２２０１にストアしておくことで、ＡＭ１２５０ｂがＸＡＩＴ情報を受け取った時点から、ＶＭ１２０３がアプリケーションの実行を開始するまでの時間を短縮することができる。
【０１４１】
図２６及び図２７に示すように、ＸＡＩＴ情報が更新されると、それにともないストア領域２２０１にストアされるアプリケーションが更新される。
【０１４２】
図２６は、１つのアプリケーション２０１１のストアを指定する更新前のＸＡＩＴ情報に従いストア領域２２０１にストアされたアプリケーションの状態を示す図である。ここで、更新前のＸＡＩＴ情報には１つのアプリケーション２０１１のストアが指定されると、状態２２１１に示すようにアプリケーション２０１１はストアされる。
【０１４３】
図２７は、２つのアプリケーション２０１１とアプリケーション２０１２のストアを指定する更新後のＸＡＩＴ情報に従いストア領域２２０１にストアされたアプリケーションの状態を示す図である。更新後のＸＡＩＴ情報には２つのアプリケーション２０１１とアプリケーション２０１２のストアが指定されると、状態２２１１に示すようにアプリケーション２０１１はストアされ、状態２２１２に示すようにアプリケーション２０１２もストアされる。
【０１４４】
次に、本発明の主要機能である、ＸＡＩＴ情報を受け取ったＡＭ１２０５ｂによる、ＸＡＩＴ情報に記述されたアプリケーションのストア機能について説明する。
【０１４５】
図２８は、ＡＭ１２０５ｂの構成のうち、ストア処理に関連する構成要素のみを示す図である。他の構成要素は本発明とは直接関係ないので省略する。ＡＭ１２０５ｂは、ストア優先度比較部２６０１、ストアアプリ決定部２６０２、アプリケーションのストア部２６０３、アプリケーションのストア削除部２６０４、通知部２６０５、ストア領域残容量取得部２６０６、及びアプリケーション容量取得部２６０７を備える。
【０１４６】
ストア優先度比較部２６０１は、ストアアプリ決定部２６０２から取得要求を受けると、ＸＡＩＴ情報から個々のアプリケーションのストア優先度２００６取得し、個々のアプリケーションに指定されたストア優先度２００６を比較する。ここで、既にストアされているアプリケーションがＸＡＩＴ情報に記述されていない場合、ストア優先度比較部２６０１は、そのアプリケーションのストア優先度は最低値であるとみなす。そして、その比較結果をストアアプリ決定部２６０２に返す。ここで、比較結果の返し方は、ＸＡＩＴ情報に記述された全てのアプリケーションを優先度の高い順にならべ代えた配列として返す等により実施可能であるが、ストアアプリ決定部２６０２がＸＡＩＴ情報に記述された全てのアプリケーションについて、そのストア優先度の高低を知るために必要な情報を提供するものであれば形式は問わない。
【０１４７】
ストア領域残容量取得部２６０６は、ストアアプリ決定部２６０２からの取得要求を受けると、ストア領域２２０１がアプリケーションをストアできる残りの容量を取得し、その取得結果をストアアプリ決定部２６０２に返す。ここで、取得結果の返し方は、数値情報として返す等により実現可能であるが、ストアアプリ決定部２６０２が、ストア領域２２０１がアプリケーションをストアできる残りの容量を知るために必要な情報を提供するものであれば形式は問わない。
【０１４８】
アプリケーション容量取得部２６０７は、ストアアプリ決定部２６０２からの取得要求を受けると、ＸＡＩＴ情報に記述された各アプリケーション及び既にストア領域にストアされている各アプリケーションのストアに必要な容量を取得し、その取得結果をストアアプリ決定部２６０２に返す。ここで、取得結果の返し方は、各アプリケーション毎に数値を対応付けて返す等により実施可能であるが、ストアアプリ決定部２６０２が各アプリケーションについて、そのストアに必要な容量を知るために必要な情報を提供するものであれば形式は問わない。
【０１４９】
ストアアプリ決定部２６０２は、ストア領域２２０１にストアするアプリケーションと、ストア領域２２０１から削除するアプリケーションとのセット、を決定する。ここで、ストアアプリ決定部２６０２は、ストア優先度比較部２６０１にストア優先度比較結果の取得を要求し、ストア領域残容量取得部２６０６にストア領域２２０１の残容量の取得を要求し、アプリケーション容量取得部２６０７に各アプリケーションのストアに必要な容量の取得を要求する。そして、これらの取得した情報に基づいて、ストア領域２２０１にストアされている全てのアプリケーションの容量がストア領域２２０１の総容量を越えない範囲において、可能な限り多くのアプリケーションを、ストア優先度の高いアプリケーションから優先的にストア領域２２０１にストアされることが満たされるよう、ストア優先度の高いアプリケーションを優先的にストアすることを決定する。さらに、ストアアプリ決定部２６０２は、既にストアされているアプリケーションであっても、ストア優先度の低いアプリケーションから順に、ストア領域２２０１から削除することを決定する。そして、ストアアプリ決定部２６０２は、ストア領域２２０１にストアするアプリケーションと、ストア領域２２０１から削除するアプリケーションとのセット、を決定後に、通知部２６０５への通知指示と、ストア部２６０３へのアプリケーションのストア指示と、ストア削除部２６０４へのアプリケーション削除指示を行う。ここで、通知部２６０５への通知指示と、アプリケーションのストア削除部２６０４へのアプリケーションの削除指示は、既にストアされていたアプリケーションをストア領域２２０１から削除すると決定した場合のみにおいて行うが、この場合、通知部２６０５への通知指示を、アプリケーションのストア削除部２６０４へのアプリケーションの削除指示より前に行うことにより、ユーザへのアプリケーション削除通知を、ストア領域からアプリケーションが削除される前に行うことができる。
【０１５０】
ストア部２６０３は、ストアアプリ決定部２６０２の決定結果に従い、アプリケーションをストアする。
【０１５１】
ストア削除部２６０４は、ストアアプリ決定部２６０２の決定結果に従い、アプリケーションをストア領域２２０１から削除する。
【０１５２】
通知部２６０５は、ストアアプリ決定部２６０２の決定結果に従い、ユーザにアプリケーションが削除されることを通知する。ここで、通知部２６０５によるユーザへのアプリケーション削除通知は、通知部２６０５が端末装置５００のＣＰＵ５１４に画面に表示したい削除通知情報を送り、ＯＳ１２０１のライブラリ１２０１ｂに含まれるダイアログ表示プログラムが、削除通知をディスプレイ５０９に表示することにより実現される。ここで、ダイアログは、例えば一定時間経過後にディスプレイ５０９から消すものとする。
【０１５３】
図２９及び図３０は、本実施の形態におけるＸＡＩＴ情報を受け取ったＡＭ１２０５ｂによる、アプリケーションのストア処理動作の一例を示すフローチャートである。特に、ＸＡＩＴ情報に記述されるアプリケーションをＭＥＰＧ２トランスポートストリームからストア領域２２０１にストアする際に、ストア領域２２０１の容量が不足する場合における、ＡＭ１２０５ｂによる、ＭＰＥＧ２トランスポートストリームからストア領域２２０１へのアプリケーションのストア処理動作の一例を示すフローチャートである。
【０１５４】
図２９及び図３０に示すように、ＡＭ１２０５ｂがＸＡＩＴ情報を受け取ると（Ｓ２７０１）、ＸＡＩＴ情報に記述されたアプリケーションから、ストア優先度の高いものから順にまだ選ばれていないアプリケーションを１つ選択する。但しここで、受け取ったＸＡＩＴ情報に従ったストア処理において、ストア削除部２６０４がストア領域２２０１から既に削除したアプリケーションを除くアプリケーションを１つ選択する（Ｓ２７０２）。そして、ＡＭ１２０５ｂは、選択したアプリケーションがストアされているか否かを判断する（Ｓ２７０３）。
【０１５５】
選択したアプリケーションがストアされている場合（Ｓ２７０３のＹＥＳ）、ＡＭ１２０５ｂは、ＸＡＩＴ情報に記述のアプリケーションを全て選択したか否かを判断し（Ｓ２７０７）する。ここで、未だＸＡＩＴ情報に記述の全てのアプリケーションを選択していない場合（Ｓ２７０７のＮＯ）、ＡＭ１２０５ｂは次のアプリケーションを選択しストア処理を進める。既にＸＡＩＴ情報に記述の全てのアプリケーションを選択している場合には（Ｓ２７０７のＹＥＳ）、ＡＭ１２０５ｂは、ストア処理を終了する。
【０１５６】
一方、選択したアプリケーションがストアされていない場合（Ｓ２７０３のＮＯ）、ストアアプリ決定部２６０２は、ストア領域残容量取得部２６０６からストア領域の残容量を取得し、アプリケーション容量取得部２６０７からアプリケーション容量を取得する（Ｓ２７０４）。そして、ストア領域残容量取得部２６０６から取得したストア領域の残容量とアプリケーション容量取得部２６０７から取得したアプリケーション容量に基づき、ストアアプリ決定部２６０２は、ストア領域の残容量が選択したアプリケーションの容量より大きいか否かを判断する（Ｓ２７０５）。
【０１５７】
ストア領域の残容量が選択したアプリケーションの容量より大きいと判断した場合（Ｓ２７０５のＹＥＳ）、ストア部２６０３は選択したアプリケーションをストアする（Ｓ２７０６）。そして、ＡＭ１２０５ｂは、ＸＡＩＴ情報に記述のアプリケーションを全て選択したか否かを判断し（Ｓ２７０７）、未だＸＡＩＴ情報に記述の全てのアプリケーションを選択していない場合、ＡＭ１２０５ｂは次のアプリケーションを選択しストア処理を進め、既にＸＡＩＴ情報に記述の全てのアプリケーションを選択している場合にはストア処理を終了する。
【０１５８】
一方、ストアアプリ決定部２６０２がストア領域の残容量が選択したアプリケーションの容量より小さいと判断した場合（Ｓ２７０５のＮＯ）、ＡＭ１２０５ｂは、既にストアされているアプリケーションがあるか否かを判断する（Ｓ２８０１）。
【０１５９】
既にストアされているアプリケーションがある場合には（Ｓ２８０１のＹＥＳ）、つまり、ＸＡＩＴ情報に記述されるアプリケーションをＭＥＰＧ２トランスポートストリームからストアする際に、既にストアされているアプリケーションがある為にストア領域２２０１の容量が不足する場合には、ストアアプリ決定部２６０２は、ストア優先度比較部２６０１から個々のアプリケーションに指定されたストア優先度２００６の比較結果を取得する（Ｓ２８０２）。その比較結果に基づいて、ストアアプリ決定部２６０２は、ストアするアプリケーションと、ストア領域２２０１から削除するアプリケーションとのセットを決定する（Ｓ２８０３）。ここで、ストアアプリ決定部２６０２は、既にストアされているアプリケーションの中で、選択したアプリケーションのストア優先度よりもストア優先度の低いアプリケーションがある場合には、ストア領域の残容量が選択したアプリケーションの容量以上になるように、ストアアプリ決定部２６０２は、その既にストアされているアプリケーションをストア領域から削除することを決定し、選択したアプリケーションをストアすることを決定する。但し、それらの既にストアされているアプリケーションをストア領域から削除してもストア領域の残容量が選択したアプリケーションの容量以上にならない場合には、それらの既にストアされているアプリケーションはストア領域から削除せず、選択したアプリケーションをストアしないことを決定する。一方、既にストアされているアプリケーションの中で、選択したアプリケーションのストア優先度よりもストア優先度の低いアプリケーションがない場合には、ストアアプリ決定部２６０２は、既にストアされているアプリケーションのいずれもストア領域から削除せず、選択したアプリケーションをストアしないことを決定する。続いて、ストアアプリ決定部２６０２は、既にストアされていたアプリケーションをストア領域２２０１から削除すると決定したか削除しないことを決定したかを判定する（Ｓ２８０４）。
【０１６０】
ストアアプリ決定部２６０２が既にストアされていたアプリケーションをストア領域２２０１から削除すると決定した場合（Ｓ２８０４のＹＥＳ）、ストアアプリ決定部２６０２は、通知部２６０５に削除通知を指示し、ストア削除部２６０４に、アプリケーションをストア領域２２０１から削除することを指示し、ストア部２６０３に、アプリケーションのストアを指示する。そして、通知部２６０５は、ストアアプリ決定部２６０２の決定結果に従い、ユーザにアプリケーションが削除されることを通知する（Ｓ２８０５）。ストア削除部２６０４は、ストアアプリ決定部２６０２の決定結果に従い、アプリケーションをストア領域２２０１から削除し（Ｓ２８０６）、ストア部２６０３は、ストアアプリ決定部２６０２の決定結果に従い、アプリケーションをストアする（Ｓ２７０６）。ここで、ストア削除部２６０４は、通知部２６０５によるユーザへの通知が行われたことを検知した後に、アプリケーションをストア領域２２０１から削除しても良い。そして、ＡＭ１２０５ｂは、ＸＡＩＴ情報に記述のアプリケーションを全て選択したか否かを判断し（Ｓ２７０７）、未だＸＡＩＴ情報記述の全てのアプリケーションを選択していない場合、ＡＭ１２０５ｂは次のアプリケーションを選択しストア処理を進め、既にＸＡＩＴ情報に記述の全てのアプリケーションを選択している場合にはストア処理を終了する。
【０１６１】
一方、ストアアプリ決定部２６０２が既にストアされていたアプリケーションをストア領域２２０１から削除しないことを決定した場合（Ｓ２８０４のＮＯ）、選択されたアプリケーションをストアするストア領域を確保することができないので、ＡＭ１２０５ｂは、ＸＡＩＴ情報に記述のアプリケーションを全て選択したか否かを判断する（Ｓ２７０７）。そしてＡＭ１２０５ｂは、上述と同様に、未だＸＡＩＴ情報記述の全てのアプリケーションを選択していない場合には、次のアプリケーションを選択しストア処理を進め、既にＸＡＩＴ情報に記述の全てのアプリケーションを選択している場合にはストア処理を終了する。
【０１６２】
一方、既にストアされているアプリケーションがあるか否かの判断（Ｓ２８０１）において、既にストアされているアプリケーションがない場合には（Ｓ２８０１のＮＯ）、つまり、ＸＡＩＴ情報に記述されるアプリケーションをＭＥＰＧ２トランスポートストリームからストア領域２２０１にストアする際に、ストア領域２２０１の容量が不足するが、既にストアされているアプリケーションがない場合には、選択されたアプリケーションをストアするストア領域を確保することができないので、ＡＭ１２０５ｂは、ＸＡＩＴ情報に記述のアプリケーションを全て選択したか否かを判断する（Ｓ２７０７）。そしてＡＭ１２０５ｂは、上述と同様に、未だＸＡＩＴ情報記述の全てのアプリケーションを選択していない場合には、次のアプリケーションを選択しストア処理を進め、既にＸＡＩＴ情報に記述の全てのアプリケーションを選択している場合にはストア処理を終了する。
【０１６３】
なお、ＸＡＩＴ情報に記述されるアプリケーションをＭＥＰＧ２トランスポートストリームからストア領域２２０１にストアする際に、ストア領域２２０１の容量が不足するが、既にストアされているアプリケーションがない場合には、選択されたアプリケーションをストアするストア領域を確保することができないので、ＡＭ１２０５ｂは選択したアプリケーションをストアせずにストア処理を終了してもよい。
【０１６４】
ここで、本実施の形態において、既にストアされているアプリケーションがＸＡＩＴ情報に記述されていない場合、ストア優先度比較部２６０１は、そのアプリケーションのストア優先度は最低値であるとみなすとしているが、このような場合、ストアアプリ決定部２６０２は、そのアプリケーションのストア領域２２０１からの削除を無条件に決定する等の方法を取ってもよい。
【０１６５】
なお、ここで、通知部２６０５によるユーザへのアプリケーション削除通知は、通知部２６０５が端末装置５００のＣＰＵ５１４に画面に表示したい削除通知情報を送り、ＯＳ１２０１のライブラリ１２０１ｂに含まれるダイアログ表示プログラムが、削除通知をディスプレイ５０９に表示することにより実現している。しかし、通知部２６０５によるユーザへの削除通知は、ユーザがアプリケーションの削除を検知できる方法であれば、その他の方法であっても実施可能である。
【０１６６】
図３１は、削除通知の表示位置を説明するための説明図である。
例えば、通知部２６０５によるユーザへの削除通知は、リモコンの液晶画面に削除通知を表示させる、或いは、図３１に示すように、端末装置本体の７セグＬＥＤ３１０２に削除通知を表示させる、或いは、端末装置本体のランプ３１０１を点灯させるなどにより実施可能である。図３１において、図８と同じ要素には図８と同じ符号を付し説明を省略する。
【０１６７】
また、ここで、アプリケーションのストア完了時に、通知部２６０５は、ユーザにアプリケーションがストアされたことを通知してもよい。
【０１６８】
また、ここで、ストアアプリ決定部２６０２は、必ずしも、ストア優先度の低いアプリケーションから順に、ストア領域２２０１から削除することを決定しない。例えば、ＯＣＡＰ仕様（ＯＣＡＰ  １．０  Ｐｒｏｆｉｌｅ  ＯＣ−ＳＰ−ＯＣＡＰ１．０−ＩＦ−Ｉ０９−０３１１２１）に記述のケーブルテレビシステムにおいては、既にストアされているアプリケーションが実行されている場合、そのアプリケーションをストレージから削除することによってアプリケーションの実行を妨げてはならないため、ストアアプリ決定部２６０２は、既にストア領域にストアされているアプリケーションの中で最もストア優先度の低いアプリケーションであっても、そのアプリケーションが実行中の場合には、そのアプリケーションをストア領域から削除する決定をしない。
【０１６９】
図３２は、ＡＭ１２０５ｂがアプリケーションをストアする動作の一例をまとめたフローチャートである。その動作は特に、ストア領域２２０１にアプリケーション２０１１が既にストアされている状態で、ＡＭ１２０５ｂが、図２２に示すように、アプリケーション２０１１とアプリケーション２０１２とを記述したＸＡＩＴ情報を取得し、ストア領域２２０１の容量が不足する場合の動作である。ここで、ＸＡＩＴ情報に記述されたアプリケーション２０１１のストア優先度は１００であり、アプリケーション２０１２のストア優先度は２００であるとする。またここで、ストア領域２２０１の容量はアプリケーション２０１１の容量とアプリケーション２０１２の容量の総和に満たないものとする。また、ＯＣＡＰ仕様においては、ストア処理により実行中のアプリケーションの実行を妨げてはならないので、ここでは、アプリケーション２０１１は起動されていないものとする。
【０１７０】
ＡＭ１２０５ｂは、ＸＡＩＴ情報を取得すると（Ｓ２９０１）、ＸＡＩＴ情報に記述されるアプリケーションの中から最も高いストア優先度２００をもつアプリケーション２０１２を選択する（Ｓ２９０２）。既にアプリケーション２０１１がストアされているため、ストア領域２２０１の残容量がアプリケーション２０１２のストアに必要な容量に満たないため、ストア優先度比較部２６０１は、既にストアされているアプリケーション２０１１と、アプリケーション２０１２のストア優先度を比較する（Ｓ２９０３）。ストアアプリ決定部２６０２は、優先度の低いアプリケーション２０１１をストア領域２２０１から削除することを決定する（Ｓ２９０４）。ストアアプリ決定部２６０２は、既にストアされていたアプリケーション２０１１をストア領域２２０１から削除すると決定したため、通知部２６０５に通知を指示し、ストア削除部２６０４にアプリケーション２０１１の削除を指示し、ストア部２６０３に、アプリケーション２０１２のストアを指示する。そして、通知部２６０５は、ユーザにアプリケーション２０１１が削除されることを通知する（Ｓ２９０５）。ここで、通知部２６０５によるユーザへのアプリケーション削除通知は、通知部２６０５が端末装置５００のＣＰＵ５１４に画面に表示したい削除通知情報を送り、ＯＳ１２０１のライブラリ１２０１ｂに含まれるダイアログ表示プログラムが、図３３に示すような削除通知をディスプレイ５０９に表示することにより実現される。
【０１７１】
図３３は、ディスプレイ５０９に表示される削除通知を示す図である。
ダイアログボックス３００１はメッセージ３００２の表示要素をもつ。なお、メッセージ３００２の文字列は、ユーザにアプリケーションの削除を通知する為に必要な情報を提供できる方法であれば、図３３中の文字列に限定されず他の文字列であってもよく、また、メッセージ３００２の形式は文字列に限定されず他の形式であってもよい。また更に、ダイアログボックス３００１の表示要素は、図３３の表示要素に限定されず、ユーザにアプリケーション２０１１の削除を通知できるものであれば、他の表示要素であってもよい。続いて、ストア削除部２６０４は、アプリケーション２０１１をストア領域２２０１から削除する（Ｓ２９０６）。そして、ストア部２６０３は、アプリケーション２０１２をストアする（Ｓ２９０７）。
【０１７２】
図３４Ａは、ＸＡＩＴ情報取得前におけるストア領域２２０１にストアされたアプリケーションの状態を示す図である。ここで状態２２１１はアプリケーション２０１１がストアされた状態を示す。
【０１７３】
図３４Ｂは、ＸＡＩＴ情報取得後におけるストア領域２２０１にストアされたアプリケーションの状態を示す図である。ここで状態２２１２はアプリケーション２０１２がストアされた状態を示す。
【０１７４】
なお、本実施の形態において、ストアアプリ決定部２６０２によるストアするアプリケーションの決定は、図２９に示すように、ストア優先度比較部の比較結果に基づき、ストア優先度の高いアプリケーションから順に選択し、ストア処理を行う方法により実現している（Ｓ２７０２）。しかし、ストアアプリ決定部２６０２は、ＸＡＩＴ情報に記述されるアプリケーション全てについて同時に、ストアするアプリケーションと、ストア領域２２０１から削除するアプリケーションとのセットを決定するなどの方法をとっても良い。例えば、ストアアプリ決定部２６０２は、受け取ったＸＡＩＴ情報を参照して、ＸＡＩＴ情報に記述されている全てのアプリケーションについて、ストア領域２２０１にストアされる全てのアプリケーションの容量がストア領域２２０１の総容量を越えない範囲において、ストア優先度の高いアプリケーションから順にストアすることを決定し、このとき既にストアされているがストアすることを決定されなかったアプリケーションをストア領域２２０１から削除することを決定するなどの方法をとっても良い。
【０１７５】
また、なお、ＡＭ１２０５ｂがストア領域残容量取得部２６０６、及び、アプリケーション容量取得部２６０７を持たない場合や、ＡＭ１２０５ｂがアプリケーション容量取得部２６０７を持っているがアプリケーション容量取得部２６０７がアプリケーションの容量を取得できない場合においても、本発明は実施可能である。例えば、ＡＭ１２０５ｂはストア領域残容量取得部２６０６、及び、アプリケーション容量取得部２６０７を持たない場合、ストアアプリ決定部２６０２は、ストア優先度比較部２６０１の比較結果に従い、ストア優先度の高いアプリケーションから順にストアを決定し、ストア部２６０３がストアに失敗した場合には、ストア優先度の低いアプリケーションから順に、ストア領域２２０１から削除することを決定する等の方法をとってもよい。
【０１７６】
図３５Ａ及び図３５Ｂは、ストア領域残容量取得部２６０６及びアプリケーション容量取得部２６０７をもたないＡＭ１２０５ｂによる、ＸＡＩＴ情報を受け取り時の、アプリケーションのストア処理動作の一例を示すフローチャートである。特に、ＸＡＩＴ情報に記述されるアプリケーションをＭＥＰＧ２トランスポートストリームからストア領域２２０１にストアする際に、ストア領域２２０１の容量が不足する場合における、ストア領域残容量取得部２６０６及びアプリケーション容量取得部２６０７をもたないＡＭ１２０５ｂによる、ＭＰＥＧ２トランスポートストリームからストア領域２２０１へのアプリケーションのストア処理動作の一例を示すフローチャートである。
【０１７７】
図３５Ａに示すように、ＡＭ１２０５ｂがＸＡＩＴ情報を受け取ると（Ｓ３３０１）、ストアアプリ決定部２６０２は、ストア優先度比較部２６０１からＸＡＩＴ情報に記述されたアプリケーションのストア優先度を取得する（Ｓ３３０２）。そして、ストアアプリ決定部２６０２は、ＸＡＩＴ情報に記述されたアプリケーションからストア優先度の高いものから順にまだ選ばれていないアプリケーション１つをストア候補として選択する（Ｓ３３０３）。そして、ストアアプリ決定部２６０２は、ストア候補として選択したアプリケーションがストアされているか否かを判断する（Ｓ３３０４）。
【０１７８】
ストア候補として選択したアプリケーションがストアされている場合（Ｓ３３０４のＹＥＳ）、ストアアプリ決定部２６０２は、ＸＡＩＴ情報に記述のアプリケーションを全てストア候補として選択したか否かを判断する（Ｓ３３０７）。ここで、未だＸＡＩＴ情報記述の全てのアプリケーションをストア候補として選択していない場合（Ｓ３３０７のＮＯ）、ストアアプリ決定部２６０２は次のアプリケーションをストア候補として選択しストア処理を進め、既にＸＡＩＴ情報記述の全てのアプリケーションをストア候補として選択している場合（Ｓ３３０７のＹＥＳ）にはストア処理を終了する。
【０１７９】
一方、ストア候補として選択したアプリケーションがストアされていない場合（Ｓ３３０４のＮＯ）、ストア部２６０３はストア候補のアプリケーションをストアする（Ｓ３３０５）。そして、ＡＭ１２０５ｂは、ストア候補のアプリケーションをストアできたか否かを判断する（Ｓ３３０６）。
【０１８０】
ストア候補のアプリケーションをストアできた場合（Ｓ３３０６のＹＥＳ）、ストアアプリ決定部２６０２は、ＸＡＩＴ情報記述のアプリケーションを全てストア候補として選択したか否かを判断する（Ｓ３３０７）。上述と同様、未だＸＡＩＴ情報記述の全てのアプリケーションをストア候補として選択していない場合（Ｓ３３０７のＮＯ）、ストアアプリ決定部２６０２は次のアプリケーションをストア候補として選択しストア処理を進め、既にＸＡＩＴ情報記述の全てのアプリケーションをストア候補として選択している場合（Ｓ３３０７のＹＥＳ）にはストア処理を終了する。
【０１８１】
一方、ストア候補のアプリケーションをストアできなかった場合（Ｓ３３０６のＮＯ）、図３５Ｂに示すように、ストアアプリ決定部２６０２は、既にストアされているアプリケーションがあるか否かを判断する（Ｓ３３０８）。
【０１８２】
既にストアされているアプリケーションがある場合には（Ｓ３３０８のＹＥＳ）、つまり、ＸＡＩＴ情報に記述されるアプリケーションをＭＥＰＧ２トランスポートストリームからストアする際に、既にストアされているアプリケーションがある為にストア領域２２０１の容量が不足する場合には、ストアアプリ決定部２６０２は、既にストアされたアプリケーションからストア優先度の低いものから順に１つを削除候補として選択する（Ｓ３３０９）。そして、ストアアプリ決定部２６０２は、ストア優先度比較部２６０１からの取得結果に基づいて、削除候補として選択したアプリケーションのストア優先度がストア候補として選択したアプリケーションのストア優先度よりも低いか否かを判定する（Ｓ３３１０）。
【０１８３】
削除候補として選択したアプリケーションのストア優先度がストア候補として選択したアプリケーションのストア優先度よりも低い場合（Ｓ３３１０ＹＥＳ）、ストアアプリ決定部２６０２は、削除候補のアプリケーションをストア領域から削除することを決定する（Ｓ３３１１）。そして、ストアアプリ決定部２６０２は、通知部２６０５に削除候補として選択したアプリケーションの削除通知を指示し、ストア削除部２６０４に、削除候補として選択したアプリケーションをストア領域２２０１から削除するように指示し、ストア部２６０３に、ストア候補として選択したアプリケーションのストアを指示する。そして、通知部２６０５は、ストアアプリ決定部２６０２の決定結果に従い、ユーザにアプリケーションが削除されることを通知し（Ｓ３３１２）、ストア削除部２６０４は、ストアアプリ決定部２６０２の決定結果に従い、アプリケーションをストア領域２２０１から削除する（Ｓ３３１３）。図３５Ａに示すように、ストア部２６０３は、ストアアプリ決定部２６０２の決定結果に従い、アプリケーションをストアする（Ｓ３３０５）。そして、ストア候補として選択したアプリケーションをストアできた場合には（Ｓ３３０６のＹＥＳ）、ストアアプリ決定部２６０２は、上述と同様、ＸＡＩＴ情報に記述のアプリケーションを全てストア候補として選択したか否かを判断する（Ｓ３３０７）。未だＸＡＩＴ情報記述の全てのアプリケーションをストア候補として選択していない場合には（Ｓ３３０７のＮＯ）、ストアアプリ決定部２６０２は次のアプリケーションをストア候補として選択しストア処理を進め、既にＸＡＩＴ情報記述の全てのアプリケーションをストア候補として選択している場合（Ｓ３３０７のＹＥＳ）にはストア処理を終了する。一方、ストア候補として選択したアプリケーションをストアできなかった場合にはストアアプリ決定部２６０２は次のアプリケーションを削除候補として選択しストア処理を進める。
【０１８４】
一方、削除候補として選択したアプリケーションのストア優先度がストア候補として選択したアプリケーションのストア優先度よりも高い場合（Ｓ３３１０のＮＯ）、ストア候補として選択されたアプリケーションをストアするストア領域を確保することができない。そのため、ストアアプリ決定部２６０２は、図３５Ａに示すように、ＸＡＩＴ情報記述のアプリケーションを全てストア候補として選択したか否かを判断し（Ｓ３３０７）、未だＸＡＩＴ情報記述の全てのアプリケーションをストア候補として選択していない場合には（Ｓ３３０７のＮＯ）、ストアアプリ決定部２６０２は次のアプリケーションをストア候補として選択しストア処理を進め、既にＸＡＩＴ情報記述の全てのアプリケーションをストア候補として選択している場合（Ｓ３３０７のＹＥＳ）にはストア処理を終了する。
【０１８５】
一方、既にストアされているアプリケーションがあるか否かの判断（Ｓ３３０８）において、既にストアされているアプリケーションがない場合には（Ｓ３３０８のＮＯ）、つまり、ＸＡＩＴ情報に記述されるアプリケーションをＭＥＰＧ２トランスポートストリームからストア領域２２０１にストアする際に、ストア領域２２０１の容量が不足するが、既にストアされているアプリケーションがない場合には、ストア候補として選択されたアプリケーションをストアするストア領域を確保することができない。そこで、図３５Ａに示すように、ストアアプリ決定部２６０２は、ＸＡＩＴ情報に記述のアプリケーションを全て選択したか否かを判断する（Ｓ３３０７）。その結果、未だＸＡＩＴ情報記述の全てのアプリケーションをストア候補として選択していない場合には（Ｓ３３０７のＮＯ）、ストアアプリ決定部２６０２は次のアプリケーションをストア候補として選択しストア処理を進め、既にＸＡＩＴ情報記述の全てのアプリケーションをストア候補として選択している場合（Ｓ３３０７のＹＥＳ）にはストア処理を終了する。
【０１８６】
また、本実施の形態において、複数のアプリケーションのストア優先度が同じ場合には、ＡＭ１２０５ｂは、ユーザへの問合せなど、その他の判断材料により、ストア領域２２０１から削除するアプリケーションのセットを決定してもよい。
【０１８７】
また、本実施の形態において、ＡＭ１２０５ｂによるＸＡＩＴ情報の受け取りは、端末装置５００の電源投入時または、ＸＡＩＴ情報が更新された時に行う。つまり、本実施の形態において、ＡＭ１２０５ｂによるＸＡＩＴ情報の受け取りは、端末装置５００の電源投入時におけるＡＭ１２０５ｂによるＸＡＩＴ情報の受け取りと、端末装置５００が起動後にＸＡＩＴ情報が更新された時における、ＡＭ１２０５ｂによるＸＡＩＴ情報の受け取りを対象としている。しかし、ＸＡＩＴ情報の更新は、ヘッドエンド１０１から送信されるＸＡＩＴ情報そのものの更新だけでなく、ＡＭ１２０５ｂやアプリケーションによるＸＡＩＴ情報の更新等、他の方法であっても本発明は実施可能である。
【０１８８】
ここで、このような、アプリケーションによるＸＡＩＴ情報の更新は、ＡＭ１２０５ｂが特別な権限をもつアプリケーションに対して、ＸＡＩＴ情報の更新を行うためのＡＰＩを用意することにより実現する。ＸＡＩＴ情報の更新を行うためのＡＰＩには、特別な権限をもつアプリケーションが新規に作成したＸＡＩＴ情報を登録可能とするものや、既にＡＭ１２０５ｂが１次記憶または２次記憶に保存しているＸＡＩＴ情報を修正可能とするもの等がある。
【０１８９】
図３６は、ストアするアプリケーションの選択をユーザへ促すメッセージの一例を示す図である。ＸＡＩＴ情報の更新を行うためのＡＰＩを提供された特別な権限を持つアプリケーションが、端末装置５００のＣＰＵ５１４に表示したい情報を送ることにより、ＯＳ１２０１のライブラリ１２０１ｂに含まれるダイアログ表示プログラムが上記メッセージをディスプレイ５０９に表示する。ダイアログボックス３４３０内の列３４０１は各アプリケーションのアプリケーション名である。行３４１１と行３４１２と行３４１３は、アプリケーションの情報の一覧である。ユーザが、行３４１１が示すアプリケーションを選択すると、特別な権限を持つアプリケーションは、ＸＡＩＴ情報の更新を行うためのＡＰＩを用いて、ＡＭ１２０５ｂに対し、行３４１１が示すアプリケーションをストアさせるようにＸＡＩＴ情報の更新を指示する。ここで、行３４１１が示すアプリケーションの選択は、例えば、図３６に示すように、フォーカス３４２０が行３４１１の示すアプリケーションのアプリケーション名「誕生日アプリ」上にあるときに、ユーザがリモコンに割り当てられたＯＫキーを押下することにより実現される。
【０１９０】
特別な権限をもつアプリケーションがＸＡＩＴ情報の更新を行うためのＡＰＩを呼び出すと、ＡＭ１２０５ｂは特別な権限をもつアプリケーションからの指示に従いＸＡＩＴ情報を生成または修正し１次記憶または２次記憶に保存する。このようなＸＡＩＴ情報の更新を行うためのＡＰＩは公知の技術にて実現されている。例えば、ＸＡＩＴ情報を登録するＡＰＩは、ＯＣＡＰ仕様（ＯＣＡＰ  １．０  Ｐｒｏｆｉｌｅ  ＯＣ−ＳＰ−ＯＣＡＰ１．０−ＩＦ−Ｉ０９−０３１１２１）のＡｎｎｅｘＧ  ＯＣＡＰ  １．０  Ａｐｐｌｉｃａｔｉｏｎ  ＡＰＩにおいて、ｏｒｇ．ｏｃａｐ．ａｐｐｌｉｃａｔｉｏｎ．ＡｐｐＭａｎａｇｅｒＰｒｏｘｙクラスのｒｅｇｉｓｔｅｒＵｎｂｏｕｎｄＡｐｐメソッドとして定義されている。特別な権限をもつアプリケーションがＸＡＩＴ情報を登録するＡＰＩを用いて、新規のＸＡＩＴ情報を登録（特別な権限をもつアプリケーションが新規に作成したＸＡＩＴ情報の登録）を行った際には、ＡＭ１２０５ｂは、その特別な権限をもつアプリケーションにより登録されたＸＡＩＴ情報を、ＸＡＩＴ情報の更新として受け取る。
【０１９１】
このように、実施の形態１では、ストア優先度を用いることにより、常に、ストア優先度の高いアプリケーションを優先的にストアすることが出来る。さらに、アプリケーションがストア領域２２０１から削除される場合には、ユーザにアプリケーションが削除されることをユーザに通知することにより、ユーザは、既にストアされていたアプリケーションの削除に起因する、ＸＡＩＴ情報の取得からアプリケーション起動までの時間が遅くなる等のアプリケーションの挙動変化を前もって知ることができる。その結果、ユーザは安心して端末装置５００を利用することができる。
【０１９２】
（実施の形態２）
実施の形態１では、ストアアプリ決定部２６０２が、既にストアされていたアプリケーションをストア領域２２０１から削除すると決定した場合、通知部２６０５は、ユーザにアプリケーションが削除されることを通知する。しかし、ユーザによる削除通知の確認の有無を判断せずに、アプリケーションのストア削除部２６０４は、アプリケーションをストア領域２２０１から削除してしまう。例えば、ユーザが、アプリケーションの削除通知に気づかなくても、アプリケーションがストア領域２２０１から削除される可能性がある。
【０１９３】
そこで、本実施の形態においては、さらに、図３７に示すように、ＡＭ１２０５ｂはユーザからの応答を受け付ける応答受付部３５０１を備える。
【０１９４】
図３７は、本実施の形態におけるＡＭ１２０５ｂの構成を示す構成図である。
本実施の形態において、通知部２６０５は、ストアアプリ決定部２６０２の指示に従い、ユーザにアプリケーションが削除されることを通知する。ここで、通知部２６０５によるユーザへのアプリケーション削除通知は、通知部２６０５が端末装置５００のＣＰＵ５１４に画面に表示したい削除通知情報を送り、ＯＳ１２０１のライブラリ１２０１ｂに含まれるダイアログ表示プログラムが、図３８に示すような削除通知をディスプレイ５０９に表示することにより実現される。
【０１９５】
図３８は、本実施の形態におけるディスプレイ５０９に表示される削除通知の一例を示す図である。
【０１９６】
ダイアログボックス３００１は、メッセージ３００２及びＯＫボタン３７０１の表示要素をもつ。なお、ユーザにアプリケーションの削除を通知する為に必要な情報を提供できる方法であれば、図３８中の文字列に限定されず他の文字列であってもよく、また、メッセージ３００２の形式は文字列に限定されず他の形式であってもよい。また、ＯＫボタン３７０１の文字列は、図３８中の文字列に限定されず他の文字列であってもよい。また更に、ダイアログボックス３００１の表示要素は、図３８の表示要素に限定されず、ユーザにアプリケーション２０１１の削除を通知し、ユーザが削除通知の確認を選択したことをＣＰＵ５１４が認識できるものであれば、他の表示要素であってもよい。
【０１９７】
応答受付部３５０１は、ＣＰＵ５１４から、ユーザの上記ＯＫボタン３７０１の選択等による削除通知の確認時におけるユーザからの選択情報を受付け、ＣＰＵ５１４から選択情報を受付けた時に、ストアアプリ決定部２６０２に通知確認情報を通知する。
【０１９８】
さらに、本実施の形態において、ストアアプリ決定部２６０２は、実施の形態１と同様の方法により、ストア領域２２０１にストアするアプリケーションと、ストア領域２２０１から削除するアプリケーションとのセットを決定し、既にストアされていたアプリケーションをストア領域２２０１からの削除すると決定した場合には、通知部２６０５への通知指示と、ストア部２６０３へのアプリケーションのストア指示と、ストア削除部２６０４へのアプリケーション削除指示を行う。但し、本実施の形態において、ストアアプリ決定部２６０２は、応答受付部３５０１からの通知確認情報の通知を受けて初めて、ストア削除部２６０４へアプリケーションの削除指示を行い、ストア部２６０３へアプリケーションのストア指示を行う。これにより、アプリケーションのストア削除部２６０４がアプリケーションをストア領域２２０１から削除する前に、通知部２６０５によりユーザにアプリケーションの削除通知がされることを実現する。
【０１９９】
図３９は、本実施の形態における、ＸＡＩＴ情報を受け取ったＡＭ１２０５ｂによる、アプリケーションのストア処理の特徴的な動作の一例を示すフローチャートである。この図３９は、図２９に示すステップＳ２７０５からの処理を示すものであって、特に、ＸＡＩＴ情報に記述されるアプリケーションをＭＥＰＧ２トランスポートストリームからストア領域２２０１にストアする際に、ストア領域２２０１の容量が不足する場合における、ＡＭ１２０５ｂによるストア処理動作の一例を示す。
【０２００】
図３９において、図３０と同じステップには、図３０と同じ番号を付した。
図２９に示すように、ＡＭ１２０５ｂがＸＡＩＴ情報を受け取ると（Ｓ２７０１）、ＸＡＩＴ情報に記述されたアプリケーションからストア優先度の高いものから順にまだ選ばれていないアプリケーションを１つ選択する。但しここで、受け取ったＸＡＩＴ情報に従ったストア処理において、ストア削除部２６０４がストア領域２２０１から既に削除したアプリケーションを除くアプリケーションを１つ選択する（Ｓ２７０２）。そして、ＡＭ１２０５ｂは、選択したアプリケーションがストアされているか否かを判断する（Ｓ２７０３）。
【０２０１】
選択したアプリケーションがストアされている場合（Ｓ２７０３のＹＥＳ）、ＡＭ１２０５ｂは、ＸＡＩＴ情報に記述のアプリケーションを全て選択したか否かを判断し（Ｓ２７０７）する。ここで、未だＸＡＩＴ情報に記述の全てのアプリケーションを選択していない場合（Ｓ２７０７のＮＯ）、ＡＭ１２０５ｂは次のアプリケーションを選択しストア処理を進める。既にＸＡＩＴ情報に記述の全てのアプリケーションを選択している場合には（Ｓ２７０７のＹＥＳ）、ＡＭ１２０５ｂは、ストア処理を終了する。
【０２０２】
一方、選択したアプリケーションがストアされていない場合（Ｓ２７０３のＮＯ）、ストアアプリ決定部２６０２は、ストア領域残容量取得部２６０６からストア領域の残容量を取得し、アプリケーション容量取得部２６０７からアプリケーション容量を取得する（Ｓ２７０４）。そして、ストア領域残容量取得部２６０６から取得したストア領域の残容量とアプリケーション容量取得部２６０７から取得したアプリケーション容量に基づき、ストアアプリ決定部２６０２は、ストア領域の残容量が選択したアプリケーションの容量より大きいか否かを判断する（Ｓ２７０５）。
【０２０３】
ストア領域の残容量が選択したアプリケーションの容量より大きいと判断した場合（Ｓ２７０５のＹＥＳ）、ストア部２６０３は選択したアプリケーションをストアする（Ｓ２７０６）。そして、ＡＭ１２０５ｂは、ＸＡＩＴ情報に記述のアプリケーションを全て選択したか否かを判断し（Ｓ２７０７）、未だＸＡＩＴ情報に記述の全てのアプリケーションを選択していない場合、ＡＭ１２０５ｂは次のアプリケーションを選択しストア処理を進め、既にＸＡＩＴ情報に記述の全てのアプリケーションを選択している場合にはストア処理を終了する。
【０２０４】
一方、ストアアプリ決定部２６０２がストア領域の残容量が選択したアプリケーションの容量より小さいと判断した場合（Ｓ２７０５のＹＥＳ）、図３９に示すように、ＡＭ１２０５ｂは、既にストアされているアプリケーションがあるか否かを判断する（Ｓ２８０１）。
【０２０５】
既にストアされているアプリケーションがある場合には（Ｓ２８０１のＹＥＳ）、つまり、ＸＡＩＴ情報に記述されるアプリケーションをＭＥＰＧ２トランスポートストリームからストアする際に、既にストアされているアプリケーションがある為にストア領域２２０１の容量が不足する場合には、ストアアプリ決定部２６０２は、ストア優先度比較部２６０１から個々のアプリケーションに指定されたストア優先度２００６の比較結果を取得する（Ｓ２８０２）。その比較結果に基づいて、ストアアプリ決定部２６０２は、ストアするアプリケーションと、ストア領域２２０１から削除するアプリケーションとのセットを決定する（Ｓ２８０３）。ここで、ストアアプリ決定部２６０２は、既にストアされているアプリケーションの中で、選択したアプリケーションのストア優先度よりもストア優先度の低いアプリケーションがある場合には、ストア領域の残容量が選択したアプリケーションの容量以上になるように、それらの既にストアされているアプリケーションを、ストア領域から削除することを決定し、選択したアプリケーションをストアすることを決定する。但し、それらの既にストアされているアプリケーションをストア領域から削除してもストア領域の残容量が選択したアプリケーションの容量以上にならない場合には、ストアアプリ決定部２６０２は、それらの既にストアされているアプリケーションはストア領域から削除せず、選択したアプリケーションをストアしないことを決定する。続いて、ストアアプリ決定部２６０２は、ストアアプリ決定部２６０２が、既にストアされていたアプリケーションをストア領域２２０１から削除すると決定したか削除しないことを決定したかを判定する（Ｓ２８０４）。
【０２０６】
ストアアプリ決定部２６０２が、既にストアされていたアプリケーションをストア領域２２０１から削除すると決定した場合（Ｓ２８０４のＹＥＳ）、ストアアプリ決定部２６０２は、通知部２６０５に削除通知を指示する。そして、通知部２６０５は、ストアアプリ決定部２６０２の決定結果に従い、ユーザにアプリケーションが削除されることを通知する（Ｓ３６０１）。ここで、通知部２６０５によるユーザへのアプリケーション削除通知は、通知部２６０５が端末装置５００のＣＰＵ５１４に画面に表示したい削除通知情報を送り、ＯＳ１２０１のライブラリ１２０１ｂに含まれるダイアログ表示プログラムが、図３８に示すような削除通知をディスプレイ５０９に表示することにより実現される。ダイアログボックス３００１は、メッセージ３００２及びＯＫボタン３７０１の表示要素をもつ。ユーザがＯＫボタン３７０１をリモコン操作等により選択すると、ＣＰＵ５１４はＡＭ１２０５ｂの応答受付部３５０１にユーザからの選択情報を送る。応答受付部３５０１はユーザからの選択情報を受けると、ストアアプリ決定部２６０２に通知確認情報を通知する（Ｓ３６０２）。ストアアプリ決定部２６０２は、応答受付部３５０１から通知確認情報の通知を受けると、ストア削除部２６０４に、アプリケーションをストア領域２２０１から削除するように指示し、ストア部２６０３に、アプリケーションのストアを指示する。即ち、応答受付部３５０１は、ユーザの選択情報を受けると、その選択情報をストアアプリ決定部２６０２を介してストア削除部２６０４及びストア部２６０３に通知する。そして、ストア削除部２６０４は、ストアアプリ決定部２６０２の決定結果に従い、アプリケーションをストア領域２２０１から削除し（Ｓ２８０６）、ストア部２６０３は、ストアアプリ決定部２６０２の決定結果に従い、アプリケーションをストアする（Ｓ２７０６）。そして、ＡＭ１２０５ｂは、ＸＡＩＴ情報に記述のアプリケーションを全て選択したか否かを判断する（Ｓ２７０７）。そして、ＡＭ１２０５ｂは、上述と同様、未だＸＡＩＴ情報に記述の全てのアプリケーションを選択していない場合、ＡＭ１２０５ｂは次のアプリケーションを選択しストア処理を進め、既にＸＡＩＴ情報に記述の全てのアプリケーションを選択している場合にはストア処理を終了する。
【０２０７】
一方、ストアアプリ決定部２６０２が、既にストアされていたアプリケーションをストア領域２２０１から削除しないことを決定した場合（Ｓ２８０４のＮＯ）、選択されたアプリケーションをストアするストア領域を確保することができない。そこで、ＡＭ１２０５ｂは、ＸＡＩＴ情報に記述のアプリケーションを全て選択したか否かを判断し（Ｓ２７０７）、未だＸＡＩＴ情報に記述の全てのアプリケーションを選択していない場合、ＡＭ１２０５ｂは次のアプリケーションを選択しストア処理を進め、既にＸＡＩＴ情報に記述の全てのアプリケーションを選択している場合にはストア処理を終了する。
【０２０８】
一方、既にストアされているアプリケーションがない場合には（Ｓ２８０１のＮＯ）、つまり、ＸＡＩＴ情報に記述されるアプリケーションをＭＥＰＧ２トランスポートストリームからストア領域２２０１にストアする際に、ストア領域２２０１の容量が不足するが、既にストアされているアプリケーションがない場合には、選択されたアプリケーションをストアするストア領域を確保することができない。そこで、ＡＭ１２０５ｂは、ＸＡＩＴ情報に記述のアプリケーションを全て選択したか否かを判断し（Ｓ２７０７）、未だＸＡＩＴ情報に記述の全てのアプリケーションを選択していない場合、ＡＭ１２０５ｂは次のアプリケーションを選択しストア処理を進め、既にＸＡＩＴ情報に記述の全てのアプリケーションを選択している場合にはストア処理を終了する。
【０２０９】
なお、ＸＡＩＴ情報に記述されるアプリケーションをＭＥＰＧ２トランスポートストリームからストア領域２２０１にストアする際に、ストア領域２２０１の容量が不足するが、既にストアされているアプリケーションがない場合には、選択されたアプリケーションをストアするストア領域を確保することができないので、ＡＭ１２０５ｂは選択したアプリケーションをストアせずにストア処理を終了してもよい。
【０２１０】
ここで、既にストアされているアプリケーションがＸＡＩＴ情報に記述されていない場合、ストア優先度比較部２６０１は、そのアプリケーションのストア優先度は最低値であるとみなすとした。このような場合、ストアアプリ決定部２６０２は、そのアプリケーションのストア領域２２０１からの削除を無条件に決定する等の方法を取ってもよい。
【０２１１】
なお、応答受付部３５０１にタイムアウト時間をユーザが設定可能とし、応答受付部３５０１がそのタイムアウト時間の間にユーザからの応答がなかった場合には、ストア削除部２６０４は、ユーザによりアプリケーション削除通知が確認されてＯＫボタン３７０１が選択されものとみなし、ストア領域２２０１からアプリケーションを削除するなどとしても良い。
【０２１２】
このように、実施の形態２により、アプリケーションがストア領域２２０１から削除される場合には、ユーザにアプリケーションが削除されることを通知し、ユーザの確認が得られた後に、アプリケーションをストア領域２２０１から削除することにより、ユーザは、既にストアされていたアプリケーションの削除に起因する、ＸＡＩＴ情報の取得からアプリケーション起動までの時間が遅くなる等のアプリケーションの挙動変化を、より確実に、前もって知ることができる。
【０２１３】
（実施の形態３）
実施の形態２では、ストアアプリ決定部２６０２が、既にストアされていたアプリケーションをストア領域２２０１から削除すると決定した場合、通知部２６０５は、ユーザにアプリケーションが削除されることを通知し、応答受付部３５０１がユーザの通知確認情報を受ける。その後に、ストア削除部２６０４は、ストアアプリ決定部２６０２の決定に従い、アプリケーションをストア領域２２０１から削除する。しかし、このような実施の形態２では、ユーザは、アプリケーションのストア領域２２０１からの削除を拒絶することができない。例えば、ユーザが、あるアプリケーションをストア領域２２０１から削除したくない場合でも、ストア領域２２０１から削除されてしまう可能性がある。
【０２１４】
そこで、本実施の形態においては、さらに、ＡＭ１２０５ｂのストアアプリ決定部２６０２は、ユーザからの応答受付部３５０１が受付けたユーザからの応答情報に従い、その決定結果を変更できる。
【０２１５】
本実施の形態において、通知部２６０５は、ストアアプリ決定部２６０２が既にストアされていたアプリケーションをストア領域２２０１から削除すると決定した場合において、ストア削除部２６０４がアプリケーションをストア領域２２０１から削除する前に、ユーザにアプリケーションを削除してもよいか確認する。ここで、通知部２６０５によるユーザへのアプリケーション削除通知は、通知部２６０５が端末装置５００のＣＰＵ５１４に画面に表示したい削除通知情報を送り、ＯＳ１２０１のライブラリ１２０１ｂに含まれるダイアログ表示プログラムが、図４０に示すような削除通知をディスプレイ５０９に表示することにより実現される。
【０２１６】
図４０は、本実施の形態におけるディスプレイ５０９が表示する削除通知の一例を示す図である。
【０２１７】
ダイアログボックス３００１は、メッセージ４００１とＹｅｓボタン４００２とＮｏボタン４００３の表示要素をもつ。なお、メッセージ４００１の文字列は、ユーザにアプリケーションの削除を通知する為に必要な情報を提供できる方法であれば、図４０中の文字列に限定されず他の文字列であってもよく、また、メッセージ４００１の形式は文字列に限定されず他の形式であってもよい。また、Ｙｅｓボタン４００２及びＮｏボタン４００３の文字列は、図４０中の文字列に限定されず他の文字列であってもよい。また更に、ダイアログボックス３００１の表示要素は、図４０の表示要素に限定されず、ユーザにアプリケーションの削除を通知し、ユーザが削除通知の許可または拒否を選択したことをＣＰＵ５１４が認識できるものであれば、他の表示要素であってもよい。
【０２１８】
また、本実施の形態において、応答受付部３５０１は、ＣＰＵ５１４から、ユーザが上記Ｙｅｓボタン４００２または上記Ｎｏボタン４００３の選択によりアプリケーションの削除を許可または拒否した時におけるユーザからの選択情報を受付ける。そして、応答受付部３５０１は、ＣＰＵから選択情報を受付けた時に、その選択情報が、アプリケーションの削除の許可を示すものか、アプリケーションの削除の拒否を示すものかを判定する。アプリケーションの削除の許可を示す場合には、応答受付部３５０１は、ストアアプリ決定部２６０２に通知確認情報を通知し、アプリケーションの削除の拒否を示す場合には、ストアアプリ決定部２６０２に通知拒否情報を通知する。
【０２１９】
さらに、本実施の形態において、ストアアプリ決定部２６０２は、実施の形態１と同様の方法により、ストア領域２２０１にストアするアプリケーションと、ストア領域２２０１から削除するアプリケーションとのセットを決定する。そして、既にストアされていたアプリケーションをストア領域２２０１から削除すると決定した場合には、ストアアプリ決定部２６０２は、通知部２６０５への通知指示と、ストア部２６０３へのアプリケーションのストア指示と、ストア削除部２６０４へのアプリケーション削除指示を行う。但し、本実施の形態において、ユーザがアプリケーション削除を許可した場合には、ストアアプリ決定部２６０２は、応答受付部３５０１から通知確認情報の通知を受けて初めて、ストア部２６０３へアプリケーションの削除指示を行い、ストア削除部２６０４へアプリケーションの削除指示を行う。一方、ユーザがアプリケーションの削除を許可しない場合には、ストアアプリ決定部２６０２は、応答受付部３５０１から通知拒否情報の通知を受けると、ストア領域２２０１から削除するアプリケーションと、ストアするアプリケーションとのセットの決定を変更する。
【０２２０】
ここで、決定の変更は例えば、ストアアプリ決定部２６０２は、ストア優先度の次に低いアプリケーションをストア領域２２０１から削除することを決定する等の方法により実現される。なお、ユーザがストア領域からの削除を拒否したアプリケーションを削除しないことが実現できれば、他の方法であってもよい。
【０２２１】
そして、この決定の変更後に初めて、その変更した決定結果に従わせるように、ストアアプリ決定部２６０２は、ストア部２６０３へアプリケーションのストア指示を行い、アプリケーションのストア削除部２６０４へアプリケーションの削除指示を行う。
【０２２２】
図４１及び図４２は、本実施の形態における、ＸＡＩＴ情報を受け取ったＡＭ１２０５ｂによる、アプリケーションのストア処理の特徴的な動作の一例を示すフローチャートである。これらの図４１及び図４２は、図２９に示すステップＳ２７０５からの処理を示すものであって、特に、ＸＡＩＴ情報に記述されるアプリケーションをＭＥＰＧ２トランスポートストリームからストア領域２２０１にストアする際に、ストア領域２２０１の容量が不足する場合における、ＡＭ１２０５ｂによるストア処理動作の一例を示す。
【０２２３】
図４１において、図３０と同じステップには、図３０と同じ番号を付した。
図２９に示すように、ＡＭ１２０５ｂがＸＡＩＴ情報を受け取ると（Ｓ２７０１）、ＸＡＩＴ情報に記述されたアプリケーションからストア優先度の高いものから順にまだ選ばれていないアプリケーションを１つ選択する。但しここで、受け取ったＸＡＩＴ情報に従ったストア処理において、ストア削除部２６０４がストア領域２２０１から既に削除したアプリケーションを除くアプリケーションを１つ選択する（Ｓ２７０２）。そして、ＡＭ１２０５ｂは、選択したアプリケーションがストアされているか否かを判断する（Ｓ２７０３）。
【０２２４】
選択したアプリケーションがストアされている場合（Ｓ２７０３のＹＥＳ）、ＡＭ１２０５ｂは、ＸＡＩＴ情報に記述のアプリケーションを全て選択したか否かを判断（Ｓ２７０７）する。ここで、未だＸＡＩＴ情報に記述の全てのアプリケーションを選択していない場合（Ｓ２７０７のＮＯ）、ＡＭ１２０５ｂは次のアプリケーションを選択しストア処理を進める。既にＸＡＩＴ情報に記述の全てのアプリケーションを選択している場合には（Ｓ２７０７のＹＥＳ）、ＡＭ１２０５ｂは、ストア処理を終了する。
【０２２５】
一方、選択したアプリケーションがストアされていない場合（Ｓ２７０３のＮＯ）、ストアアプリ決定部２６０２は、ストア領域残容量取得部２６０６からストア領域の残容量を取得し、アプリケーション容量取得部２６０７からアプリケーション容量を取得する（Ｓ２７０４）。そして、ストア領域残容量取得部２６０６から取得したストア領域の残容量とアプリケーション容量取得部２６０７から取得したアプリケーション容量に基づき、ストアアプリ決定部２６０２は、ストア領域の残容量が選択したアプリケーションの容量より大きいか否かを判断する（Ｓ２７０５）。
【０２２６】
ストア領域の残容量が選択したアプリケーションの容量より大きいと判断した場合（Ｓ２７０５のＹＥＳ）、ストア部２６０３は選択したアプリケーションをストアする（Ｓ２７０６）。そして、ＡＭ１２０５ｂは、ＸＡＩＴ情報に記述のアプリケーションを全て選択したか否かを判断し（Ｓ２７０７）、未だＸＡＩＴ情報に記述の全てのアプリケーションを選択していない場合、ＡＭ１２０５ｂは次のアプリケーションを選択しストア処理を進め、既にＸＡＩＴ情報に記述の全てのアプリケーションを選択している場合にはストア処理を終了する。
【０２２７】
一方、ストアアプリ決定部２６０２がストア領域の残容量が選択したアプリケーションの容量より小さいと判断した場合（Ｓ２７０５のＹＥＳ）、図４１に示すように、ＡＭ１２０５ｂは、既にストアされているアプリケーションがあるか否かを判断する（Ｓ２８０１）。
【０２２８】
既にストアされているアプリケーションがある場合には（Ｓ２８０１のＹＥＳ）、つまり、ＸＡＩＴ情報に記述されるアプリケーションをＭＥＰＧ２トランスポートストリームからストアする際に、既にストアされているアプリケーションがある為にストア領域２２０１の容量が不足する場合には、ストアアプリ決定部２６０２は、ストア優先度比較部２６０１から個々のアプリケーションに指定されたストア優先度２００６の比較結果を取得する（Ｓ２８０２）。その比較結果に基づいて、ストアアプリ決定部２６０２は、ストアするアプリケーションと、ストア領域２２０１から削除するアプリケーションとのセットを決定する（Ｓ２８０３）。ここで、ストアアプリ決定部２６０２は、既にストアされているアプリケーションの中で、選択したアプリケーションのストア優先度よりもストア優先度の低いアプリケーションがある場合には、ストア領域の残容量が選択したアプリケーションの容量以上になるように、それらの既にストアされているアプリケーションを、ストア領域から削除することを決定し、選択したアプリケーションをストアすることを決定する。但し、それらの既にストアされているアプリケーションをストア領域から削除してもストア領域の残容量が選択したアプリケーションの容量以上にならない場合には、ストアアプリ決定部２６０２は、それらの既にストアされているアプリケーションはストア領域から削除せず、選択したアプリケーションをストアしないことを決定する。続いて、ストアアプリ決定部２６０２は、ストアアプリ決定部２６０２が、既にストアされていたアプリケーションをストア領域２２０１から削除すると決定したか削除しないことを決定したかを判定する（Ｓ２８０４）。
【０２２９】
ストアアプリ決定部２６０２が、既にストアされていたアプリケーションをストア領域２２０１から削除すると決定した場合（Ｓ２８０４のＹＥＳ）、ストアアプリ決定部２６０２は、通知部２６０５に削除通知を指示する。そして、通知部２６０５は、ユーザにアプリケーションを削除してもよいか確認する（Ｓ３８０１）。ここで、通知部２６０５によるユーザへのアプリケーション削除通知は、通知部２６０５が端末装置５００のＣＰＵ５１４に画面に表示したい削除通知情報を送り、ＯＳ１２０１のライブラリ１２０１ｂに含まれるダイアログ表示プログラムが、図４０に示すような削除通知をディスプレイ５０９に表示することにより実現される。ダイアログボックス３００１は、メッセージ４００１とＹｅｓボタン４００２とＮｏボタン４００３の表示要素をもつ。
【０２３０】
ユーザがＹｅｓボタン４００２またはＮｏボタン４００３をリモコン操作等により選択すると、ＣＰＵ５１４はＡＭ１２０５ｂの応答受付部３５０１にユーザからの選択情報を送る。
【０２３１】
応答受付部３５０１は、ＣＰＵ５１４からユーザの選択情報を受け取ると、ユーザの選択情報が、アプリケーションの削除の許可を示すものか、アプリケーションの削除の拒否を示すものかを判定する（Ｓ３８０２）。
【０２３２】
ユーザの選択情報が、アプリケーションの削除の許可を示す場合、応答受付部３５０１は、ストアアプリ決定部２６０２に通知確認情報を通知する（Ｓ３８０３）。ストアアプリ決定部２６０２は、応答受付部３５０１から通知確認情報の通知を受けると、ストア削除部２６０４に、アプリケーションをストア領域２２０１から削除するように指示し、ストア部２６０３に、アプリケーションのストアを指示する。そして、ストア削除部２６０４は、ストアアプリ決定部２６０２の決定結果に従い、アプリケーションをストア領域２２０１から削除し（Ｓ２８０６）、ストア部２６０３は、図２９に示すように、ストアアプリ決定部２６０２の決定結果に従い、アプリケーションをストアする（Ｓ２７０６）。そして、ＡＭ１２０５ｂは、ＸＡＩＴ情報に記述のアプリケーションを全て選択したか否かを判断し（Ｓ２７０７）、未だＸＡＩＴ情報に記述の全てのアプリケーションを選択していない場合（Ｓ２７０７のＮＯ）、ＡＭ１２０５ｂは次のアプリケーションを選択しストア処理を進め、既にＸＡＩＴ情報記述の全てのアプリケーションを選択している場合（Ｓ２７０７のＹＥＳ）にはストア処理を終了する。
【０２３３】
一方、ユーザの選択情報が、アプリケーションの削除の拒否を示す場合（Ｓ３８０２のＮＯ）、図４２に示すように、応答受付部３５０１は、ストアアプリ決定部２６０２に通知拒否情報を通知する（Ｓ３９０１）。ストアアプリ決定部２６０２は、応答受付部３５０１から通知拒否情報の通知を受けると、ストア領域２２０１から削除するアプリケーションと、ストアするアプリケーションとのセットの決定を変更する（Ｓ３９０２）。ここでは、ストアアプリ決定部２６０２は、ストア優先度の次に低いアプリケーションをストア領域２２０１から削除することを決定する。但し、削除するアプリケーションのストア優先度は、ストアするアプリケーションのストア優先度よりも低くなるように決定する。ストアするアプリケーションのストア優先度よりも低いストア優先度をもつアプリケーションがストア領域２２０１に存在しない場合には、アプリケーションをストア領域２２０１から削除しないと決定する。
【０２３４】
続いて、ストアアプリ決定部２６０２は、ストアアプリ決定部２６０２が、既にストアされていたアプリケーションをストア領域２２０１から削除すると決定したか否かを判定する（Ｓ３９０３）。ストアアプリ決定部２６０２が、既にストアされていたアプリケーションをストア領域２２０１からの削除すると決定した場合には（Ｓ３９０３のＹＥＳ）、ストアアプリ決定部２６０２は、再度、通知部２６０５に削除通知を指示する。そして、再度、通知部２６０５は、ユーザにアプリケーションを削除してもよいか確認して（Ｓ３８０１）、ストア処理を継続する。一方、ストアアプリ決定部２６０２が、既にストアされていたアプリケーションをストア領域２２０１から削除しないことを決定した場合（Ｓ３９０３のＮＯ）、選択されたアプリケーションをストアするストア領域を確保することができない。そこで、ＡＭ１２０５ｂは、ＸＡＩＴ情報に記述のアプリケーションを全て選択したか否かを判断し（Ｓ２７０７）、未だＸＡＩＴ情報に記述の全てのアプリケーションを選択していない場合には（Ｓ２７０７のＮＯ）、ＡＭ１２０５ｂは次のアプリケーションを選択しストア処理を進め、既にＸＡＩＴ情報記述の全てのアプリケーションを選択している場合（Ｓ２７０７のＹＥＳ）にはストア処理を終了する。
【０２３５】
一方、ストアアプリ決定部２６０２が、既にストアされていたアプリケーションをストア領域２２０１から削除しないことを決定した場合には（Ｓ２８０４のＮＯ）、選択されたアプリケーションをストアするストア領域を確保することができない。そこで、ＡＭ１２０５ｂは、上述と同様、ＸＡＩＴ情報に記述のアプリケーションを全て選択したか否かを判断し（Ｓ２７０７）、未だＸＡＩＴ情報に記述の全てのアプリケーションを選択していない場合には、ＡＭ１２０５ｂは次のアプリケーションを選択しストア処理を進め、既にＸＡＩＴ情報に記述の全てのアプリケーションを選択している場合にはストア処理を終了する。
【０２３６】
一方、既にストアされているアプリケーションがない場合には（Ｓ２８０１のＮＯ）、つまり、ＸＡＩＴ情報に記述されるアプリケーションをＭＥＰＧ２トランスポートストリームからストア領域２２０１にストアする際に、ストア領域２２０１の容量が不足するが、既にストアされているアプリケーションがない場合には、選択されたアプリケーションをストアするストア領域を確保することができない。そこで、ＡＭ１２０５ｂは、上述と同様、ＸＡＩＴ情報に記述のアプリケーションを全て選択したか否かを判断し（Ｓ２７０７）、未だＸＡＩＴ情報に記述の全てのアプリケーションを選択していない場合には、ＡＭ１２０５ｂは次のアプリケーションを選択しストア処理を進め、既にＸＡＩＴ情報に記述の全てのアプリケーションを選択している場合にはストア処理を終了する。
【０２３７】
なお、ＸＡＩＴ情報に記述されるアプリケーションをＭＥＰＧ２トランスポートストリームからストア領域２２０１にストアする際に、ストア領域２２０１の容量が不足するが、既にストアされているアプリケーションがない場合には、選択されたアプリケーションをストアするストア領域を確保することができない。そこで、ＡＭ１２０５ｂは選択したアプリケーションをストアせずにストア処理を終了してもよい。
【０２３８】
ここで、既にストアされているアプリケーションがＸＡＩＴ情報に記述されていない場合、ストア優先度比較部２６０１は、そのアプリケーションのストア優先度は最低値であるとみなすとした。このような場合、ストアアプリ決定部２６０２は、そのアプリケーションのストア領域２２０１からの削除を無条件に決定する等の方法を取ってもよい。
【０２３９】
また、ここでは、応答受付部３５０１がユーザの通知拒否情報を受けると、ストアアプリ決定部２６０２は、ストア領域２２０１から削除するアプリケーションと、ストアするアプリケーションとのセットの決定を変更することにより、ユーザが削除を拒否したアプリケーションがストア領域２２０１から削除されないことを実現している。しかし、ＡＭ１２０５ｂがＸＡＩＴ情報を更新して、アプリケーションのストア優先度を変更することにより、ユーザが削除を拒否したアプリケーションがストア領域２２０１から削除されないことを実現してもよい。例えば、ユーザが削除を拒否したアプリケーションのストア優先度を最大値に再設定するなどの方法をとってもよい。
【０２４０】
このように実施の形態３では、ユーザは、アプリケーションをストア領域２２０１から削除するとの確認を受けた際に、そのアプリケーションがストア領域２２０１からの削除されること拒否することができる。そして、ユーザが削除を拒否したアプリケーションはストア領域２２０１から削除しないことが実現できる。
【０２４１】
（実施の形態４）
本実施の形態では、更に、ＡＭ１２０５ｂがヘッドエンド１０１から送信されるＸＡＩＴ情報の受け取り時に、そのＸＡＩＴ情報の保存、及び、アプリケーションのストア処理やアプリケーション起動指示などのＸＡＩＴ情報の記述に従う処理を行う前に、そのＸＡＩＴ情報を受け取って良いか否か、つまり、そのＸＡＩＴ情報の記述に従う処理を行って良いか否かの決定権を与えるＡＰＩを、特別な権限をもつアプリケーションに提供する。更に、本実施の形態では、ＸＡＩＴ情報に記述のストア優先度を変更するＡＰＩを、特別な権限をもつアプリケーションに提供する。
【０２４２】
ここで、ヘッドエンド１０１から送信されるＸＡＩＴ情報の受け取り時に、そのＸＡＩＴ情報を受け取って良いか否かの決定権を与えるＡＰＩは公知の技術にて実現されている。ヘッドエンド１０１から送信されるＸＡＩＴ情報の受け取り時に、そのＸＡＩＴ情報を受け取って良いか否かの決定権を、特別な権限をもつアプリケーションに対して与えるＡＰＩは、ＯＣＡＰ仕様（ＯＣＡＰ  １．０  Ｐｒｏｆｉｌｅ  ＯＣ−ＳＰ−ＯＣＡＰ１．０−ＩＦ−Ｉ０９−０３１１２１）のＡｎｎｅｘＧ  ＯＣＡＰ  １．０  Ａｐｐｌｉｃａｔｉｏｎ  ＡＰＩにおいて、ｏｒｇ．ｏｃａｐ．ａｐｐｌｉｃａｔｉｏｎ．ＡｐｐＭａｎａｇｅｒＰｒｏｘｙクラスのｓｅｔＡｐｐＳｉｇｎａｌＨａｎｄｌｅｒメソッドとして定義されている。
【０２４３】
以降、実施の形態１に記述したＸＡＩＴ情報を更新するＡＰＩや、ＸＡＩＴ情報に記述のストア優先度を変更するＡＰＩ、ヘッドエンド１０１から送信されるＸＡＩＴ情報の受け取り時に、そのＸＡＩＴ情報を受け取って良いか否かの決定権を与えるＡＰＩなどの、各ＡＰＩを区別するときには、それぞれを更新ＡＰＩ、変更ＡＰＩ、及び決定ＡＰＩという。そして、これらの各ＡＰＩを提供される特別な権限をもつアプリケーションを、モニターアプリケーションと呼ぶ。
【０２４４】
本実施の形態において、ＸＡＩＴ情報に記述のストア優先度を変更するＡＰＩは、ヘッドエンド１０１から送信されるＸＡＩＴ情報に記述のアプリケーションのストア優先度をモニターアプリケーションが変更できるようにするためのＡＰＩである。
【０２４５】
本実施の形態において、ＡＭ１２０５ｂは、モニターアプリケーションから、決定ＡＰＩを利用してＸＡＩＴ情報を受け取って良いか否かの決定権を与えるよう依頼を受けていた場合、ＡＭ１２０５ｂは、ヘッドエンド１０１から送信されるＸＡＩＴ情報の受け取り時に、モニターアプリケーションへ、そのＸＡＩＴ情報を受け取って良いか否かの決定を委ねる。
【０２４６】
モニターアプリケーションは、そのＸＡＩＴ情報の受け取りを許可した場合には、ヘッドエンド１０１から送信された上記ＸＡＩＴ情報を受け取り、または、変更ＡＰＩを用いる場合には、その変更されたＸＡＩＴ情報を受け取る。そして、ＡＭ１２０５ｂは、実施の形態１または２いずれかに記述の方法により、そのＸＡＩＴ情報を受け取り、ＸＡＩＴ情報記述のアプリケーションのストア処理を行う。なおここで、モニターアプリケーションの判断のみに任せず、より厳重にストア優先度の重なりに対処するために実施の形態３に記述の処理を行っても良い。一方、モニターアプリケーションは、そのＸＡＩＴ情報の受け取りを拒否した場合には、ヘッドエンド１０１から送信された上記ＸＡＩＴ情報を無視する。
【０２４７】
また、ＡＭ１２０５ｂは、モニターアプリケーションからＸＡＩＴ情報を受け取って良いか否かの決定権を与えるよう依頼を受けてない場合には、実施の形態１または２いずれかに記述の方法により、ＸＡＩＴ情報を受け取り、ＸＡＩＴ情報に記述のアプリケーションのストア処理を行う。なお、モニターアプリケーションの判断のみに任せず、より厳重にストア優先度の重なりに対処するために実施の形態３に記述の処理を行っても良い。
【０２４８】
また、ＸＡＩＴ情報の受け取りが、更新ＡＰＩの利用によりモニターアプリケーションが行うＸＡＩＴ情報の更新や、変更ＡＰＩの利用によりモニターアプリケーションが行うＸＡＩＴ情報の変更、に起因する場合は、ＡＭ１２０５ｂは、モニターアプリケーションへ、そのＸＡＩＴ情報を受け取って良いか否かの決定を委ねず、実施の形態１または２いずれかに記述の方法により、ＸＡＩＴ情報を受け取り、ＸＡＩＴ情報記述のアプリケーションのストア処理を行う。
【０２４９】
なお、モニターアプリケーションの判断のみに任せず、より厳重にストア優先度の重なりに対処するために実施の形態３に記述の処理を行っても良い。
【０２５０】
本実施の形態において、モニターアプリケーションは、決定ＡＰＩを用いてヘッドエンド１０１から送信されるＸＡＩＴ情報を受け取るときには、ＡＭ１２０５ｂに対して、モニターアプリケーション自身へそのＸＡＩＴ情報を受け取って良いか否かの決定を委ねるよう依頼する。
【０２５１】
モニターアプリケーションは、ＡＭ１２０５ｂからＸＡＩＴ情報を受け取って良いか否かの決定を委ねられると、実施の形態１〜２においてＡＭ１２０５ｂが行ったのと同様の動作を行う。即ち、モニターアプリケーションは、そのＸＡＩＴ情報に記述されたアプリケーション及び既にストアされているアプリケーションのうち、ストア優先度の高いアプリケーションを優先的にストアすることを決定し、ストア優先度の低いアプリケーションから順に、ストア領域２２０１から削除することを決定する。ここで、モニターアプリケーションは、ストア優先度を比較する手段、ストア領域の残容量を取得する手段、既にストアされているアプリケーション及びＸＡＩＴ情報に記述されているアプリケーションの容量を取得する手段をもつ。
【０２５２】
そして、既にストアされていたアプリケーションをストア領域２２０１から削除すると決定した場合には、モニターアプリケーションは、ユーザにアプリケーション削除通知を表示する。ここで、モニターアプリケーションによるユーザへのアプリケーション削除通知は、実施の形態３における通知部２６０５によるユーザへのアプリケーション削除通知と同様の方法により実現される。モニターアプリケーションが端末装置５００のＣＰＵ５１４に画面に表示したい削除通知情報を送り、ＯＳ１２０１のライブラリ１２０１ｂに含まれるダイアログ表示プログラムが、図４０に示すような削除通知をディスプレイ５０９に表示することにより実現される。ダイアログボックス３００１は、メッセージ４００１と、Ｙｅｓボタン４００２と、Ｎｏボタン４００３の表示要素をもつ。なお、メッセージ４００１の文字列は、ユーザにアプリケーションの削除を通知する為に必要な情報を提供できる方法であれば、図４０中の文字列に限定されず他の文字列であってもよく、また、メッセージ４００１の形式は文字列に限定されず他の形式であってもよい。また、Ｙｅｓボタン４００２及びＮｏボタン４００３の文字列は、図４０中の文字列に限定されず他の文字列であってもよい。また更に、ダイアログボックス３００１の表示要素は、図４０の表示要素に限定されず、ユーザにアプリケーションの削除を通知し、ユーザが削除通知を許可または拒否を選択したことをＣＰＵ５１４が認識できるものであれば、他の表示要素であってもよい。
【０２５３】
モニターアプリケーションは、ＣＰＵ５１４から、ユーザが上記Ｙｅｓボタン４００２または上記Ｎｏボタン４００３の選択によりアプリケーションの削除を許可または拒否した時におけるユーザからの選択情報を受付ける。そして、モニターアプリケーションは、ＣＰＵから選択情報を受付けた時に、その選択情報が、アプリケーションの削除の許可を示すものか、アプリケーションの削除の拒否を示すものかを判定する。そして、選択情報が、アプリケーションの削除の許可を示す場合には、ＡＭ１２０５ｂに対し、ＸＡＩＴ情報の受け取りを許可する。一方、選択情報がアプリケーションの削除の拒否を示す場合には、モニターアプリケーションが、変更ＡＰＩを用いて、ユーザが削除を拒否したアプリケーションのストア優先度を最大値に変更すること等により、ユーザが削除を拒否したアプリケーションがストア領域２２０１から削除されないことを実現する。なお、ＡＭ１２０５ｂに対し、ＸＡＩＴ情報の受け取りを拒否することにより、ユーザが削除を拒否したアプリケーションがストア領域２２０１から削除されないことを実現してもよい。
【０２５４】
図４３は、本実施の形態における、ヘッドエンド１２０５ｂからＸＡＩＴ情報を受け取ったＡＭ１２０５ｂによるＸＡＩＴ情報の扱いの動作を示すフローチャートである。
【０２５５】
図４３に示すように、ＡＭ１２０５ｂは、ヘッドエンド１０１からＸＡＩＴ情報を受け取ると（Ｓ４１０１）、モニターアプリケーションから、ＸＡＩＴ情報を受け取って良いか否かの決定ＡＰＩを用いた決定権を与えるよう依頼を受けているか否かを判断する（Ｓ４１０２）。モニターアプリケーションから、ＸＡＩＴ情報を受け取って良いか否かの決定権を与えるよう依頼を受けていた場合、モニターアプリケーションへ、そのＸＡＩＴ情報を受け取って良いか否かの決定を委ねる（Ｓ４１０３）。
【０２５６】
図４４は、本実施の形態における、モニターアプリケーションの動作の一例を示すフローチャートである。特に、この動作の一例においては、モニターアプリケーションはＡＭ１２０５ｂに対し、ＸＡＩＴ情報を受け取って良いか否かの決定ＡＰＩを用いることによる決定権を与えるよう依頼しているものとする。
【０２５７】
この図４４に示すように、ＡＭ１２０５ｂからＸＡＩＴ情報を受け取って良いか否かの決定を委ねられたモニターアプリケーションは（Ｓ４２０１）、そのＸＡＩＴ情報に記述されたアプリケーション及び既にストアされているアプリケーションのうち、ストア領域２２０１にストアするアプリケーションのセットと、ストア領域２２０１から削除するアプリケーションのセットとを決定する（Ｓ４２０２）。ここで、モニターアプリケーションによるストア領域２２０１にストアするアプリケーションのセットとストア領域２２０１から削除するアプリケーションのセットとの決定は、例えば、ストア優先度の高いアプリケーションを優先的にストアすることを決定し、ストア優先度の低いアプリケーションから順に、ストア領域２２０１から削除することを決定する等により実現される。なお、モニターアプリケーションは、その他の方法によりこれらアプリケーションのセットを決定してもよい。続いて、モニターアプリケーションは、モニターアプリケーションが既にストアされていたアプリケーションをストア領域２２０１から削除すると決定したか否かを判定する（Ｓ４２０３）。モニターアプリケーションが既にストアされていたアプリケーションをストア領域２２０１から削除すると決定した場合（Ｓ４２０３のＹＥＳ）、モニターアプリケーションは、ユーザにアプリケーション削除通知を表示する（Ｓ４２０４）。そして、モニターアプリケーションは、ユーザがアプリケーションの削除を許可したか否かを判定し（Ｓ４２０５）、ユーザがアプリケーションの削除を許可した場合（Ｓ４２０５のＹＥＳ）、モニターアプリケーションはＡＭ１２０５ｂに、ヘッドエンド１０１から送信されたＸＡＩＴ情報の受け取りを許可する（Ｓ４２０７）。一方、ユーザがアプリケーションのストア領域からの削除を拒否した場合には（Ｓ４２０５のＮＯ）、モニターアプリケーションは、例えば、変更ＡＰＩを用いて、ユーザが削除を拒否したアプリケーションのストア優先度を最大値に再設定する。これにより、モニターアプリケーションは、ユーザが削除を拒否したアプリケーションがストア領域２２０１から削除されないようＸＡＩＴ情報中のストア優先度を変更し（Ｓ４２０６）、ＡＭ１２０５ｂに、その変更したＸＡＩＴ情報の受け取りを許可する（Ｓ４２０７）。
【０２５８】
続いて、ＡＭ１２０５ｂは、図４３に示すように、モニターアプリケーションがそのＸＡＩＴ情報の受け取りを許可したか否かを判定する（Ｓ４１０４）。ＡＭ１２０５ｂは、モニターアプリケーションがそのＸＡＩＴ情報の受け取りを拒否した場合には（Ｓ４１０４のＮＯ）、ＡＭ１２０５ｂは、ストア処理を終了する。一方、ＡＭ１２０５ｂは、モニターアプリケーションがそのＸＡＩＴ情報の受け取りを許可した場合には（Ｓ４１０４のＹＥＳ）、図２９に示すように、ヘッドエンド１０１から送信された上記ＸＡＩＴ情報を受け取り、または、モニターアプリケーションが変更ＡＰＩを用いていた場合には、その変更されたＸＡＩＴ情報を受け取る（Ｓ２７０１）。そして、ＡＭ１２０５ｂは、そのＸＡＩＴ情報に記述されたアプリケーションからストア優先度の高いものから順にまだ選ばれていないアプリケーションを１つ選択する。但しここで、受け取ったＸＡＩＴ情報に従ったストア処理において、ストア削除部２６０４が既にストア領域２２０１から削除したアプリケーションを除くアプリケーションを１つ選択する（Ｓ２７０２）。そして、ＡＭ１２０５ｂは、選択したアプリケーションがストアされているか否かを判断する（Ｓ２７０３）。
【０２５９】
選択したアプリケーションがストアされている場合（Ｓ２７０３のＹＥＳ）、ＡＭ１２０５ｂは、ＸＡＩＴ情報に記述のアプリケーションを全て選択したか否かを判断し（Ｓ２７０７）、未だＸＡＩＴ情報に記述の全てのアプリケーションを選択していない場合、ＡＭ１２０５ｂは次のアプリケーションを選択してストア処理を進め、既にＸＡＩＴ情報記述の全てのアプリケーションを選択している場合にはストア処理を終了する。
【０２６０】
一方、選択したアプリケーションがストアされていない場合（Ｓ２７０３のＮＯ）、ストアアプリ決定部２６０２は、ストア領域残容量取得部２６０６からストア領域の残容量を取得し、アプリケーション容量取得部２６０７からアプリケーション容量を取得する（Ｓ２７０４）。そして、ストア領域残容量取得部２６０６から取得したストア領域の残容量とアプリケーション容量取得部２６０７から取得したアプリケーション容量に基づき、ストアアプリ決定部２６０２は、ストア領域の残容量が選択したアプリケーションの容量より大きいか否かを判断する（Ｓ２７０５）。
【０２６１】
ストア領域の残容量が選択したアプリケーションの容量より大きいと判断した場合（Ｓ２７０５のＹＥＳ）、ストア部２６０３は選択したアプリケーションをストアする（Ｓ２７０６）。そして、ＡＭ１２０５ｂは、ＸＡＩＴ情報に記述のアプリケーションを全て選択したか否かを判断し（Ｓ２７０７）、未だＸＡＩＴ情報に記述の全てのアプリケーションを選択していない場合、ＡＭ１２０５ｂは次のアプリケーションを選択しストア処理を進め、既にＸＡＩＴ情報に記述の全てのアプリケーションを選択している場合にはストア処理を終了する。
【０２６２】
一方、ストアアプリ決定部２６０２がストア領域の残容量が選択したアプリケーションの容量より小さいと判断した場合（Ｓ２７０５のＮＯ）、ＡＭ１２０５ｂは、図３０に示すように、既にストアされているアプリケーションがあるか否かを判断する（Ｓ２８０１）。
【０２６３】
既にストアされているアプリケーションがある場合には（Ｓ２８０１のＹＥＳ）、つまり、ＸＡＩＴ情報に記述されるアプリケーションをＭＥＰＧ２トランスポートストリームからストアする際に、既にストアされているアプリケーションがある為にストア領域２２０１の容量が不足する場合には、ストアアプリ決定部２６０２は、ストア優先度比較部２６０１から個々のアプリケーションに指定されたストア優先度２００６の比較結果を取得する（Ｓ２８０２）。そしてストアアプリ決定部２６０２は、その比較結果に基づいて、ストアするアプリケーションと、ストア領域２２０１から削除するアプリケーションとのセットを決定する（Ｓ２８０３）。ここで、ストアアプリ決定部２６０２は、既にストアされているアプリケーションの中で、選択したアプリケーションのストア優先度よりもストア優先度の低いアプリケーションがある場合には、ストア領域の残容量が選択したアプリケーションの容量以上になるように、それらの既にストアされているアプリケーションをストア領域から削除することを決定し、選択したアプリケーションをストアすることを決定する。但し、それらの既にストアされているアプリケーションをストア領域から削除してもストア領域の残容量が選択したアプリケーションの容量以上にならない場合には、それらの既にストアされているアプリケーションはストア領域から削除せず、選択したアプリケーションをストアしないことを決定する。続いて、ストアアプリ決定部２６０２は、ストアアプリ決定部２６０２が、既にストアされていたアプリケーションをストア領域２２０１から削除すると決定したか削除しないことを決定したかを判定する（Ｓ２８０４）。
【０２６４】
ストアアプリ決定部２６０２が、既にストアされていたアプリケーションをストア領域２２０１から削除すると決定した場合（Ｓ２８０４のＹＥＳ）、ストアアプリ決定部２６０２は、通知部２６０５に削除通知を指示し、ストア削除部２６０４に、アプリケーションのストア領域２２０１からの削除を指示し、ストア部２６０３に、アプリケーションのストアを指示する。そして、通知部２６０５は、ストアアプリ決定部２６０２の決定結果に従い、ユーザにアプリケーションが削除されることを通知する（Ｓ２８０５）。そして、ストア削除部２６０４は、ストアアプリ決定部２６０２の決定結果に従い、アプリケーションをストア領域２２０１から削除し（Ｓ２８０６）、ストア部２６０３は、ストアアプリ決定部２６０２の決定結果に従い、アプリケーションをストアする（Ｓ２７０６）。そして、ＡＭ１２０５ｂは、ＸＡＩＴ情報に記述のアプリケーションを全て選択したか否かを判断し（Ｓ２７０７）、未だＸＡＩＴ情報に記述の全てのアプリケーションを選択していない場合には、ＡＭ１２０５ｂは次のアプリケーションを選択しストア処理を進め、既にＸＡＩＴ情報に記述の全てのアプリケーションを選択している場合にはストア処理を終了する。
【０２６５】
一方、ストアアプリ決定部２６０２が、既にストアされていたアプリケーションをストア領域２２０１から削除しないことを決定した場合（Ｓ２８０４のＮＯ）、選択されたアプリケーションをストアするストア領域を確保することができない。そこで、ＡＭ１２０５ｂは、ＸＡＩＴ情報に記述のアプリケーションを全て選択したか否かを判断し（Ｓ２７０７）、未だＸＡＩＴ情報に記述の全てのアプリケーションを選択していない場合には、ＡＭ１２０５ｂは次のアプリケーションを選択しストア処理を進め、既にＸＡＩＴ情報に記述の全てのアプリケーションを選択している場合にはストア処理を終了する。
【０２６６】
一方、既にストアされているアプリケーションがない場合には（Ｓ２８０１のＮＯ）、つまり、ＸＡＩＴ情報に記述されるアプリケーションをＭＥＰＧ２トランスポートストリームからストア領域２２０１にストアする際に、ストア領域２２０１の容量が不足するが、既にストアされているアプリケーションがない場合には、選択されたアプリケーションをストアするストア領域を確保することができない。そこで、ＡＭ１２０５ｂは、ＸＡＩＴ情報に記述のアプリケーションを全て選択したか否かを判断し（Ｓ２７０７）、未だＸＡＩＴ情報に記述の全てのアプリケーションを選択していない場合には、ＡＭ１２０５ｂは次のアプリケーションを選択しストア処理を進め、既にＸＡＩＴ情報に記述の全てのアプリケーションを選択している場合にはストア処理を終了する。
【０２６７】
なお、ＸＡＩＴ情報に記述されるアプリケーションをＭＥＰＧ２トランスポートストリームからストア領域２２０１にストアする際に、ストア領域２２０１の容量が不足するが、既にストアされているアプリケーションがない場合には、選択されたアプリケーションをストアするストア領域を確保することができない。そのため、ＡＭ１２０５ｂは選択したアプリケーションをストアせずにストア処理を終了してもよい。
【０２６８】
ここで、既にストアされているアプリケーションがＸＡＩＴ情報に記述されていない場合、ストア優先度比較部２６０１は、そのアプリケーションのストア優先度は最低値であるとみなすとした。しかし、ストアアプリ決定部２６０２は、そのアプリケーションのストア領域２２０１からの削除を無条件に決定する等の方法を取ってもよい。
【０２６９】
このように、実施の形態４では、モニターアプリケーションがユーザへ削除通知及び、ストア優先度の変更を行うことにより、実施の形態３と同様の効果を得ることができる。即ち、ユーザは、アプリケーションをストア領域２２０１から削除するとの確認を受けた際に、そのアプリケーションがストア領域２２０１から削除されることを拒否でき、ユーザが削除を拒否したアプリケーションはストア領域２２０１から削除されない。
【０２７０】
（実施の形態５）
実施の形態１〜３において、ＡＭ１２０５ｂはストアアプリ決定部２６０２により、ストアするアプリケーションと、ストア領域２２０１から削除するアプリケーションとのセットを決定する際、ストア優先度比較部２６０１の比較結果に基づき、ストア優先度の高いアプリケーションを優先的にストアすることと、ストア優先度の低いアプリケーションから順に、ストア領域２２０１から削除することを決定している。しかし、複数のアプリケーションのストア優先度が同じ場合には、いずれのアプリケーションをストア領域２２０１から削除し、いずれのアプリケーションをストアするのかを決定できない可能性がある。
【０２７１】
そのため、本実施の形態においては、さらに、図４５に示すように、ＡＭ１２０５ｂは、ストアアプリ決定部２６０２が、ストアまたは削除するアプリケーションのセットを決定できない場合に、ユーザに問合せるための問合せ部４３０１を備える。
【０２７２】
図４５は、本実施の形態におけるＡＭ１２０５ｂの構成を示す構成図である。
問合せ部４３０１は、ストアアプリ決定部２６０２より問合せ指示を受けると、いずれのアプリケーションを、ストア領域２２０１から削除またはストアするのかをユーザに問合せる。ここで、問合せ部４３０１によるユーザへの問合せは、問合せ部４３０１が端末装置５００のＣＰＵ５１４に画面に表示したい削除通知情報を送り、ＯＳ１２０１のライブラリ１２０１ｂに含まれるダイアログ表示プログラムが、問合せダイアログをディスプレイ５０９に表示することにより実現される。
【０２７３】
そして、問合せ部４３０１は、ＣＰＵ５１４から、ユーザによる削除またはストアするアプリケーションの選択時におけるユーザからの選択情報を受付け、ＣＰＵ５１４から選択情報を受付けた時に、その選択情報に基づいて、ストアアプリ決定部２６０２にアプリケーション選択結果を通知する。
【０２７４】
またさらに、本実施の形態において、ストアアプリ決定部２６０２は、実施の形態１〜３と同様の方法により、ストア領域２２０１にストアするアプリケーションと、ストア領域２２０１から削除するアプリケーションとのセットの決定を試みる。ここでストアまたはストア領域２２０１から削除するアプリケーションのセット、を決定した場合には実施の形態１〜３と同様のストア処理を継続する。但し、本実施の形態において、ストアアプリ決定部２６０２は、ストア優先度の等しいアプリケーションが複数存在するために、ストア領域２２０１から削除またはストアするアプリケーションを決定できない場には、問合せ部４３０１に問合せ指示を行う。そして、問合せ部４３０１からアプリケーション選択結果の通知を受けると、そのアプリケーション選択結果に従い、ストア領域２２０１から削除またはストアするアプリケーションを決定する。そして、この決定後に、実施の形態１〜３いずれかと同様の方法で、通知部２６０５への通知指示、ストア部２６０３へのアプリケーションの削除指示を行い、ストア部２６０４へアプリケーションのストア指示を行う。
【０２７５】
図４６及び図４７は、本実施の形態における、ＸＡＩＴ情報を受け取ったＡＭ１２０５ｂによる、アプリケーションのストア処理の特徴的な動作の一例を示すフローチャートである。これらの図４６及び図４７は、図２９に示すステップＳ２７０５からの処理を示すものであって、特に、ＸＡＩＴ情報に記述されるアプリケーションをＭＥＰＧ２トランスポートストリームからストア領域２２０１にストアする際に、ストア領域２２０１の容量が不足する場合における、ＡＭ１２０５ｂによるストア処理動作の一例を示す。
【０２７６】
図４６において、図３０と同じステップには、図３０と同じ番号を付した。
図２９に示すように、ＡＭ１２０５ｂがＸＡＩＴ情報を受け取ると（Ｓ２７０１）、ＸＡＩＴ情報に記述されたアプリケーションからストア優先度の高いものから順にまだ選ばれていないアプリケーションを１つ選択する。但しここで、受け取ったＸＡＩＴ情報に従ったストア処理において、ストア削除部２６０４がストア領域２２０１から既に削除したアプリケーションを除くアプリケーションを１つ選択する（Ｓ２７０２）。そして、ＡＭ１２０５ｂは、選択したアプリケーションがストアされているか否かを判断する（Ｓ２７０３）。
【０２７７】
選択したアプリケーションがストアされている場合（Ｓ２７０３のＹＥＳ）、ＡＭ１２０５ｂは、ＸＡＩＴ情報に記述のアプリケーションを全て選択したか否かを判断する（Ｓ２７０７）。ここで、未だＸＡＩＴ情報に記述の全てのアプリケーションを選択していない場合（Ｓ２７０７のＮＯ）、ＡＭ１２０５ｂは次のアプリケーションを選択しストア処理を進める。既にＸＡＩＴ情報に記述の全てのアプリケーションを選択している場合には（Ｓ２７０７のＹＥＳ）、ＡＭ１２０５ｂは、ストア処理を終了する。
【０２７８】
一方、選択したアプリケーションがストアされていない場合（Ｓ２７０３のＮＯ）、ストアアプリ決定部２６０２は、ストア領域残容量取得部２６０６からストア領域の残容量を取得し、アプリケーション容量取得部２６０７からアプリケーション容量を取得する（Ｓ２７０４）。そして、ストア領域残容量取得部２６０６から取得したストア領域の残容量とアプリケーション容量取得部２６０７から取得したアプリケーション容量に基づき、ストアアプリ決定部２６０２は、ストア領域の残容量が選択したアプリケーションの容量より大きいか否かを判断する（Ｓ２７０５）。
【０２７９】
ストア領域の残容量が選択したアプリケーションの容量より大きいと判断した場合（Ｓ２７０５のＹＥＳ）、ストア部２６０３は選択したアプリケーションをストアする（Ｓ２７０６）。そして、ＡＭ１２０５ｂは、ＸＡＩＴ情報に記述のアプリケーションを全て選択したか否かを判断し（Ｓ２７０７）、未だＸＡＩＴ情報に記述の全てのアプリケーションを選択していない場合、ＡＭ１２０５ｂは次のアプリケーションを選択しストア処理を進め、既にＸＡＩＴ情報に記述の全てのアプリケーションを選択している場合にはストア処理を終了する。
【０２８０】
一方、ストアアプリ決定部２６０２がストア領域の残容量が選択したアプリケーションの容量より小さいと判断した場合（Ｓ２７０５のＹＥＳ）、図４６に示すように、ＡＭ１２０５ｂは、既にストアされているアプリケーションがあるか否かを判断する（Ｓ２８０１）。
【０２８１】
既にストアされているアプリケーションがある場合には（Ｓ２８０１のＹＥＳ）、つまり、ＸＡＩＴ情報に記述されるアプリケーションをＭＥＰＧ２トランスポートストリームからストアする際に、既にストアされているアプリケーションがある為にストア領域２２０１の容量が不足する場合には、ストアアプリ決定部２６０２は、ストア優先度比較部２６０１から個々のアプリケーションに指定されたストア優先度２００６の比較結果を取得する（Ｓ２８０２）。その比較結果に基づいて、ストアアプリ決定部２６０２は、ストアするアプリケーションと、ストア領域２２０１から削除するアプリケーションとのセットを決定する（Ｓ２８０３）。ここで、ストアアプリ決定部２６０２は、既にストアされているアプリケーションの中で、選択したアプリケーションのストア優先度よりもストア優先度の低いアプリケーションがある場合には、ストア領域の残容量が選択したアプリケーションの容量以上になるように、それらの既にストアされているアプリケーションを、ストア領域から削除することを決定し、選択したアプリケーションをストアすることを決定する。但し、それらの既にストアされているアプリケーションをストア領域から削除してもストア領域の残容量が選択したアプリケーションの容量以上にならない場合には、ストアアプリ決定部２６０２は、それらの既にストアされているアプリケーションはストア領域から削除せず、選択したアプリケーションをストアしないことを決定する。
【０２８２】
続いて、ストアアプリ決定部２６０２は、ストア領域２２０１から削除またはストアするアプリケーションを決定できたか否かを判断する（Ｓ４４０１）。ここで、ストア優先度の等しいアプリケーションが複数存在するために、ストア領域２２０１から削除またはストアするアプリケーションを決定できない場合（Ｓ４４０１）、図４７に示すように、問合せ部４３０１は、いずれのアプリケーションを、ストア領域２２０１から削除またはストアするのかをユーザに問合せる（Ｓ４５０１）。ここで、問合せ部４３０１によるユーザへの問合せは、問合せ部が端末装置５００のＣＰＵ５１４に画面に表示したい削除通知情報を送り、ＯＳ１２０１のライブラリ１２０１ｂに含まれるダイアログ表示プログラムが、図４８〜図５０に示すような問合せダイアログをディスプレイ５０９に表示することにより実現される。
【０２８３】
図４８〜図５０は、本実施の形態におけるディスプレイ５０９が表示する問合せダイアログの例を示す図である。
【０２８４】
ダイアログボックス３００１は、メッセージ４６０３と、アプリケーション選択ボタン４６０１、４６０２との表示要素をもつ。図４８は、既にストアされている２つのアプリケーションのストア優先度が同じであるために、ストアアプリ決定部２６０２が、ストア領域２２０１から削除するアプリケーションのセットを決定できない場合において、いずれのアプリケーションをストア領域２２０１から削除すべきかをユーザに問合せるディスプレイ表示の一例である。即ち、ストアアプリ決定部２６０２は、このとき、ストア優先度の等しい２つのアプリケーションを共にストアしておくことができないと判別している。図４９は、未だストアされていない２つのアプリケーションのストア優先度が同じであるために、ストアアプリ決定部２６０２が、ストア領域２２０１にストアするアプリケーションを決定できない場合において、いずれのアプリケーションをストア領域２２０１にストアすべきかをユーザに問合せるディスプレイ表示の一例である。即ち、ストアアプリ決定部２６０２は、このとき、ストア優先度の等しい２つのアプリケーションを共にストアすることができないと判別している。図５０は、既にストアされているアプリケーションと、未だストアされていないアプリケーションのストア優先度が同じであるために、ストアアプリ決定部２６０２が、ストア領域２２０１から削除またはストアするアプリケーションを決定できない場合において、いずれのアプリケーションをストア領域２２０１にストアすべきかをユーザに問合せるディスプレイ表示の一例である。ここで図４８〜図５０において、メッセージ４６０３とアプリケーション選択ボタン４６０１、４６０２に描かれた「ＡＰＰ３」、「ＡＰＰ４」は、それぞれ２つのアプリケーションのアプリケーション名である。なお、アプリケーション名を用いなくても、ユーザがアプリケーションを選択する為に必要な情報を提供できる方法であれば実施可能である。
【０２８５】
なお、図４８〜図５０において、メッセージ４６０３の文字列は、ユーザがアプリケーションを選択する為に必要な情報を提供できる方法であれば、図４８〜図５０中の文字列に限定されず他の文字列であってもよく、また、メッセージ４６０３の形式は文字列に限定されず他の形式であってもよい。また、アプリケーション選択ボタン４６０１及４６０２の文字列は、図４８〜図５０中の文字列に限定されず他の文字列であってもよい。また更に、ダイアログボックス３００１の表示要素は、図４８〜図５０中の表示要素に限定されず、リストボックスを使用する等、ユーザがアプリケーションを選択する為に必要な情報を提供でき、ユーザがアプリケーションを選択したことをＣＰＵ５１４が認識できる方法であれば、他の表示要素であってもよい。
【０２８６】
続いて、ユーザがアプリケーション選択ボタン４６０１または４６０２を選択すると、ＣＰＵ５１４はＡＭ１２０５ｂの問合せ部４３０１にユーザからの選択情報を送る。問合せ部４３０１は選択情報を受ける（Ｓ４５０２）と、その選択情報に基づいて、ストアアプリ決定部２６０２にアプリケーション選択結果を通知する。ここで、問合せ部４３０１によるアプリケーション選択結果の通知は、例えば、ダイアログ表示が図４８の例の場合、ＣＰＵ５１４から受付けた選択情報がボタン４６０１の選択を示す場合には、問合せ部４３０１は、アプリケーション名「ＡＰＰ３」をもつアプリケーションの削除をユーザが選択したという結果をストアアプリ決定部２６０２にアプリケーション選択結果として通知することにより実現される。
【０２８７】
そして、ストアアプリ決定部２６０２は、問合せ部４３０１からアプリケーション選択結果の通知を受けると、問合せ部４３０１から取得したアプリケーション選択結果に従い、ストア領域２２０１から削除またはストアするアプリケーションを決定する（Ｓ４５０３）。
【０２８８】
次に、ストアアプリ決定部２６０２は、図４６に示すように、ストアアプリ決定部２６０２が、既にストアされていたアプリケーションをストア領域２２０１から削除すると決定したか削除しないことを決定したかを判定する（Ｓ２８０４）。
【０２８９】
ストアアプリ決定部２６０２が、既にストアされていたアプリケーションをストア領域２２０１から削除すると決定した場合、ストアアプリ決定部２６０２は、通知部２６０５に削除通知を指示する。そして、通知部２６０５は、ストアアプリ決定部２６０２の決定結果に従い、ユーザにアプリケーションが削除されることを通知する（Ｓ２８０５）。また、ストア削除部２６０４は、ストアアプリ決定部２６０２の決定結果に従い、アプリケーションをストア領域２２０１から削除し（Ｓ２８０６）、ストア部２６０３は、図２９に示すように、ストアアプリ決定部２６０２の決定結果に従い、アプリケーションをストアする（Ｓ２７０６）。
【０２９０】
なお、上述の図４６に示すステップＳ２８０４以降の処理を、図３９に示すステップＳ２８０４からの処理としても良い。即ち、ストアアプリ決定部２６０２が、既にストアされていたアプリケーションをストア領域２２０１から削除すると決定した場合、ストアアプリ決定部２６０２は、通知部２６０５に削除通知を指示する。そして、通知部２６０５は、ストアアプリ決定部２６０２の決定結果に従い、ユーザにアプリケーションが削除されることを通知する（Ｓ３６０１）。ここで、通知部２６０５によるユーザへのアプリケーション削除通知は、通知部２６０５が端末装置５００のＣＰＵ５１４に画面に表示したい削除通知情報を送り、ＯＳ１２０１のライブラリ１２０１ｂに含まれるダイアログ表示プログラムが、図３８に示すような削除通知をディスプレイ５０９に表示することにより実現される。ダイアログボックス３００１は、メッセージ３００２及びＯＫボタン３７０１の表示要素をもつ。ユーザがＯＫボタン３７０１をリモコン操作等により選択すると、ＣＰＵ５１４はＡＭ１２０５ｂの応答受付部３５０１にユーザの通知確認情報を送る。応答受付部３５０１はユーザの通知確認情報を受けると（Ｓ３６０２）、ストアアプリ決定部２６０２に通知確認情報を通知する。ストアアプリ決定部２６０２は、応答受付部３５０１からアプリケーション削除通知確認情報の通知を受けると、ストア削除部２６０４に、アプリケーションのストア領域２２０１からの削除を指示し、ストア部２６０３に、アプリケーションのストアを指示する。そして、ストア削除部２６０４は、ストアアプリ決定部２６０２の決定結果に従い、アプリケーションをストア領域２２０１から削除し（Ｓ２８０６）、ストア部２６０３は、図２９に示すように、ストアアプリ決定部２６０２の決定結果に従い、アプリケーションをストアする（Ｓ２７０６）。そして、ＡＭ１２０５ｂは、ＸＡＩＴ情報に記述のアプリケーションを全て選択したか否かを判断し（Ｓ２７０７）、未だＸＡＩＴ情報に記述の全てのアプリケーションを選択していない場合には、ＡＭ１２０５ｂは次のアプリケーションを選択しストア処理を進め、既にＸＡＩＴ情報に記述の全てのアプリケーションを選択している場合にはストア処理を終了する。
【０２９１】
一方、図４６に示すように、ストアアプリ決定部２６０２が、既にストアされていたアプリケーションをストア領域２２０１から削除しないことを決定した場合（Ｓ２８０４のＮＯ）、選択されたアプリケーションをストアするストア領域を確保することができない。そこで、ＡＭ１２０５ｂは、ＸＡＩＴ情報に記述のアプリケーションを全て選択したか否かを判断し（Ｓ２７０７）、未だＸＡＩＴ情報に記述の全てのアプリケーションを選択していない場合、ＡＭ１２０５ｂは次のアプリケーションを選択しストア処理を進め、既にＸＡＩＴ情報に記述の全てのアプリケーションを選択している場合にはストア処理を終了する。
【０２９２】
一方、図４６に示すように、既にストアされているアプリケーションがない場合には（Ｓ２８０１のＮＯ）、つまり、ＸＡＩＴ情報に記述されるアプリケーションをＭＥＰＧ２トランスポートストリームからストア領域２２０１にストアする際に、ストア領域２２０１の容量が不足するが、既にストアされているアプリケーションがない場合には、選択されたアプリケーションをストアするストア領域を確保することができない。そこで、ＡＭ１２０５ｂは、ＸＡＩＴ情報記述のアプリケーションを全て選択したか否かを判断し（Ｓ２７０７）、未だＸＡＩＴ情報に記述の全てのアプリケーションを選択していない場合には、ＡＭ１２０５ｂは次のアプリケーションを選択しストア処理を進め、既にＸＡＩＴ情報に記述の全てのアプリケーションを選択している場合にはストア処理を終了する。
【０２９３】
なお、ＸＡＩＴ情報に記述されるアプリケーションをＭＥＰＧ２トランスポートストリームからストア領域２２０１にストアする際に、ストア領域２２０１の容量が不足するが、既にストアされているアプリケーションがない場合には、選択されたアプリケーションをストアするストア領域を確保することができないので、ＡＭ１２０５ｂは選択したアプリケーションをストアせずにストア処理を終了してもよい。
【０２９４】
ここで、既にストアされているアプリケーションがＸＡＩＴ情報に記述されていない場合、ストア優先度比較部２６０１は、そのアプリケーションのストア優先度は最低値であるとみなすとしたが、このような場合、ストアアプリ決定部２６０２は、そのアプリケーションのストア領域２２０１からの削除を無条件に決定する等の方法を取ってもよい。
【０２９５】
なお、本実施の形態においては、２つのアプリケーションのストア優先度が同じであるために、ストアアプリ決定部２６０２が、ストア領域２２０１から削除またはストアするアプリケーションを決定できない場合を扱ったが、３つ以上のアプリケーションのストア優先度が同じであるために、ストアアプリ決定部２６０２が、ストア領域２２０１から削除またはストアするアプリケーションを決定できない場合においても本発明は実施可能である。例えば、既にストアされている３つのアプリケーションのストア優先度が同じであるために、ストアアプリ決定部２６０２が、ストア領域２２０１から削除するアプリケーションのセット、を決定できない場合には、問合せ部４３０１によるユーザへの問合せは、ダイアログ表示プログラムが、３つのアプリケーションからいずれか１つまたは２つのアプリケーションをストア領域２２０１から削除すべきかをユーザに選択させるダイアログを表示すること等により実現される。
【０２９６】
また更に、ストアアプリ決定部２６０２が、一回の問合せ部４３０１への問合せ指示に起因する問合せ部４３０１からのアプリケーション選択結果の通知により、ストア領域２２０１から削除またはストアするアプリケーションを決定できない場合がある。例えば、３つ以上のアプリケーションのストア優先度が同じであり、かつ、１つのアプリケーションをストア領域２２０１から削除するだけでは、選択された新規のアプリケーションをストアするのに可能なストア領域を確保できない場合がある。このような場合、ストアアプリ決定部２６０２は１回目の問合せ部４３０１からのアプリケーション選択結果の通知の後、続けて、問合せ部４３０１に問合せ指示を行ってもよい。このとき例えば、１回目の問合せ部４３０１によるユーザへの問合せは、ダイアログ表示プログラムが、３つのアプリケーションからいずれのアプリケーションをストア領域２２０１から削除すべきかをユーザに選択させるダイアログを表示すること等により実現され、２回目の問合せ部４３０１によるユーザへの問合せは、２つのアプリケーションからさらにいずれのアプリケーションをストア領域２２０１から削除すべきかをユーザに選択させるダイアログを表示すること等により実現される。
【０２９７】
このように、実施の形態５により、ＸＡＩＴ情報に記述される複数のアプリケーションのストア優先度が同じ場合においても、ユーザへの問合せにより、いずれのアプリケーションをストア領域２２０１から削除し、いずれのアプリケーションをストアするのかを決定することができる。さらに、ユーザに選択権を与えることにより、よりユーザが望むアプリケーションのストアを実現することができる。
【０２９８】
（実施の形態６）
本実施の形態のＡＭ１２０５ｂは、削除対象のアプリケーションが起動中であるときに、そのアプリケーションの取り扱いについてのメッセージを通知する。即ち、ＯＣＡＰ仕様（ＯＣＡＰ  １．０  Ｐｒｏｆｉｌｅ  ＯＣ−ＳＰ−ＯＣＡＰ１．０−ＩＦ−Ｉ０９−０３１１２１）では、ストア優先度の高いアプリケーションを優先的にストアするとともに、起動中のアプリケーションの動作を妨げてはならないことが規定されているため、本実施の形態は、そのような規定を確実に守りつつ、削除対象のアプリケーションの取り扱いについてのメッセージを通知するものである。
【０２９９】
図５１及び図５２は、本実施の形態における、ＸＡＩＴ情報を受け取ったＡＭ１２０５ｂによる、アプリケーションのストア処理の特徴的な動作の一例を示すフローチャートである。これらの図５１及び図５２は、図２９に示すステップＳ２７０５からの処理を示すものである。また、これらの図５１及び図５２は、特に、ＸＡＩＴ情報に記述されるアプリケーションをＭＥＰＧ２トランスポートストリームからストア領域２２０１にストアする際に、ストア領域２２０１の容量が不足する場合であって、かつストア領域にストアされた削除されるべきアプリケーションが起動中である場合における、ＡＭ１２０５ｂによる、アプリケーションのストア処理動作の一例を示す。
【０３００】
図５１において、図３０と同じステップには、図３０と同じ番号を付した。
ストアアプリ決定部２６０２が、ストア領域の残容量が選択したアプリケーションの容量より小さいと判断した場合（図２９のＳ２７０５）、図５１に示すように、ＡＭ１２０５ｂは、既にストアされているアプリケーションがあるか否かを判断する（Ｓ２８０１）。
【０３０１】
既にストアされているアプリケーションがある場合には（Ｓ２８０１のＹＥＳ）、つまり、ＸＡＩＴ情報に記述されるアプリケーションをＭＥＰＧ２トランスポートストリームからストアする際に、既にストアされているアプリケーションがある為にストア領域２２０１の容量が不足する場合には、ストアアプリ決定部２６０２は、ストア優先度比較部２６０１から個々のアプリケーションに指定されたストア優先度２００６の比較結果を取得する（Ｓ２８０２）。その比較結果に基づいて、ストアアプリ決定部２６０２は、ストアするアプリケーションと、ストア領域２２０１から削除するアプリケーションとのセットを決定する（Ｓ２８０３）。ここで、ストアアプリ決定部２６０２は、既にストアされているアプリケーションの中で、選択したアプリケーションのストア優先度よりもストア優先度の低いアプリケーションがある場合には、ストア領域の残容量が選択したアプリケーションの容量以上になるように、それらの既にストアされているアプリケーションを、ストア領域から削除することを決定し、選択したアプリケーションをストアすることを決定する。但し、それらの既にストアされているアプリケーションをストア領域から削除してもストア領域の残容量が選択したアプリケーションの容量よりも小さい場合には、ストアアプリ決定部２６０２は、それらの既にストアされているアプリケーションはストア領域から削除せず、選択したアプリケーションをストアしないことを決定する。
【０３０２】
続いて、ストアアプリ決定部２６０２は、ストア領域２２０１から削除またはストアするアプリケーションを決定できたか否かを判断する（Ｓ４４０１）。ここで、ストア優先度の等しいアプリケーションが複数存在するために、ストア領域２２０１から削除またはストアするアプリケーションを決定できない場合（Ｓ４４０１のＮＯ）、ＡＭ１２０５ｂは前述した図４７の処理に従う。
【０３０３】
次に、ストアアプリ決定部２６０２は、ストアアプリ決定部２６０２が、既にストアされていたアプリケーションをストア領域２２０１から削除すると決定したか削除しないことを決定したかを判定する（Ｓ２８０４）。
【０３０４】
ステップＳ２８０４において、削除しないと決定した場合には（Ｓ２８０４のＮＯ）、ＡＭ１２０５ｂは図２９のステップＳ２７０７からの処理を実行する。
【０３０５】
ステップＳ２８０４において、削除すると決定した場合には（Ｓ２８０４のＹＥＳ）、ストアアプリ決定部２６０２は、削除すべきアプリケーションが起動中であるかどうかを調べる（Ｓ５２０４）。ここで、削除すべきアプリケーションが起動中でない場合（Ｓ５２０４のＮＯ）、ＡＭ１２０５ｂは図４６で説明したステップＳ２８０５からの処理と同様の処理を実行する。一方、削除すべきアプリケーションが起動中である場合（Ｓ５２０４のＹＥＳ）、通知部２６０５は、起動中のアプリケーションを終了し、削除すれば優先度の高いアプリケーションがストアできるので、削除すべきアプリケーションを終了して削除するかどうかをユーザに問合せるよう問合せ部４３０１へ依頼する（Ｓ５２０５）。
【０３０６】
問合せ部４３０１は、図５２に示すように、起動中のアプリケーションを、ストア領域２２０１から削除かどうかをユーザに問合せる（Ｓ５３０１）。ここで、問合せ部４３０１によるユーザへの問合せは、問合せ部が端末装置５００のＣＰＵ５１４に画面に表示したい削除通知情報を送り、ＯＳ１２０１のライブラリ１２０１ｂに含まれるダイアログ表示プログラムが、図５３に示すような問合せダイアログをディスプレイ５０９に表示することにより実現される。
【０３０７】
図５３は、本実施の形態におけるディスプレイ５０９が表示する問合せダイアログの一例を示す図である。ダイアログボックス３００１は、メッセージ５４０３と、アプリケーション選択ボタン５４０１、５４０２との表示要素をもつ。具体的に、図５３は、起動中のアプリケーションを終了し、削除すれば優先度の高いアプリケーションがストアできるので、削除すべきアプリケーションを終了して削除するかどうかをユーザに問合せるディスプレイ表示の一例を示す。
【０３０８】
なお、図５３において、メッセージ５４０３の文字列は、ユーザが起動中のアプリケーションを削除する為に必要な情報を提供できる方法であれば、文字列の表現は限定されず他の文字列であってもよく、また、メッセージ５４０３の形式は文字列に限定されず他の形式であってもよい。また、アプリケーション選択ボタン５４０１及び５４０２の文字列は、図５３中の文字列に限定されず他の同じ意味を持つ文字列であってもよい。また更に、ダイアログボックス３００１の表示要素は、図５３中の表示要素に限定されず、リストボックスを使用する等、ユーザがアプリケーションを選択する為に必要な情報を提供でき、ユーザがアプリケーションを選択したことをＣＰＵ５１４が認識できる方法であれば、他の表示要素であってもよい。
【０３０９】
続いて、ユーザがアプリケーション選択ボタン５４０１または５４０２を選択すると、ＣＰＵ５１４はＡＭ１２０５ｂの問合せ部４３０１にユーザからの入力情報を送る。問合せ部４３０１は入力情報を受ける（Ｓ５３０２）と、その入力情報に基づいて、ストアアプリ決定部２６０２に入力結果を通知する。ここで、問合せ部４３０１による入力結果の通知は、例えば、ダイアログ表示が図５３の例の場合、ＣＰＵ５１４から受付けた入力情報がボタン５４０１の選択を示す場合には、問合せ部は、アプリケーション名「ＡＰＰ３」をもつアプリケーションをストアするために、既にストアされた起動中の「ＡＰＰ２」を終了させた後に削除することをユーザが選択したという結果を、ストアアプリ決定部２６０２に通知することにより実現される。
【０３１０】
そして、ストアアプリ決定部２６０２は、問合せ部４３０１から入力結果の通知を受けると、問合せ部４３０１から取得した入力結果に従い、ストア領域２２０１から削除するかどうかを決定する（Ｓ５３０３）。その後、ストアアプリ決定部２６０２は、図５１のステップＳ２８０６からの処理を実行する。
【０３１１】
このように本実施の形態では、削除すべきアプリケーションが起動中であっても、ユーザの意図に沿って、そのアプリケーションを自動的に終了させて削除した後に、優先度の高いアプリケーションがストアされることになる。
【０３１２】
（実施の形態７）
本実施の形態は、実施の形態６と同様、ＯＣＡＰ仕様における規定、即ちストア優先度の高いアプリケーションを優先的にストアするとともに、起動中のアプリケーションの動作を妨げてはならないという規定を確実に守りつつ、削除対象のアプリケーションの取り扱いについてのメッセージを通知するものである。ここで、本実施の形態のＡＭ１２０５ｂは、削除対象のアプリケーションが起動中であるときに、そのアプリケーションの取り扱いについてのメッセージを通知するが、そのメッセージの内容は実施の形態６の内容とは異なる。また、本実施の形態のＡＭ１２０５ｂの動作も、実施の形態６の動作と異なる。以下、本実施の形態のＡＭ１２０５ｂの動作について詳細に説明する。
【０３１３】
図５４は、本実施の形態における、ＸＡＩＴ情報を受け取ったＡＭ１２０５ｂによる、アプリケーションのストア処理の特徴的な動作の一例を示すフローチャートである。この図５４は、図２９に示すステップＳ２７０５からの処理を示すものである。また、この図５４は、特に、ＸＡＩＴ情報に記述されるアプリケーションをＭＥＰＧ２トランスポートストリームからストア領域２２０１にストアする際に、ストア領域２２０１の容量が不足する場合であって、かつストア領域にストアされた削除されるべきアプリケーションが起動中である場合における、ＡＭ１２０５ｂによる、アプリケーションのストア処理動作の一例を示す。
【０３１４】
図５４において、図３０及び図５１と同じステップには、図３０、図５１と同じ番号を付した。
【０３１５】
ストアアプリ決定部２６０２が、ストア領域の残容量が選択したアプリケーションの容量より小さいと判断した場合（図２９のＳ２７０５）、図５４に示すように、ＡＭ１２０５ｂは、既にストアされているアプリケーションがあるか否かを判断する（Ｓ２８０１）。
【０３１６】
既にストアされているアプリケーションがある場合には（Ｓ２８０１のＹＥＳ）、つまり、ＸＡＩＴ情報に記述されるアプリケーションをＭＥＰＧ２トランスポートストリームからストアする際に、既にストアされているアプリケーションがある為にストア領域２２０１の容量が不足する場合には、ストアアプリ決定部２６０２は、ストア優先度比較部２６０１から個々のアプリケーションに指定されたストア優先度２００６の比較結果を取得する（Ｓ２８０２）。その比較結果に基づいて、ストアアプリ決定部２６０２は、ストアするアプリケーションと、ストア領域２２０１から削除するアプリケーションとのセットを決定する（Ｓ２８０３）。ここで、ストアアプリ決定部２６０２は、既にストアされているアプリケーションの中で、選択したアプリケーションのストア優先度よりもストア優先度の低いアプリケーションがある場合には、ストア領域の残容量が選択したアプリケーションの容量以上になるように、それらの既にストアされているアプリケーションを、ストア領域から削除することを決定し、選択したアプリケーションをストアすることを決定する。但し、それらの既にストアされているアプリケーションをストア領域から削除してもストア領域の残容量が選択したアプリケーションの容量よりも小さい場合には、ストアアプリ決定部２６０２は、それらの既にストアされているアプリケーションはストア領域から削除せず、選択したアプリケーションをストアしないことを決定する。
【０３１７】
続いて、ストアアプリ決定部２６０２は、ストア領域２２０１から削除またはストアするアプリケーションを決定できたか否かを判断する（Ｓ４４０１）。ここで、ストア優先度の等しいアプリケーションが複数存在するために、ストア領域２２０１から削除またはストアするアプリケーションを決定できない場合（Ｓ４４０１のＮＯ）、ＡＭ１２０５ｂは前述した図４７の処理に従う。
【０３１８】
次に、ストアアプリ決定部２６０２は、ストアアプリ決定部２６０２が、既にストアされていたアプリケーションをストア領域２２０１から削除すると決定したか削除しないことを決定したかを判定する（Ｓ２８０４）。
【０３１９】
ステップＳ２８０４において、削除しないと決定した場合には（Ｓ２８０４のＮＯ）、ＡＭ１２０５ｂは図２９のステップＳ２７０７からの処理を実行する。
【０３２０】
ステップＳ２８０４において、削除すると決定した場合には（Ｓ２８０４のＹＥＳ）、ストアアプリ決定部２６０２は、削除すべきアプリケーションが起動中であるかどうかを調べる（Ｓ５２０４）。ここで、削除すべきアプリケーションが起動中でない場合（Ｓ５２０４のＮＯ）、ＡＭ１２０５ｂは図４６で説明したステップＳ２８０５からの処理と同様の処理を実行する。一方、削除すべきアプリケーションが起動中である場合（Ｓ５２０４のＹＥＳ）、通知部２６０５は、起動中のアプリケーションが終了した後、新しいアプリケーションをストアする旨のメッセージをユーザに通知する（Ｓ５２０６）。
【０３２１】
図５５は、本実施の形態におけるディスプレイ５０９が表示するメッセージの一例を示す図である。このメッセージ５６０３には、起動中のアプリケーションが終了した後、新しいアプリケーションをストアする旨が記載されている。
【０３２２】
なお、図５５において、メッセージ５６０３の文字列は、起動中のアプリケーションが終了した後、新しいアプリケーションをストアする旨を提供できる方法であれば、文字列の表現は限定されず他の文字列であってもよい。
【０３２３】
次に、ステップＳ５２０６の後、ＡＭ１２０５ｂは削除の対象である起動中のアプリケーションが終了したかどうかを一定時間毎に判断する（Ｓ５２０７）。対象となるアプリケーションが終了していなければ一定時間後に再度ステップＳ５２０７の処理を実行する。
【０３２４】
ステップＳ５２０７において起動中のアプリケーションが終了したと判断した場合（ステップＳ５２０７）、ＡＭ１２０５ｂは、ステップＳ２８０６からの処理を実行する。
【０３２５】
このように本実施の形態では、削除すべきアプリケーションが起動中であってもユーザに状況を通知した上で、ユーザがアプリケーションを終了した際に、削除すべきアプリケーションを削除し、優先度の高いアプリケーションがストアされることになる。
【０３２６】
なお、上述の説明では、ステップＳ５２０７において起動中のアプリケーションが終了したと判断された場合に、ＡＭ１２０５ｂがステップＳ２８０６からの処理を実行したが、図５４のステップＳ２８０１からの処理を実行しても良い。
【０３２７】
以上、本発明に係るプログラム実行装置について、実施の形態１〜７を用いて説明したが、本発明は、これらに限定されるものではない。
【０３２８】
例えば、実施の形態１〜７では、Ｊａｖａ（登録商標）プログラムはＪａｖａで記述された部分と、ＣＰＵが直接実行できるバイナリ形式の部分との混合でもよいし、ＣＰＵが直接実行できるバイナリ形式のみで構成されていても良い。
【０３２９】
また、実施の形態１〜７では、ＲＯＭ５１２が保存する内容を２次記憶部５１０が保存することで、ＲＯＭ５１２を削除しても良い。また、２次記憶部５１０は、複数のサブ２次記憶部で構成し、個々のサブ２次記憶部が異なる情報を保存しても良い。例えば、１つのサブ２次記憶部はチューニング情報のみを保存し、別のサブ２次記憶部は、ＯＳ１２０１のライブラリ１２０１ｂを保存し、更に別のサブ２次記憶部は、ダウンロードしたＪａｖａプログラムを保存するなど、詳細に分割することが可能である。
【０３３０】
また、実施の形態１〜７においては、登録されたＪａｖａプログラムを２次記憶部５１０に保存していたが、１次記憶部５１１に保存しても良い。１次記憶部５１１に保存する場合、電源ＯＦＦ時に、保存された情報は全て消える。
【０３３１】
また、本発明は、パーソナルコンピュータや携帯電話などの情報機器であれば、適応可能である。
【０３３２】
また、ＰＯＤ５０４は着脱可能な形態としているが、着脱不可能な状態で内蔵されていても良い。なお、内蔵した場合、ＰＯＤ５０４のＣＰＵ７０６を取り外し、ＣＰＵ５１４がＣＰＵ７０６の動作も行っても良い。
【０３３３】
また、ＰＯＤ  Ｌｉｂ１２０５ｅに登録されるＪａｖａプログラムは、ダウンロードされたＪａｖａプログラムだけでなく、予め内蔵されているＪａｖａプログラムでも良い。また、ＳＤ（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ）（登録商標）メモリーカードなどの着脱可能な記憶媒体が着脱されるスロット部を取り付け、その記憶媒体からＪａｖａプログラムを取り込んでも良い。
【０３３４】
また、実施の形態１〜７において、Ｊａｖａプログラムのダウンロードは、ＤＳＭＣＣ方式としたが、ＤＳＭＣＣ方式に限定されず、他のダウンロード方式であっても良い。例えば、ネットワークに接続するネットワーク部を取り付け、インターネットからＪａｖａプログラムを取り出すといった、ＩＰ経由によるＪａｖａプログラムのダウンロード等が可能である。ＩＰ経由によるＪａｖａプログラムのダウンロードの場合、ＡＩＴやＸＡＩＴ情報におけるＤＳＭＣＣ識別子は不要であり、代わりにＪａｖａプログラムを取得するためのＩＰアドレスを指定する必要がある。
【０３３５】
図５６は、ＩＰ経由によるＪａｖａプログラムのダウンロードに必要なＸＡＩＴ情報の一例を示す図である。プロトコル４９０１はＪａｖａプログラムを取得するために用いられる。ＩＰアドレス４９０２はＪａｖａプログラムを取得するために用いられる。行４９１１で定義されるＪａｖａプログラムは、識別子「７０１」、制御情報「ａｕｔｏｓｔａｒｔ」、プロトコル「ｈｔｔｐ」、ＩＰアドレス「１２３．４５６．０．１」、プログラム名「ａ／ＡＰＰ１Ｘｌｅｔ」、優先度「２００」、ストア優先度「１００」、アプリケーション名「ＡＰＰ１」の組である。ＡＭ１２０５ｂは図５１に示されるＸＡＩＴ情報を取得すると、ＸＡＩＴ情報から取得したＩＰアドレスを用いてＪａｖａプログラムのファイルシステムを取得し１次記憶５１１または２次記憶５１０に保存する。
【産業上の利用可能性】
【０３３６】
本発明のプログラム実行装置は、ユーザが安心して利用することができるという効果を奏し、例えばデジタルテレビやパーソナルコンピュータ、携帯電話機などのソフトウェアによって制御される情報機器などに適用することができ、その動作方法は、アプリケーションのストア管理技術として有用である。
【図面の簡単な説明】
【０３３７】
【図１】図１は、従来例の画像データの外部記憶書込方法を示すフローチャートである。
【図２】図２は、従来例のバージョン管理方法によるアプリケーションモジュールのバージョンアップの処理を示すフローチャートである。
【図３】図３は、本発明に係る実施の形態１のケーブルシステムのブロック図である。
【図４】図４は、本発明に係るケーブルシステムにおいてヘッドエンドと端末装置間の通信に使用される周波数帯域の使い方の一例を示す図である。
【図５】図５は、本発明に係るケーブルシステムにおいてヘッドエンドと端末装置間の通信に使用される周波数帯域の使い方の一例を示す図である。
【図６】図６は、本発明に係るケーブルシステムにおいてヘッドエンドと端末装置間の通信に使用される周波数帯域の使い方の一例を示す図である。
【図７】図７は、本発明に係る端末装置（プログラム実行装置）のブロック図である。
【図８】図８は、本発明に係る端末装置の外観の一例を示す図である。
【図９】図９は、本発明に係るＰＯＤの内部構成を示すブロック図である。
【図１０】図１０は、本発明に係るＰＯＤが保存するプログラムの一構成例を示す構成図である。
【図１１】図１１は、ＭＰＥＧ規格で定義されているパケットの構成図である。
【図１２】図１２は、ＭＰＥＧ２トランスポートストリームの一例を示す図である。
【図１３】図１３は、入力部をフロントパネルで構成した場合の外観の一例を示す図である。
【図１４】図１４は、本発明に係る端末装置が保存するプログラムの構成を示す構成図である。
【図１５Ａ】図１５Ａは、本発明に係るディスプレイの表示の一例を示す図である。
【図１５Ｂ】図１５Ｂは、本発明に係るディスプレイの表示の一例を示す図である。
【図１６】図１６は、本発明に係る２次記憶部５１０が保存する情報の一例を示す図である。
【図１７Ａ】図１７Ａは、本発明に係る１次記憶部５１１が保存する情報の一例を示す図である。
【図１７Ｂ】図１７Ｂは、本発明に係る１次記憶部５１１が保存する情報の一例を示す図である。
【図１７Ｃ】図１７Ｃは、本発明に係る１次記憶部５１１が保存する情報の一例を示す図である。
【図１８】図１８は、本発明に係るＭＰＥＧ２規格が規定するＰＡＴの内容を表す模式図である。
【図１９】図１９は、本発明に係るＭＰＥＧ２規格が規定するＰＭＴの内容を表す模式図である。
【図２０】図２０は、本発明に係るＯＣＡＰ仕様が規定するＡＩＴの内容を表す模式図
【図２１】図２１は、本発明に係るＤＳＭＣＣ方式で送信されるファイルシステムを表す模式図である。
【図２２】図２２は、本発明に係るＸＡＩＴの内容を表す模式図である。
【図２３】図２３は、本発明に係る２次記憶部が保存する情報の一例を示す図である。
【図２４】図２４は、本発明に係るＸＡＩＴ情報に記述されるアプリケーションがアプリケーションのストア領域にストアされている状態の一例を示す図である。
【図２５】図２５は、実施の形態１において、ＡＭが、ＸＡＩＴ情報を受け取った時点から、ＶＭへのアプリケーション起動指示を行うまでの動作の一例を示すフローチャートである。
【図２６】図２６は、実施の形態１において、ＸＡＩＴ情報に従いストア領域にストアされたアプリケーションの状態の一例を示す図である。
【図２７】図２７は、実施の形態１において、ＸＡＩＴ情報に従いストア領域にストアされたアプリケーションの状態の一例を示す図である。
【図２８】図２８は、実施の形態１におけるＡＭの構成を示す構成図である。
【図２９】図２９は、実施の形態１において、ＸＡＩＴ情報を受け取ったＡＭによる、アプリケーションのストア処理動作の一例を示すフローチャートである。
【図３０】図３０は、実施の形態１において、ＸＡＩＴ情報を受け取ったＡＭによる、アプリケーションのストア処理動作の一例を示すフローチャートである。
【図３１】図３１は、実施の形態１における削除通知の表示位置を説明するための説明図である。
【図３２】図３２は、実施の形態１において、ＡＭがアプリケーションをストアする動作の一例をまとめたフローチャートである。
【図３３】図３３は、ディスプレイに表示される削除通知を示す図である。
【図３４Ａ】図３４Ａは、実施の形態１において、ＸＡＩＴ情報取得前におけるストア領域にストアされたアプリケーションの状態の一例を示す図である。
【図３４Ｂ】図３４Ｂは、実施の形態１において、ＸＡＩＴ情報取得後におけるストア領域にストアされたアプリケーションの状態の一例を示す図である。
【図３５Ａ】図３５Ａは、実施の形態１において、ＸＡＩＴ情報を受け取ったＡＭによる、アプリケーションのストア処理動作の一例を示すフローチャートである。
【図３５Ｂ】図３５Ｂは、実施の形態１において、ＸＡＩＴ情報を受け取ったＡＭによる、アプリケーションのストア処理動作の一例を示すフローチャートである。
【図３６】図３６は、ストアするアプリケーションの選択を促すメッセージの一例を示す図である。
【図３７】図３７は、実施の形態２におけるＡＭの構成を示す構成図である。
【図３８】図３８は、実施の形態２における削除通知の一例を示す図である。
【図３９】図３９は、実施の形態２において、ＸＡＩＴ情報を受け取ったＡＭによる、アプリケーションのストア処理動作の一例を示すフローチャートである。
【図４０】図４０は、実施の形態３における削除通知の一例を示す図である。
【図４１】図４１は、実施の形態３において、ＸＡＩＴ情報を受け取ったＡＭによる、アプリケーションのストア処理動作の一例を示すフローチャートである。
【図４２】図４２は、実施の形態３において、ＸＡＩＴ情報を受け取ったＡＭによる、アプリケーションのストア処理動作の一例を示すフローチャートである。
【図４３】図４３は、実施の形態４において、ヘッドエンドからＸＡＩＴ情報を受け取ったＡＭによる、ＸＡＩＴ情報の扱い、及び、アプリケーションのストア処理動作の一例を示すフローチャートである。
【図４４】図４４は、実施の形態４において、モニターアプリケーションの動作の一例を示すフローチャートである。
【図４５】図４５は、実施の形態５におけるＡＭの構成を示す構成図である。
【図４６】図４６は、実施の形態５において、ＸＡＩＴ情報を受け取ったＡＭによる、アプリケーションのストア処理動作の一例を示すフローチャートである。
【図４７】図４７は、実施の形態５において、ＸＡＩＴ情報を受け取ったＡＭによる、アプリケーションのストア処理動作の一例を示すフローチャートである。
【図４８】図４８は、実施の形態５における問合せダイアログの一例を示す図である。
【図４９】図４９は、実施の形態５における問合せダイアログの他の例を示す図である。
【図５０】図５０は、実施の形態５における問合せダイアログのさらに他の例を示す図である。
【図５１】図５１は、実施の形態６において、ＸＡＩＴ情報を受け取ったＡＭによる、アプリケーションのストア処理動作の一例を示すフローチャートである。
【図５２】図５２は、実施の形態６において、ＸＡＩＴ情報を受け取ったＡＭによる、アプリケーションのストア処理動作の一例を示すフローチャートである。
【図５３】図５３は、本実施の形態６におけるダイアログの一例を示す図である。
【図５４】図５４は、実施の形態７において、ＸＡＩＴ情報を受け取ったＡＭによる、アプリケーションのストア処理動作の一例を示すフローチャートである。
【図５５】図５５は、実施の形態７におけるメッセージの一例を示す図である。
【図５６】図５６は、ＩＰ経由によるＪａｖａプログラムのダウンロードに必要なＸＡＩＴ情報の一例を示す図である。
【符号の説明】
【０３３８】
１２００    プログラム
１２０１    ＯＳ
１２０１ａ    カーネル
１２０１ｂ    ライブラリ
１２０２    ＥＰＧ
１２０２ａ    番組表示部
１２０２ｂ    再生部
１２０３    ＶＭ
１２０４    サービスマネージャ
１２０５    ライブラリ
１２０５ａ    ＪＭＦ
１２０５ｂ    ＡＭ
１２０５ｃ    Ｔｕｎｅｒ
１２０５ｄ    ＣＡ
１２０５ｅ    ＰＯＤ  Ｌｉｂ
２６０１    ストア優先度比較部
２６０２    ストアアプリ決定部
２６０３    ストア部
２６０４    ストア削除部
２６０５    通知部
２６０６    ストア領域残容量取得部
２６０７    アプリケーション容量取得部
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正の内容】
【図１】
2005076125.tif 000064
【図２】
2005076125.tif 000065
【図３】
2005076125.tif 000066
【図４】
2005076125.tif 000067
【図５】
2005076125.tif 000068
【図６】
2005076125.tif 000069
【図７】
2005076125.tif 000070
【図８】
2005076125.tif 000071
【図９】
2005076125.tif 000072
【図１０】
2005076125.tif 000073
【図１１】
2005076125.tif 000074
【図１２】
2005076125.tif 000075
【図１３】
2005076125.tif 000076
【図１４】
2005076125.tif 000077
【図１５Ａ】
2005076125.tif 000078
【図１５Ｂ】
2005076125.tif 000079
【図１６】
2005076125.tif 000080
【図１７Ａ】
2005076125.tif 000081
【図１７Ｂ】
2005076125.tif 000082
【図１７Ｃ】
2005076125.tif 000083
【図１８】
2005076125.tif 000084
【図１９】
2005076125.tif 000085
【図２０】
2005076125.tif 000086
【図２１】
2005076125.tif 000087
【図２２】
2005076125.tif 000088
【図２３】
2005076125.tif 000089
【図２４】
2005076125.tif 000090
【図２５】
2005076125.tif 000091
【図２６】
2005076125.tif 000092
【図２７】
2005076125.tif 000093
【図２８】
2005076125.tif 000094
【図２９】
2005076125.tif 000095
【図３０】
2005076125.tif 000096
【図３１】
2005076125.tif 000097
【図３２】
2005076125.tif 000098
【図３３】
2005076125.tif 000099
【図３４Ａ】
2005076125.tif 000100
【図３４Ｂ】
2005076125.tif 000101
【図３５Ａ】
2005076125.tif 000102
【図３５Ｂ】
2005076125.tif 000103
【図３６】
2005076125.tif 000104
【図３７】
2005076125.tif 000105
【図３８】
2005076125.tif 000106
【図３９】
2005076125.tif 000107
【図４０】
2005076125.tif 000108
【図４１】
2005076125.tif 000109
【図４２】
2005076125.tif 000110
【図４３】
2005076125.tif 000111
【図４４】
2005076125.tif 000112
【図４５】
2005076125.tif 000113
【図４６】
2005076125.tif 000114
【図４７】
2005076125.tif 000115
【図４８】
2005076125.tif 000116
【図４９】
2005076125.tif 000117
【図５０】
2005076125.tif 000118
【図５１】
2005076125.tif 000119
【図５２】
2005076125.tif 000120
【図５３】
2005076125.tif 000121
【図５４】
2005076125.tif 000122
【図５５】
2005076125.tif 000123
【図５６】
2005076125.tif 000124
【手続補正書】
【提出日】平成19年9月13日(2007.9.13)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
プログラムをダウンロードして実行するプログラム実行装置であって、
ダウンロードされたプログラムを保存するための領域を有する記憶手段と、
複数のプログラムのそれぞれの保存に要する保存容量及び前記記憶手段の空き容量を取得する容量取得手段と、
ダウンロード対象のプログラムを含む複数のプログラムのそれぞれに割り当てられた優先度と前記容量取得手段で取得された保存容量及び空き容量とに基づいて、保存対象の１又は複数のプログラムの全ての保存容量が前記記憶手段の容量を超えない範囲で、優先度の高いプログラムが優先的に前記記憶手段に保存されるように、前記ダウンロード対象のプログラムを含む複数のプログラムのそれぞれを前記記憶手段に保存しておくことが可能か否かを判別する保存判別手段と、
前記保存判別手段で保存不可能と判別されたプログラムの取り扱いについてのメッセージをユーザに通知する通知手段と、
前記保存判別手段で保存可能と判別されたダウンロード対象のプログラムを前記記憶手段に保存する保存処理手段と、
前記記憶手段に保存されたプログラムを実行する実行手段と、
前記保存判別手段で保存不可能と判別された前記記憶手段に保存されているプログラムを削除する削除手段と、
前記通知手段によるメッセージに対するユーザの応答結果を取得する応答取得手段と、
前記保存判別手段で保存不可能と判別された前記記憶手段に保存されているプログラムの優先度を高める優先度変更手段を備え、
前記通知手段は、前記保存判別手段で保存不可能と判別された前記記憶手段に保存されているプログラムを削除しても良いか否かを問い合わせる内容の前記メッセージを通知し、
前記削除手段は、前記応答取得手段によって取得された応答結果が削除の許可を示すことを検知すると、前記検知の後に、前記記憶手段に保存されているプログラムを削除し、
前記保存処理手段は、前記プログラムが削除された記憶手段に対して、前記保存判別手段で保存可能と判別されたダウンロード対象のプログラムを保存し、
前記保存判別手段は、前記応答取得手段によって取得された応答結果が削除の拒否を示すことを検知すると、前記保存不可能と判別されたプログラムの優先度を前記優先度変更手段に変更させ、変更された優先度に基づいて、再び、前記ダウンロード対象のプログラムを含む複数のプログラムのそれぞれを前記記憶手段に保存しておくことが可能か否かを判別する
ことを特徴とするプログラム実行装置。
【請求項２】
前記保存判別手段は、さらに、保存不可能と判別された複数のプログラムが前記記憶手段に保存されているか否かを判別し、
前記通知手段は、前記保存判別手段で保存されていると判別された複数のプログラムのうちの何れを削除するかの選択を促す内容のメッセージを通知し、
前記プログラム実行装置は、さらに、
前記メッセージに対するユーザの選択結果を取得する選択結果取得手段を備え、
前記削除手段は、前記選択結果取得手段によって取得された選択結果の示すプログラムを削除する
ことを特徴とする請求項１記載のプログラム実行装置。
【請求項３】
前記通知手段は、前記記憶手段に保存されているプログラムを用いて前記メッセージをユーザに表示する
ことを特徴とする請求項１記載のプログラム実行装置。
【請求項４】
前記プログラム実行装置は、さらに、
前記保存判別手段で保存不可能と判別されたプログラムが前記実行手段によって実行されているか否かを判別する実行判別手段を備え、
前記通知手段は、前記実行判別手段で実行中と判別されたプログラムの削除についてのメッセージをユーザに通知する
ことを特徴とする請求項１記載のプログラム実行装置。
【請求項５】
前記削除手段は、前記実行判別手段で実行中と判別されたプログラムの実行を終了させて削除する
ことを特徴とする請求項４記載のプログラム実行装置。
【請求項６】
前記削除手段は、前記応答取得手段によって取得された応答結果が削除の許可を示すことを検知すると、前記検知の後に、前記実行中のプログラムを終了させて削除する
ことを特徴とする請求項５記載のプログラム実行装置。
【請求項７】
前記削除手段は、前記実行判別手段による判別結果に基づいて前記実行中のプログラムの終了を検知すると、前記プログラムを削除する
ことを特徴とする請求項４記載のプログラム実行装置。
【請求項８】
前記通知手段は、前記保存判別手段で保存不可能と判別されたダウンロード対象のプログラムの保存についてのメッセージをユーザに通知する
ことを特徴とする請求項１記載のプログラム実行装置。
【請求項９】
前記保存判別手段は、さらに、保存不可能と判別された複数のプログラムが前記記憶手段に保存されているか否かを判別し、
前記通知手段は、前記保存判別手段で保存されていないと判別された複数のプログラムのうちの何れを前記記憶手段に保存するかの選択を促す内容のメッセージを通知し、
前記プログラム実行装置は、さらに、
前記メッセージに対するユーザの選択結果を取得する選択結果取得手段を備え、
前記削除手段は、前記選択結果取得手段によって取得された選択結果の示すプログラムを前記記憶手段に保存する
ことを特徴とする請求項８記載のプログラム実行装置。
【請求項１０】
前記保存判別手段は、互いに種類の異なる複数のプログラムのそれぞれを前記記憶手段に保存しておくことが可能か否かを判別する
ことを特徴とする請求項１記載のプログラム実行装置。
【請求項１１】
プログラムをダウンロードして実行するプログラム実行方法であって、
複数のプログラムのそれぞれの保存に要する保存容量と、プログラムを保存するための領域を有する記憶手段の空き容量とを取得する容量取得ステップと、
ダウンロード対象のプログラムを含む複数のプログラムのそれぞれに割り当てられた優先度と前記容量取得ステップで取得された保存容量及び空き容量とに基づいて、保存対象の１又は複数のプログラムの全ての保存容量が前記記憶手段の容量を超えない範囲で、優先度の高いプログラムが優先的に前記記憶手段に保存されるように、前記ダウンロード対象のプログラムを含む複数のプログラムのそれぞれを前記記憶手段に保存しておくことが可能か否かを判別する保存判別ステップと、
前記保存判別ステップで保存不可能と判別されたプログラムの取り扱いについてのメッセージをユーザに通知する通知ステップと、
前記保存判別ステップで保存可能と判別されたダウンロード対象のプログラムを前記記憶手段に保存する保存処理ステップと、
前記記憶手段に保存されたプログラムを実行する実行ステップと、
前記保存判別ステップで保存不可能と判別された前記記憶手段に保存されているプログラムを削除する削除ステップと、
前記通知ステップによるメッセージに対するユーザの応答結果を取得する応答取得ステップと、
前記保存判別ステップで保存不可能と判別された前記記憶手段に保存されているプログラムの優先度を高める優先度変更ステップとを含み、
前記通知ステップでは、前記保存判別ステップで保存不可能と判別された前記記憶手段に保存されているプログラムを削除しても良いか否かを問い合わせる内容の前記メッセージを通知し、
前記削除ステップでは、前記応答取得ステップで取得された応答結果が削除の許可を示すことを検知すると、前記検知の後に、前記記憶手段に保存されているプログラムを削除し、
前記保存処理ステップでは、前記プログラムが削除された記憶手段に対して、前記保存判別ステップで保存可能と判別されたダウンロード対象のプログラムを保存し、
前記保存判別ステップでは、前記応答取得ステップで取得された応答結果が削除の拒否を示すことを検知すると、前記保存不可能と判別されたプログラムの優先度を前記優先度変更ステップで変更させ、変更された優先度に基づいて、再び、前記ダウンロード対象のプログラムを含む複数のプログラムのそれぞれを前記記憶手段に保存しておくことが可能か否かを判別する
ことを特徴とするプログラム実行方法。
【請求項１２】
アプリケーションプログラムをダウンロードしてコンピュータに実行させるプログラムであって、
複数のプログラムのそれぞれの保存に要する保存容量と、ダウンロードされたプログラムを保存するための領域を有する記憶手段の空き容量とを取得する容量取得ステップと、
ダウンロード対象のアプリケーションプログラムを含む複数のアプリケーションプログラムのそれぞれに割り当てられた優先度と前記容量取得ステップで取得された保存容量及び空き容量とに基づいて、保存対象の１又は複数のプログラムの全ての保存容量が前記記憶手段の容量を超えない範囲で、優先度の高いプログラムが優先的に前記記憶手段に保存されるように、前記ダウンロード対象のプログラムを含む複数のプログラムのそれぞれを記憶手段に保存しておくことが可能か否かを判別する保存判別ステップと、
前記保存判別ステップで保存不可能と判別されたアプリケーションプログラムの取り扱いについてのメッセージをユーザに通知する通知ステップと、
前記保存判別ステップで保存可能と判別されたダウンロード対象のアプリケーションプログラムを前記記憶手段に保存する保存処理ステップと、
前記記憶手段に保存されたアプリケーションプログラムを実行する実行ステップと、
前記保存判別ステップで保存不可能と判別された前記記憶手段に保存されているプログラムを削除する削除ステップと、
前記通知ステップによるメッセージに対するユーザの応答結果を取得する応答取得ステップと、
前記保存判別ステップで保存不可能と判別された前記記憶手段に保存されているプログラムの優先度を高める優先度変更ステップとを含み、
前記通知ステップでは、前記保存判別ステップで保存不可能と判別された前記記憶手段に保存されているプログラムを削除しても良いか否かを問い合わせる内容の前記メッセージを通知し、
前記削除ステップでは、前記応答取得ステップで取得された応答結果が削除の許可を示すことを検知すると、前記検知の後に、前記記憶手段に保存されているプログラムを削除し、
前記保存処理ステップでは、前記プログラムが削除された記憶手段に対して、前記保存判別ステップで保存可能と判別されたダウンロード対象のプログラムを保存し、
前記保存判別ステップでは、前記応答取得ステップで取得された応答結果が削除の拒否を示すことを検知すると、前記保存不可能と判別されたプログラムの優先度を前記優先度変更ステップで変更させ、変更された優先度に基づいて、再び、前記ダウンロード対象のプログラムを含む複数のプログラムのそれぞれを前記記憶手段に保存しておくことが可能か否かを判別する
ことを特徴とするプログラム。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００１９
【補正方法】変更
【補正の内容】
【００１９】
上記目的を達成するために、本発明に係るプログラム実行装置は、プログラムをダウンロードして実行するプログラム実行装置であって、ダウンロードされたプログラムを保存するための領域を有する記憶手段と、複数のプログラムのそれぞれの保存に要する保存容量及び前記記憶手段の空き容量を取得する容量取得手段と、ダウンロード対象のプログラムを含む複数のプログラムのそれぞれに割り当てられた優先度と前記容量取得手段で取得された保存容量及び空き容量とに基づいて、保存対象の１又は複数のプログラムの全ての保存容量が前記記憶手段の容量を超えない範囲で、優先度の高いプログラムが優先的に前記記憶手段に保存されるように、前記ダウンロード対象のプログラムを含む複数のプログラムのそれぞれを前記記憶手段に保存しておくことが可能か否かを判別する保存判別手段と、前記保存判別手段で保存不可能と判別されたプログラムの取り扱いについてのメッセージをユーザに通知する通知手段と、前記保存判別手段で保存可能と判別されたダウンロード対象のプログラムを前記記憶手段に保存する保存処理手段と、前記記憶手段に保存されたプログラムを実行する実行手段と、前記保存判別手段で保存不可能と判別された前記記憶手段に保存されているプログラムを削除する削除手段と、前記通知手段によるメッセージに対するユーザの応答結果を取得する応答取得手段と、前記保存判別手段で保存不可能と判別された前記記憶手段に保存されているプログラムの優先度を高める優先度変更手段を備え、前記通知手段は、前記保存判別手段で保存不可能と判別された前記記憶手段に保存されているプログラムを削除しても良いか否かを問い合わせる内容の前記メッセージを通知し、前記削除手段は、前記応答取得手段によって取得された応答結果が削除の許可を示すことを検知すると、前記検知の後に、前記記憶手段に保存されているプログラムを削除し、前記保存処理手段は、前記プログラムが削除された記憶手段に対して、前記保存判別手段で保存可能と判別されたダウンロード対象のプログラムを保存し、前記保存判別手段は、前記応答取得手段によって取得された応答結果が削除の拒否を示すことを検知すると、前記保存不可能と判別されたプログラムの優先度を前記優先度変更手段に変更させ、変更された優先度に基づいて、再び、前記ダウンロード対象のプログラムを含む複数のプログラムのそれぞれを前記記憶手段に保存しておくことが可能か否かを判別することを特徴とする。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００２０
【補正方法】変更
【補正の内容】
【００２０】
本発明に係るプログラム実行装置では、例えば記憶手段に既にプログラムが保存されている状況で、新規のプログラムをダウンロードしようとするときに、それらのプログラムを共に記憶手段に保存しておくことができない場合、その新規のプログラムの優先度と、記憶手段にあるプログラムの優先度とが比較されて、記憶手段にあるプログラムの優先度の方が低いときには、そのプログラムが記憶手段から削除されるとともに、そのプログラムの削除についてのメッセージがユーザに通知されるため、プログラム実行装置の挙動がその削除に伴って変化しても、ユーザはその原因をメッセージによって知っているため、安心してプログラム実行装置を利用することができる。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００２１
【補正方法】削除
【補正の内容】
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００２２
【補正方法】削除
【補正の内容】
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００２３
【補正方法】削除
【補正の内容】
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００２４
【補正方法】変更
【補正の内容】
【００２４】
更に、ユーザによる削除の許可が得られた後にプログラムの削除が行われるため、ユーザが許可することなくプログラムが削除されてしまうのを防いで、ユーザによる使い勝手を向上することができる。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００２５
【補正方法】削除
【補正の内容】
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】００２６
【補正方法】変更
【補正の内容】
【００２６】
更に、ユーザがプログラムの削除を拒否したときには、そのプログラムの優先度が高く設定され、その優先度を用いて再び複数のプログラムの中から保存不可能なプログラムが選ばれるため、ユーザにとって不要なプログラムを削除することができ、ユーザによる使い勝手をさらに向上することができる。
【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】００３１
【補正方法】変更
【補正の内容】
【００３１】
ここで、前記削除手段は、前記応答取得手段によって取得された応答結果が削除の許可を示すことを検知すると、前記検知の後に、前記実行中のプログラムを終了させて削除することを特徴としても良い。
【国際調査報告】
2005076125.tif 000125
2005076125.tif 000126
2005076125.tif 000127
2005076125.tif 000128