(57)【要約】【課題】ユーザの許諾なしに情報出力装置が勝手に操作されることを防止しつつ、情報操作装置から情報出力装置を操作できるようにして利便性を向上させる。【解決手段】チューナー部と、暗証コード管理部と、暗証コード検査部と、アプリ実行部と、アプリ出所検査部と、機器操作命令処理部とを備える。アプリ出所検査部は、情報操作装置で実行され、機器操作命令を送信したアプリケーションの機器操作命令に含まれる出所情報と、アプリ実行部で実行中のアプリケーションの出所情報とが一致するか否かを判定する。暗証コード検査部は、情報操作装置から暗証コードを取得し、取得した暗証コードが暗証コード管理部に保持されている暗証コードと一致するかを検査する。機器操作命令処理部は、アプリ出所検査部により、出所情報が一致した場合であって、かつ暗証コード検査部により、暗証コードが一致した場合に、機器操作命令の実行を許可し、許可された場合には、機器操作命令を実行する。【選択図】図４
2014192638.tif 000002
【特許請求の範囲】
【請求項１】
情報操作装置と第１のネットワークインタフェースで接続される情報出力装置であって、
第１のネットワークインタフェースを介して、機器操作命令を受信する機器操作命令受信部と、
第１のネットワークインタフェースを介して、前記情報操作装置で実行され、前記機器操作命令を送信したアプリケーションの第１出所情報を受信する出所情報受信部と、
受信した放送波から、放送番組、及び番組関連情報のデコード処理を行うチューナー部と、
装置毎に対応する暗証コードを保持する暗証コード管理部と、
前記情報操作装置から前記暗証コードを取得し、取得した前記暗証コードが前記暗証コード管理部に保持されている前記暗証コードと一致するかを検査する暗証コード検査部と、
アプリケーションを実行するアプリ実行部と、
受信された前記第１出所情報と、前記アプリ実行部で実行中の前記アプリケーションの第２出所情報とが一致するか否かを判定するアプリ出所検査部と、
前記アプリ出所検査部により、それぞれの出所情報が一致した場合であって、かつ前記暗証コード検査部により、前記暗証コードが一致した場合に、前記機器操作命令の実行を許可し、許可された場合には、前記機器操作命令を実行する機器操作命令処理部と、
を備えることを特徴とする情報出力装置。
【請求項２】
アプリ配布サーバと第２のネットワークインタフェースで更に接続され、
前記アプリ実行部で実行中の前記アプリケーションは、前記チューナー部によって受信される前記放送番組、及び番組関連情報に含まれるＵＲＬによって特定される前記アプリ配布サーバより前記第２のネットワークインタフェースを介して取得される
ことを特徴とする請求項１に記載の情報出力装置。
【請求項３】
前記第１のネットワークインタフェースは、Ｗｅｂｓｏｃｋｅｔコネクションで接続される
ことを特徴とする請求項１に記載の情報出力装置。
【請求項４】
前記第２のネットワークインタフェースは、ＴＣＰ／ＩＰで接続されている
ことを特徴とする請求項２に記載の情報出力装置。
【請求項５】
前記暗証コードと、前記機器操作命令は、異なる前記Ｗｅｂｓｏｃｋｅｔコネクションを通じて取得される
ことを特徴とする請求項３に記載の情報出力装置。
【請求項６】
乱数を生成し、前記情報操作装置に対して、前記乱数を送信する乱数送信部と、
前記乱数と、前記暗証コードとＭＡＣ鍵から第１ＭＡＣ値を算出し、前記情報操作装置から第２ＭＡＣ値を受信し、前記第１ＭＡＣ値と前記第２ＭＡＣ値が一致するか否かを検査するＭＡＣ検査部と
を備えることを特徴とする請求項１に記載の情報出力装置。
【請求項７】
前記情報操作装置の前記アプリケーションの状態を遷移させるアプリ遷移命令を送信可能なＷＥＢアプリを実行するＷＥＢアプリ実行部と、
前記情報操作装置との間でＷｅｂｓｏｃｋｅｔによるコネクションで接続され、前記情報操作装置に対して前記アプリ遷移命令を送信するＷｅｂｓｏｃｋｅｔ処理部と、
を更に備えることを特徴とする請求項１に記載の情報出力装置。
【請求項８】
前記出所情報は、前記アプリケーションが取得される際に、ダウンロード元となったアプリ配布サーバのドメイン名である
ことを特徴とする請求項１に記載の情報出力装置。
【請求項９】
前記機器操作命令は、前記情報出力装置が放送波から受信する放送番組に関する所定の操作を行う放送関連命令を含み、
前記情報操作装置から送信されてくる前記機器操作命令が前記放送関連命令かを判定する命令選択部と、
を更に備え、
前記機器操作命令処理部は、前記放送関連命令と判定された場合に、前記アプリ出所検査部により、それぞれの出所情報が一致した場合であって、かつ前記暗証コード検査部により、前記暗証コードが一致した場合に、前記機器操作命令の実行を許可し、許可された場合には、前記機器操作命令を実行する
ことを特徴とする請求項１〜７のいずれか一項に記載の情報出力装置。
【請求項１０】
前記機器操作命令は、前記放送波とは独立した前記情報出力装置への操作指示である独立操作命令とを含み、
前記情報操作装置から送信されてくる前記機器操作命令が前記独立操作命令かを判定する命令選択部と、
を更に備え、
前記機器操作命令処理部は、前記独立操作命令と判定された場合に、前記アプリ出所検査部により、それぞれの出所情報が一致した場合であって、かつ前記暗証コード検査部により、前記暗証コードが一致した場合に、前記機器操作命令の実行を許可し、許可された場合には、前記機器操作命令を実行する
ことを特徴とする請求項１〜８のいずれか一項に記載の情報出力装置。
【請求項１１】
機器操作命令を情報出力装置へと送信するＷｅｂアプリケーションを実行するＷｅｂアプリ実行部と、
前記Ｗｅｂアプリの出所情報と、前記情報出力装置に対して予め設定された暗証コードとを、前記出所情報が前記機器操作命令とともに前記情報出力装置へと送信する機器命令送信部と、
を備えることを特徴とする情報操作装置。
【請求項１２】
コンピュータに、
受信した放送波から、放送番組、及び番組関連情報のデコード処理を行うチューナー部と、
装置毎に対応する暗証コードを保持する暗証コード管理部と、
情報操作装置から前記暗証コードを取得し、取得した前記暗証コードが前記暗証コード管理部に保持されている前記暗証コードと一致するかを検査する暗証コード検査部と、
アプリケーションを実行するアプリ実行部と、
前記情報操作装置で実行され、前記機器操作命令を送信したアプリケーションの前記機器操作命令に含まれる出所情報と、前記アプリ実行部で実行中の前記アプリケーションの前記出所情報とが一致するか否かを判定するアプリ出所検査部と、
前記アプリ出所検査部により、前記出所情報が一致した場合であって、かつ前記暗証コード検査部により、前記暗証コードが一致した場合に、前記機器操作命令の実行を許可し、許可された場合には、前記機器操作命令を実行する機器操作命令処理部と、
を実行させるためのプログラム。
【請求項１３】
コンピュータに
機器操作命令を情報出力装置へと送信するＷｅｂアプリケーションを実行するＷｅｂアプリ実行部と、
前記Ｗｅｂアプリの出所情報と、前記情報出力装置に対して予め設定された暗証コードとを、前記出所情報が前記機器操作命令とともに前記情報出力装置へと送信する機器命令送信部と、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、情報出力装置、情報操作装置、およびプログラムに関する。
【背景技術】
【０００２】
近年、スマートフォンやタブレット等の情報操作端末とＴＶとをインターフェイスを介して接続し、ＴＶを操作する技術がある。例えば、情報操作端末には、ＴＶを操作するためのアプリケーションがインストールされ、アプリケーションはＴＶの番組情報を取得したり、番組を切り替えたりといった操作が可能となっている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−３１０８７２号公報
【非特許文献】
【０００４】
【非特許文献１】HbbTV  specification  (ETSI  TS  102  796)  Version  1.1.1http://www.etsi.org/deliver/etsi＿ts/102700＿102799/102796/01.01.01＿60/ts＿102796v010101p.pdf
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記従来の技術ではＴＶがユーザの明示的な許諾なしに操作されてしまったりすることに対して、具体的な対策を採るための技術は開示されていなかった。
【０００６】
本発明の実施形態は上記に鑑みてなされたものであって、ユーザの許諾なしに情報出力装置が勝手に操作されることを防止しつつ、情報操作装置から情報出力装置を操作できるようにして利便性を向上させた情報出力装置を提供するものである。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、本発明の実施形態は、情報操作装置と第１のネットワークインタフェースで接続される情報出力装置であって、チューナー部と、暗証コード管理部と、暗証コード検査部と、アプリ実行部と、アプリ出所検査部と、機器操作命令処理部とを備える。出所情報受信部は、第１のネットワークインタフェースを介して、前記情報操作装置で実行され、前記機器操作命令を送信したアプリケーションの第１出所情報を受信する。アプリ出所検査部は、前記情報操作装置で実行され、前記機器操作命令を送信したアプリケーションの第１出所情報と、前記アプリ実行部で実行中の第２アプリケーションの前記出所情報とが一致するか否かを判定する。暗証コード検査部は、前記情報操作装置から前記暗証コードを取得し、取得した前記暗証コードが前記暗証コード管理部に保持されている前記暗証コードと一致するかを検査する。機器操作命令処理部は、前記アプリ出所検査部により、それぞれの出所情報が一致した場合であって、かつ前記暗証コード検査部により、前記暗証コードが一致した場合に、前記機器操作命令の実行を許可し、許可された場合には、前記機器操作命令を実行する。
【図面の簡単な説明】
【０００８】
【図１−１】第１の実施形態に情報処理システムの概略構成を示す図。
【図１−２】第２の実施形態に情報処理システムの概略構成を示す図。
【図２】第１の実施形態に係る情報操作装置の内部構成を示すブロック図。
【図３−１】第１の実施形態に係るアプリ実行部、アプリ取得部、及びアプリキャッシュ部の詳細な構成を示すブロック図。
【図３−２】第１の実施形態に係るアプリ実行部、アプリ取得部、及びアプリキャッシュ部の詳細な構成の別例示すブロック図。
【図３−３】第１の実施形態に係るアプリ実行部、アプリ取得部、及びアプリキャッシュ部の詳細な構成の別例を示すブロック図。
【図４】第１の実施形態の情報出力装置の内部構成を示すブロック図。
【図５】第１の実施形態の情報出力装置が画面出力部を使って表示する画面の例を示す図。
【図６】第１の実施形態のＷｅｂアプリ配布サーバの内部構成を示すブロック図。
【図７】第１の実施形態のＰＦアプリ配布サーバの内部構成を示すブロック図。
【図８】第１の実施形態の情報操作装置、情報出力装置、ＰＦアプリ配布サーバ、及びＷｅｂアプリ配布サーバの処理手順を示すフローチャート。
【図９】第１の実施形態の情報操作装置セットアップフェーズの情報操作装置とＰＦアプリ配布サーバの処理手順を示すシーケンス図である。
【図１０】第１の実施形態の情報操作装置１の画面出力部の画面に出力されるＰＦアプリの一覧の表示例。
【図１１−１】第１の実施形態のＰＦアプリの機能構成を示すブロック図。
【図１１−２】第１の実施形態のＰＦアプリの別例の機能構成を示すブロック図。
【図１２−１】第１の実施形態の情報出力装置操作フェーズ(レベル１)の情報操作装置とＷｅｂアプリ配布サーバとの間の処理手順を示すシーケンス図。
【図１２−２】第１の実施形態の別例の報出力装置操作フェーズ(レベル１)の情報操作装置とＷｅｂアプリ配布サーバとの間の処理手順を示すシーケンス図。
【図１３】第１の実施形態の検索処理部で検索した結果、情報操作装置の画面出力部の画面に取得した情報出力装置の一覧をアイコンとして表示する例を示す図。
【図１４】第１の実施形態の情報出力装置でＰＩＮの入力を促す画面の一例を示す図。
【図１５−１】第１の実施形態の情報出力装置操作フェーズ(レベル２)の情報操作装置と情報出力装置との間の処理手順を示すシーケンス図。
【図１５−２】第１の実施形態の別例の情報出力装置操作フェーズ(レベル２)の情報操作装置と情報出力装置との間の処理手順を示すシーケンス図。
【図１６】第１の実施形態のＷｅｂアプリが生成し、情報操作装置の画面出力部に出力されるリモコン画面の表示例を示す図。
【図１７】第１の実施形態の情報出力装置に表示されるＰＩＮの画面の表示例を示す図。
【図１８】第の実施形態の変形例の情報出力装置操作フェーズ(レベル１)の情報操作装置とＷｅｂアプリ配布サーバの処理手順を示すシーケンス図。
【図１９】第１の実施形態の変形例の情報出力装置の内部構成を示すブロック図。
【図２０】第１の実施形態の変形例の情報操作装置の内部構成を示すブロック図。
【図２１】第１の実施形態の変形例の情報出力装置の内部構成を示すブロック図。
【図２２】第１の実施形態の別例の情報出力装置操作フェーズ(レベル２)の情報操作装置と情報出力装置との間の処理手順を示すシーケンス図。
【図２３】第１の実施形態の変形例の情報出力装置の内部構成を示すブロック図。
【図２４】第１の実施形態の変形例の情報操作装置の内部構成を示すブロック図。
【図２５】第１の実施形態の変形例のアプリ実行部、アプリ取得部、及びアプリキャッシュ部の詳細な構成を示すブロック図。
【図２６】第１の実施形態の変形例のアプリ実行部、アプリ取得部、及びアプリキャッシュ部の詳細な構成を示すブロック図。
【図２７】第１の実施形態の変形例の情報出力装置の内部構成を示すブロック図。
【図２８】第１の実施形態の変形例のアプリ実行部、アプリ取得部、及びアプリキャッシュ部の詳細な構成を示すブロック図。
【図２９】第１の実施形態の情報出力装置の画面出力部に表示される放送コンテンツと連動して情報操作装置１内でＷｅｂアプリを表示させる処理の流れを示すシーケンス図。
【図３０】第２の実施形態のＷｅｂアプリ＃３が生成し、情報操作装置の画面出力部に出力されるリモコン画面の表示例を示す図。
【図３１】第２の実施形態の情報操作装置、情報出力装置、ＰＦアプリ配布サーバ、及びＷｅｂアプリ配布サーバ、利用許可証配布サーバの処理手順を示すフローチャート。
【図３２】第２の実施形態の利用許可証のフォーマットの一例を示す図。
【図３３】第２の実施形態の利用許可証配布サーバの内部構成を示すブロック図。
【図３４】第２の実施形態の情報操作装置の内部構成を示すブロック図。
【図３５】第２の実施形態のアプリ実行部、アプリ取得部、及びアプリキャッシュ部の詳細な構成を示すブロック図。
【図３６】第２の実施形態の情報出力装置の内部構成を示すブロック図。
【図３７】第２の実施形態の情報出力装置操作フェーズ（レベル１）の情報操作装置とＷｅｂアプリ配布サーバの処理手順を示すシーケンス図。
【図３８】第２の実施形態の情報出力装置操作フェーズ（レベル２）における情報操作装置と情報出力装置の処理手順を示すシーケンス図。
【図３９】第２の実施形態の変形例のアプリ実行部、アプリ取得部、及びアプリキャッシュ部の詳細な構成を示すブロック図。
【図４０】第２の実施形態の変形例の情報出力装置の内部構成を示すブロック図。
【図４１】第２の実施形態のＰＩＮを平文で送信する代わりにＭＡＣ値を利用する場合の情報操作装置と情報出力装置の処理手順を示すシーケンス図。
【図４２】第２の実施形態の変形例の情報出力装置の内部構成を示すブロック図。
【図４３】第２の実施形態のドメインリストのフォーマットの一例を示す図。
【発明を実施するための形態】
【０００９】
(第１の実施形態)
以下、本発明を具体化した実施形態について説明する。図１は第１の実施形態に情報処理システム３の概略構成を示す図である。本実施形態では、情報処理システム３は、デジタル放送に用いられるシステムとしての例を示す。情報処理システム３は、情報出力装置２、情報操作装置１、ＷＥＢアプリ配布サーバ４、及びＰＦアプリ配布サーバ５を備えている。情報出力装置２は、デジタル放送波に含まれるＡＶデータや文字情報を映像として出力する。情報操作装置１は、情報出力装置２を操作するための装置である。ＷＥＢアプリ配布サーバ４は、ウェブアプリケーション（以下、ＷＥＢアプリ）を配布する。ＰＦアプリ配布サーバ５は、プラットホームに固有のアプリ（以下、ＰＦアプリ）を配布する。
【００１０】
ＷＥＢアプリは、ＨＴＭＬやＪａｖａＳｃｒｉｐｔ（登録商標）などが解釈できるＷＥＢブラウザの実行環境で実行されるアプリケーションのことを指す。なお、ＨＴＭＬのバージョンは４でもよいし５でもよい。ＷＥＢアプリは一般に、複数のページファイルとメディアファイルを有する。メディアファイルとは、ＪＰＥＧ、ＧＩＦ、及びＭＰＥＧなどの動画像データが納められたファイルや、ＭＰ３などの音声データが納められたファイルを指す。これに対して、ページファイルには、ＨＴＭＬなどで記述する文字や画像等の配置情報、表示文字データなどに加えて、ＪａｖａＳｃｒｉｐｔ（登録商標）のような制御プログラム情報が格納される場合がある。また、ＨＴＭＬ５、又はＪａｖａＳｃｒｉｐｔ（登録商標）からはＨＴＴＰやＷｅｂＳｏｃｋｅｔと呼ばれるプロトコルでＨＴＴＰサーバや、ＷｅｂＳｏｃｋｅｔサーバと通信することができる。
【００１１】
プラットホーム固有アプリとは、ＷＥＢブラウザ上ではなく、オペレーティングシステムや仮想マシン上で実行されるアプリケーションを指し、プロセッサやＯＳや仮想マシンに依存する。これらのプラットホーム固有アプリは、アプリの実行ファイル(実行バイナリファイル)と、静止画データやテキストデータなどのアプリで利用するデータが一つのファイルとしてパッケージ化された形で配布される。
【００１２】
なお、デジタル放送の方式としてはＩＳＤＢ方式、ＤＶＢ方式、ＡＴＳＣ方式などの方式が存在するが、本実施形態では特定の放送方式に限定しない。以下では一例としてＩＳＤＢ方式で、放送コンテンツがＭＰＥＧ２―ＴＳ形式で伝送されるものとする。情報操作装置１と情報出力装置２とは、有線、又は無線のネットワーク７で接続されており、情報操作装置１は情報出力装置２の各種機能を操作するための機器操作命令を情報出力装置２に送信する。
【００１３】
ここで、情報操作装置１とは、タブレットやスマートフォンなどの携帯端末を一例として想定する。さらに情報出力装置２はデジタルテレビやセットトップボックス、デジタルレコーダなど放送波を受信する端末を一例として想定する。
【００１４】
情報操作装置１は、インターネット８を介してＷＥＢアプリ配布サーバ４とＰＦアプリ配布サーバ５とに接続されており、それぞれからＷＥＢアプリ、ＰＦアプリを受信する。情報出力装置２はインターネット８を介して図示しない利用許可証配布サーバと接続されている。
【００１５】
情報操作装置１から情報出力装置２に機器操作命令を送るための物理レイヤとリンクレイヤとして、赤外線、ＩＥＥＥ８０２．１１規格に準拠した無線ＬＡＮ、イーサネット（登録商標）などの種々の通信形態が採用可能であるが、図１では一例として無線ＬＡＮを示している。なお、これらインターフェイスが有線であるか無線であるかは問わない。ネットワークレイヤとして、インターネットプロトコル（ＩＰ）を使用する場合は、ＩＰｖ４でもよいし、ＩＰｖ６でもよい。インターフェイスがＩＰの場合には、情報操作装置１と情報出力装置２の間に不図示の無線アクセスポイント機器やルータ機器等が接続されていてもよい。ここでは一例として、情報操作装置１から情報出力装置２に無線ＬＡＮ７を介して機器操作命令を送る例を説明するが、ネットワーク形態は特に問わない。
【００１６】
機器操作命令とは、情報出力装置２の機能を制御する命令であり、情報出力装置２が放送波から受信する放送番組に含まれる番組関連情報の取得命令、情報出力装置２が自装置内のメモリに保存した番組関連情報の取得命令、情報出力装置２が自装置内のメモリに保存した識別情報の取得などを指す。これらの命令は放送関連命令である。
【００１７】
また、機器操作命令として、選局命令や音量調節命令、放送チューナー入力から外部入力に切り替える等の入力切り替え命令、録画コンテンツの一覧表示命令、指定した録画コンテンツに対する再生命令、指定した録画コンテンツの特定の位置から再生を指示する再生命令、指定した録画コンテンツに対する削除命令なども含む。これらの命令は、独立操作命令である。
【００１８】
情報操作装置１は、情報出力装置２と通信するコネクションとは別に、ＷＥＢアプリ配布サーバ４、ＰＦアプリ配布サーバ５と通信するためのＩＰインターフェイスを備えている。同様に、情報出力装置２も情報操作装置１と通信するコネクションとは別に、ＷＥＢアプリ配布サーバ４と通信するためのＩＰインターフェイスを備えている。ＩＰインターフェイスの物理レイヤとリンクレイヤとして、ＩＥＥＥ８０２．１１規格に準拠した無線ＬＡＮやイーサネット（登録商標）など種々の通信形態が採用可能である。ネットワークレイヤとして、インターネットプロトコル（ＩＰ）を使用する場合は、ＩＰｖ４でもよいし、ＩＰｖ６でもよい。これらの通信プロトコルはインターネットプロトコル上のＨＴＴＰ（Hypertext  Transfer  Protocol）、又はＨＴＴＰＳ（Hypertext  Transfer  Protocol  over  Secure  Socket  Layer）によってなされる事を想定している。
【００１９】
情報操作装置１は、ＰＦアプリ配布サーバ５からＰＦアプリをダウンロードし、ＷＥＢアプリ配布サーバ４からＷＥＢアプリをそれぞれダウンロードして実行する。情報操作装置１は複数のＰＦアプリ配布サーバ５からそれぞれ異なる複数のＰＦアプリをダウンロードしたり、複数のＷＥＢアプリ配布サーバ４からそれぞれ異なる複数のＷＥＢアプリをダウンロードしたりしてもよい。
【００２０】
情報出力装置２は、ＷＥＢアプリ配布サーバ４からＷＥＢアプリをダウンロードして実行する。情報出力装置２はＷＥＢアプリ配布サーバ４からそれぞれ異なる複数のＷＥＢアプリをダウンロードしたりしてもよい。また、情報出力装置２は同軸ケーブルから放送波を受信する。この放送波には放送番組、番組関連情報、ＷＥＢアプリへのＵＲＬ、ＷＥＢアプリなどが含まれる。なお、図１の例では同軸ケーブルから放送波を受信する例を示しているが、ＩＰ放送によって受信してもよい。この場合は同軸ケーブルである必要はなく、非図示のＩＰ放送サーバからインターネット８または非図示の通信事業者のマネージドネットワークを経由してインターネットプロトコルによって受信すればよい。なお、情報出力装置２が放送波に含まれるＷＥＢアプリを実行する場合には、必ずしもＷＥＢアプリ配布サーバ４からＷＥＢアプリをダウンロードする必要はない。
【００２１】
図２は第１の実施形態に係る情報操作装置１の内部構成を示すブロック図である。図２の情報操作装置１は、ＨＴＴＰ処理部１１、アプリ取得部１２、アプリキャッシュ部１３、入力受信部１５、アプリ実行部１６、画面出力部１７、ＷｅｂＳｏｃｋｅｔクライアント処理部１８、機器操作命令送信部１９、検索処理部２０、リダイレクト処理部２１、アプリ蓄積部３０を有する。
【００２２】
アプリ蓄積部３０は、ＰＦアプリ、ＷＥＢアプリのキャッシュ、ＰＦアプリが利用するデータ、及びＷＥＢアプリが格納するデータを記録する処理を行う。アプリ蓄積部３０がデータを記録する媒体としては情報操作装置１に内蔵のハードディスクドライブやフラッシュメモリ、外付けハードディスクドライブやＳＤカードなどの汎用の記録媒体が使用可能である。
【００２３】
ＨＴＴＰ処理部１１は、ＷＥＢサーバとの間で、ＨＴＴＰ、又はＨＴＴＰＳのプロトコルで通信し、後述するＷＥＢアプリの取得に必要なＨＴＴＰクライアント処理、及びＴＣＰ/ＩＰ処理、リンクレイヤ処理、物理レイヤ処理を行う。ＨＴＴＰ処理部１１は、Ｗｅｂアプリ配布サーバ４からＷＥＢアプリを取得するための接続確立処理を行う。また、ＨＴＴＰ処理部１１は、後述するアプリ取得部１２からの要求に応じて、所定のＷＥＢサーバに後述するＰＦアプリとＷＥＢアプリの取得要求を送信し、取得要求したＰＦアプリとＷＥＢアプリを受信する。ＨＴＴＰ処理部１１は、受信したＰＦアプリとＷＥＢアプリをアプリ取得部１２に送信する。
【００２４】
アプリ取得部１２は、ＨＴＴＰ処理部１１を使って、所定のＷＥＢサーバからＰＦアプリとＷＥＢアプリを取得する処理を行う。アプリキャッシュ部１３は、アプリ取得部１２で取得したＰＦアプリ又はＷＥＢアプリの全部又は一部のデータをキャッシュとしてアプリ蓄積部３０に格納する処理を行う。ＷＥＢアプリのうち、どの部分をキャッシュとしてアプリ蓄積部３０に格納するかは、ＷＥＢアプリの開発者があらかじめ設定ファイルに記述しておく。アプリキャッシュ部１３はその設定ファイルに従って、指定された部分をキャッシュとしてアプリ蓄積部３０に格納する。
【００２５】
入力受信部１５は、タッチパッドやキーボード、マウスなどの入力機器を介してユーザが入力した情報を受信し、入力した情報をアプリ実行部１６に通知する。アプリ実行部１６は、アプリ取得部１２で取得したＷＥＢアプリやＰＦアプリ、アプリ蓄積部３０に蓄積されているＷＥＢアプリやＰＦアプリを実行する。アプリがＷＥＢアプリの場合はＷＥＢブラウザを用いて実行する。画面出力部１７は、アプリ実行部１６で生成した画面を自装置内の不図示のモニターに表示又は外部出力インターフェイスに出力する。外部出力インターフェイスとは、例えばＨＤＭＩ（High-Definition  Multimedia  Interface）やコンポジット、Ｓ−Ｖｉｄｅｏ、コンポーネントのようなインターフェイスのことを指す。もちろん、ＷｉＦｉ  ＤｉｓｐｌａｙやＷｉＤｉなどの無線インターフェイスであってもよい。
【００２６】
ＷｅｂＳｏｃｋｅｔクライアント処理部１８は、ＲＦＣ６４５５規格で定められたウェブソケットと呼ばれるプロトコルに従って情報出力装置２と通信を行うためのクライアント処理を行う。機器操作命令送信部１９やアプリ実行部１６から送られてくるデータ(機器操作命令)は、このＷｅｂＳｏｃｋｅｔクライアント処理部１８で処理され、ＲＦＣ６４５５規格で定められたフォーマットに従って、ヘッダなどを付与して情報出力装置２に送信される。ＷｅｂＳｏｃｋｅｔクライアント処理部１８は後述するＷＥＢアプリ実行部２２ａで実行中であり、情報出力装置２にデータを送信するよう命令を発行したＷＥＢアプリのドメイン名（出所情報）をＷｅｂＳｏｃｋｅｔコネクションのヘッダに付与する処理を行う。ＷｅｂＳｏｃｋｅｔクライアント処理部１８は、機器操作命令を情報出力装置２に送信するための接続確立処理を行う。
【００２７】
機器操作命令送信部１９は、アプリ実行部１６からの命令に基づいて機器操作命令をＷｅｂＳｏｃｋｅｔクライアント処理部１８を使って情報出力装置２に送信する処理を行う。リダイレクト処理部２１は、ＨＴＴＰ処理部１１で受信したメッセージの中に、ＨＴＴＰリダイレクト命令が含まれる場合には、その命令の中に含まれるＵＲＬを取得し、そのＵＲＬで指示されたＷＥＢアプリを取得するようアプリ取得部１２に指示する。リダイレクト処理部２１は必須の構成ではない。
【００２８】
検索処理部２０は、アプリからの要求に基づいてネットワーク上に情報出力装置２など他の装置が存在するかどうかを検索し、存在する場合は情報出力装置２のＩＰアドレスやＷｅｂＳｏｃｋｅｔのＴＣＰポート番号などを取得する。具体的には、アプリからの要求に基づいてアプリ実行部１６が検索処理部２０に機器検索要求を送信する。検索処理部２０はその結果をアプリ実行部１６に通知し、アプリ実行部１６はアプリにその結果を通知する。このように、検索処理部２０は、情報出力装置２に装置検索要求を送信し、情報出力装置２から送信された、情報出力装置２の名前（ＩＤやドメイン名など）やＩＰアドレス等を受信するためのネットワークセッション確立処理を行う。なお、検索処理部２０は必須の構成ではない。
【００２９】
具体的には、検索処理部２０は、情報出力装置２のＩＰアドレス等の識別情報を取得するためのネットワークセッション確立処理を行う第３コネクション部を内蔵する。そして、この第３コネクション部で情報出力装置２のＩＰアドレス等が取得された後に、ＷｅｂＳｏｃｋｅｔクライアント処理部１８は、検索処理部２０が受信した情報出力装置２のＩＰアドレス等に基づいて、情報出力装置２に対して機器操作命令と利用許可証を送信するための接続確立処理を行う。なお、便宜上、第３コネクション部という表現を用いているが、機器検索にＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）などのコネクションレスのプロトコルを用いてもよい。その場合はハンドシェークによるコネクションの確立を行う必要は必ずしもない。
【００３０】
図３−１は情報操作装置１内のアプリ実行部１６、アプリ取得部１２、及びアプリキャッシュ部１３の詳細な構成を示すブロック図である。アプリ実行部１６は、ＰＦアプリ９を実行するＰＦアプリ実行部２２ｂと、Ｗｅｂアプリ１０を実行するＷＥＢアプリ実行部２２ａとを有する。ＰＦアプリ実行部２２ｂは、ＰＦアプリ９を実行する機能を有し、その他にＷｅｂＳｏｃｋｅｔクライアント処理部１８ａを有する。
【００３１】
ＷｅｂＳｏｃｋｅｔクライアント処理部１８ａは情報出力装置２とＷｅｂＳｏｃｋｅｔのプロトコルで通信を行うためのクライアント処理を行う。すなわち図２で示したＷｅｂＳｏｃｋｅｔクライアント処理部１８と同等の処理を行う。情報操作装置１はＷｅｂＳｏｃｋｅｔのプロトコルで通信を行うためのクライアント処理を行う処理部として、ＷｅｂＳｏｃｋｅｔクライアント処理部１８とＷｅｂＳｏｃｋｅｔクライアント処理部１８ａの両方を備えていてもよい。
【００３２】
ＷｅｂアプリはＰＩＮ保存部２３に蓄積されているＰＩＮ（認証情報）を取得し、ＰＦアプリ実行部２２ｂに受け渡す。ＰＩＮとは、パスワード(暗証コード、ＰＩＮコード)のことであり、情報出力装置２との認証に用いる情報である。ＰＦアプリ実行部２２ｂのＷｅｂＳｏｃｋｅｔクライアント処理部１８ａがＷｅｂＳｏｃｋｅｔのプロトコルでＰＩＮを情報出力装置２に送信する。
【００３３】
ＷＥＢアプリ実行部２２ａは、汎用のＷｅｂブラウザで実現され、Ｗｅｂブラウザの機能としては、Ｗｅｂアプリを実行し、その他にＰＩＮ保存部２３を有する。ＰＩＮ保存部２３は入力受信部１５で受信したＰＩＮの値を一時的に保存する。ＰＩＮ保存部２３は、Ｗｅｂアプリ１０からの要求に基づいて入力受信部１５で受信したＰＩＮの値を保存するが、この入力されたＰＩＮの値をそのＷｅｂアプリの送信元であるＷｅｂアプリ配布サーバ４のドメイン毎に管理する。情報操作装置１は複数のＷｅｂアプリ配布サーバ４と通信し、それぞれ異なる複数のＷｅｂアプリ１０を取得して実行する可能性がある。保存したＰＩＮを利用できるＷｅｂアプリ１０を制限するために、ＰＩＮの利用を許可するＷｅｂアプリ１０のドメインの範囲を指定して情報操作装置１に保存する。具体的には、Ｃｏｏｋｉｅとして情報操作装置１にＰＩＮを保存する場合、ＷｅｂアプリはＲＦＣ２９６５やＲＦＣ６２６５で規定されたＳｅｔ−ＣｏｏｋｉｅヘッダなどのＣｏｏｋｉｅを保存する命令のパラメタとしてドメイン名を指定するようにすればよい。
【００３４】
ＰＩＮ保存部２３は、Ｗｅｂアプリ１０からＰＩＮの利用要求があった場合、Ｗｅｂアプリ１０のドメイン名が、ＰＩＮを保存したＷｅｂアプリ１０が指定されたドメインの範囲に含まれるか否かを検査し、含まれる場合のみＷｅｂアプリ１０に対してＰＩＮの利用を許可する処理を行う。たとえば、情報操作装置１のＷｅｂアプリ１０がＰＩＮをＣｏｏｋｉｅとして保存する際、example.foo.bar.comとして利用範囲(ドメイン)を指定した場合、ＰＩＮを利用するＷｅｂアプリ１０のドメイン名はexample.foo.bar.comやa.example.foo.bar.comなど、example.foo.bar.comを含むドメインでなければならない。仮にＷｅｂアプリのドメインがfoo.foo.bar.comだった場合、そのドメインはＰＩＮを保存するＷｅｂアプリ１０が指定したドメインに含まれないため、ＰＩＮ保存部２３はそのＷｅｂアプリ１０から利用要求があったとしても、ＰＩＮを返さないように制限する。
【００３５】
なお、ＰＩＮを要求したＷｅｂアプリ１０のドメイン名がＰＩＮを保存したＷｅｂアプリ１０が指定したドメインの範囲外で、Ｗｅｂアプリ１０からＰＩＮ保存部２３に蓄積されたＰＩＮの利用要求があった場合には、ＰＩＮ保存部２３は何も返さないか、エラーを返す処理を行う。
【００３６】
アプリ取得部１２はさらに、ＨＴＴＰ処理部１１を介してＰＦアプリ配布サーバ５と通信してＰＦアプリ９を取得するＰＦアプリ取得部２６（第１アプリ取得部）２６と、同じくＨＴＴＰ処理部１１を介してＷｅｂアプリ配布サーバ４と通信してＷｅｂアプリ１０を取得するＷｅｂアプリ取得部２７とを有する。
【００３７】
アプリキャッシュ部１３はさらに、ＰＦアプリ取得部２６で取得したＰＦアプリ９をアプリ蓄積部３０に格納するＰＦアプリキャッシュ部２８と、Ｗｅｂアプリ取得部２７で取得したＷｅｂアプリ１０をアプリ蓄積部３０に格納するＷｅｂアプリキャッシュ部２９とを有する。Ｗｅｂアプリ１０をキャッシュとしてアプリ蓄積部３０に蓄積する際の技術としてＷ３Ｃで規格化されているＨＴＭＬ５仕様のＡｐｐＣａｃｈｅ機能を利用してもよい。
【００３８】
次にＷＥＢアプリ実行部２２ａの詳細について説明する。ＷＥＢアプリ実行部２２ａはＷｅｂブラウザであるため、Ｗ３Ｃで規格化が進められているＷｅｂ  Ｓｔｏｒａｇｅ仕様に従って情報操作装置１内のアプリ蓄積部３０にＷｅｂアプリを記憶してもよい。また、ＷＥＢアプリ実行部２２ａは、ＲＦＣ６２６５で規定されたＨＴＴＰ  Ｃｏｏｋｉｅに従って情報操作装置１内のアプリ蓄積部３０にＷｅｂアプリを記憶してもよい。
【００３９】
図３−２は情報操作装置１内のアプリ実行部１６、アプリ取得部１２、及びアプリキャッシュ部１３の内部構成の別例を示すブロック図である。図３−１との違いは、ＰＦアプリ実行部２２ｃにＷｅｂＳｏｃｋｅｔクライアント処理部１８ａを備えていない点である。図３−１ではＰＦアプリ実行部２２ｃのＷｅｂＳｏｃｋｅｔクライアント処理部１８ａがＷｅｂＳｏｃｋｅｔのプロトコルでＰＩＮを情報出力装置２に送信する事を想定していたが、図３−２に示す構成ではＰＩＮはＷｅｂアプリからの指示でＷｅｂＳｏｃｋｅｔクライアント処理部１８を使ってＷｅｂＳｏｃｋｅｔのプロトコルでＰＩＮを情報出力装置２に送信する。
【００４０】
図３−３は情報操作装置１内のアプリ実行部１６、アプリ取得部１２、及びアプリキャッシュ部１３の内部構成の別例を示すブロック図である。図３−１との違いは、ＰＦアプリ実行部２２ｄに機器操作命令送信部１９ａを備えている点である。機器操作命令送信部１９ａは、ＰＦアプリからの命令に基づいて機器操作命令をＷｅｂＳｏｃｋｅｔクライアント処理部１８ａを使って情報出力装置２に送信する処理を行う。すなわち図２で示した機器操作命令送信部１９と同等の処理を行う。この場合、情報操作装置１はＷｅｂＳｏｃｋｅｔのプロトコルで通信を行うためのクライアント処理を行う処理部として、ＷｅｂＳｏｃｋｅｔクライアント処理部１８とＷｅｂＳｏｃｋｅｔクライアント処理部１８ａの両方を備えていてもよいし、機器操作命令送信部１９は備えておらずすべての機器操作命令を機器操作命令送信部１９ａから発行するようにしてもよい。また、Ｗｅｂアプリ実行部２２ｅで実行されるＷｅｂアプリ１０からの機器操作命令もＰＦアプリ実行部２２ｄへと送信される。
【００４１】
図４は第１の実施形態に係る情報出力装置２の内部構成を示すブロック図である。図４の情報出力装置２は、ＨＴＴＰ処理部３１と、チューナー部３２、画面出力部３３、機器操作命令処理部３４、リモコン命令処理部３５、ＰＩＮ管理部３９、ＰＩＮ検査部４４、ＷｅｂＳｏｃｋｅｔサーバ処理部４０、検索処理部４１、アプリ出所検査部４３、Ｗｅｂアプリ取得部２７、及びＷＥＢアプリ実行部２２を有する。
【００４２】
ＨＴＴＰ処理部３１（第２のネットワークインタフェース）は、Ｗｅｂサーバとの間で、ＨＴＴＰのプロトコルで通信し、後述するＷｅｂアプリを取得するのに必要なＨＴＴＰクライアント処理及びＴＣＰ/ＩＰ処理、リンクレイヤ処理・物理レイヤ処理を行う。チューナー部３２は、アンテナ等から受信した放送波から、特定の放送番組や番組関連情報、ＷＥＢアプリ実行部２２で実行するＷｅｂアプリ、ＷＥＢアプリ実行部２２で実行するＷｅｂアプリの場所を示すＵＲＬを抽出し、放送番組や番組関連情報のデコード処理を行う。
【００４３】
画面出力部３３は、チューナー部３２から出力された動画データや音声データを不図示の内部液晶モニターや外部出力インターフェイスに出力する。外部出力インターフェイスとは、例えばＨＤＭＩ（High-Definition  Multimedia  Interface）やコンポジット、Ｓ−ＶＩＤｅｏ、コンポーネントのようなインターフェイスのことを指す。
【００４４】
機器操作命令処理部３４は、アプリ出所検査部４３とＰＩＮ検査部４４の検査結果に基づき、情報操作装置１や赤外線リモコンから受信した機器操作命令を処理し、チューナー部３２を制御したり、チューナー部３２から番組関連情報を取得したり、画面出力部３３に表示する映像等を切り替える指示を送ったりする。
【００４５】
リモコン命令処理部３５は、不図示の赤外線リモコンから受信した命令を処理し、機器操作命令処理部３４にその命令を通知する処理を行う。なお、リモコン命令処理部３５は必須の構成ではない。
【００４６】
ＰＩＮ管理部３９（暗証コード管理部）は情報出力装置毎に対応するパスワード(暗証コード、より具体的にはＰＩＮコード、以下ＰＩＮと省略して表記する)を管理する。ＰＩＮの生成方法として、情報出力装置２の工場出荷時にＰＩＮの値を書きこむ方法、情報出力装置２が不図示の乱数生成器を用いて乱数を生成し、その乱数をＰＩＮの値とする方法、情報出力装置２がユーザの指示に基づき赤外線リモコン命令を経由してＰＩＮを生成する命令を受信し、不図示の乱数生成器を用いて乱数を生成してＰＩＮの値とする方法、情報出力装置２がユーザの指示に基づき赤外線リモコン命令を経由して文字列データや数字列データを受信し、その受信したデータをＰＩＮの値とする方法、ＨＴＴＰ処理部３１のＭＡＣアドレスを元に生成する方法、それらを組み合わせる方法などがあり、いずれを採用してもよい。
【００４７】
ＰＩＮ検査部４４（暗証コード検査部）は情報操作装置１からＷｅｂＳｏｃｋｅｔのコネクションで送信されてきたＰＩＮがＰＩＮ管理部３９に登録されている値と一致するか否か検査を行い、その結果を機器操作命令処理部３４に通知する処理を行う。
【００４８】
ＷｅｂＳｏｃｋｅｔサーバ処理部４０（Ｗｅｂｓｏｃｋｅｔ処理部、及び第１のネットワークインタフェース、機器操作命令受信部、及び出所情報受信部に相当）は、ＲＦＣ６４５５規格で定められたＷｅｂＳｏｃｋｅｔと呼ばれるプロトコルに従って情報操作装置１と通信を行うためのサーバ処理を行う。ＷｅｂＳｏｃｋｅｔサーバ処理部４０は、機器操作命令やＰＩＮなど情報操作装置１から送信されるデータを受信し、ＰＩＮ検査部４４やアプリ出所検査部４３、機器操作命令処理部３４にデータを振り分ける。
【００４９】
検索処理部４１は、後述する情報操作装置１からの装置検索要求に応答して自装置の名前やＩＰアドレス、ＷｅｂＳｏｃｋｅｔサーバ処理部４０のＴＣＰポート番号を返信する。装置検索のプロトコルとして、ＤＬＮＡ(Digital  Living  Network  Alliance)規格や、ＵＰｎＰ(Universal  Plug  and  Play)規格で定められた方式、あるいはＮｅｔＢＩＯＳ(Network  Basic  Input  Output  System)による名前検索方式を用いてもよい。このように、検索処理部４１は、情報操作装置１からの装置検索要求に応答して、自装置の名前やＩＰアドレス等を返信するためのネットワークセッション確立処理を行う。なお、この検索処理部４１は必須の構成ではない。
【００５０】
アプリ出所検査部４３は、情報操作装置１から送信されてＷｅｂＳｏｃｋｅｔサーバ処理部４０で受信した機器操作命令に含まれるヘッダ情報が正しいかどうかの検査処理を行い、その結果を機器操作命令処理部３４に通知する。このために、アプリ出所検査部４３は、Ｗｅｂアプリ実行部２２に対してＷｅｂアプリ実行部２２で実行中のＷｅｂアプリの出所、すなわちＷｅｂアプリをダウンロードしたＷｅｂサーバのドメイン名を問い合わせ、出所情報（ドメイン名）を取得する処理を行う。
【００５１】
Ｗｅｂアプリ取得部２７はチューナー部３２によって受信した放送波の中に含まれるＵＲＬを元にＷｅｂアプリ配布サーバ４と通信を行い、ＨＴＴＰ処理部３１を使ってＷｅｂアプリを取得する処理を行う。ＷＥＢアプリ実行部２２は、汎用のＷｅｂブラウザで実現され、Ｗｅｂアプリ取得部２７で取得したＷｅｂアプリまたはチューナー部３２から取得したＷｅｂアプリを実行する。ＷＥＢアプリ実行部２２は、現在実行中のＷｅｂアプリの出所情報を管理する。すなわち、ＷＥＢアプリ実行部２２は、現在実行中のＷｅｂアプリを取得したＷｅｂアプリ配布サーバ４のドメイン名を管理する。もしＷＥＢアプリ実行部２２がＷｅｂアプリの実行を別のＷｅｂアプリに切り替えたとするならば、その切り替え後のＷｅｂアプリを取得したＷｅｂアプリ配布サーバ４のドメイン名を管理する。
【００５２】
図５は情報出力装置２が画面出力部３３を使って表示する画面の例を表す。放送波を受信する通常のデジタル放送受信装置(いわゆるデジタルテレビ)は、放送番組を動画として画面全体に表示する。ここでは、画面出力部３３にＷＥＢアプリ実行部２２で生成した画面と、チューナー部３２でデコードした動画の放送番組を同時に出力する事を想定する。なお、図５ではＧＵＩ部分を動画部分とは分離してＬ字型に表示しているが、ＧＵＩ部分を動画部分に重ねあわせて(オーバーレイさせて)表示させてもよい。また、ＷＥＢアプリ実行部２２は必ずしも図５に示したようなＧＵＩ画面を生成する必要はなく、情報操作装置１にデータを送信するなどバックグラウンドで動作させてＧＵＩを一切表示せずに実行していてもよい。
【００５３】
図６はＷｅｂアプリ配布サーバ４の内部構成を示すブロック図である。Ｗｅｂアプリ配布サーバ４は、情報操作装置１や情報出力装置２とＨＴＴＰ、又はＨＴＴＰＳのプロトコルで通信し、情報操作装置１や情報出力装置２からの要求に従ってＷｅｂアプリを配布する。図５のＷｅｂアプリ配布サーバ４は、ＨＴＴＰサーバ処理部５１、Ｗｅｂアプリ蓄積部５２、Ｗｅｂアプリ登録処理部５３、及びＷｅｂアプリ配布部５４を有する。
【００５４】
ＨＴＴＰサーバ処理部５１は、情報操作装置１や情報出力装置２とＨＴＴＰ又はＨＴＴＰＳのプロトコルで通信し、Ｗｅｂアプリの取得要求やＷｅｂアプリの配布処理に必要なＨＴＴＰサーバ処理及びＴＣＰ/ＩＰ処理、リンクレイヤ処理・物理レイヤ処理を行う。Ｗｅｂアプリ蓄積部５２は、Ｗｅｂアプリを蓄積する処理を行う。Ｗｅｂアプリは固有のＩＤ(ＷｅｂアプリＩＤ)が付与されて蓄積される。
【００５５】
Ｗｅｂアプリ登録処理部５３は、ＷｅｂアプリをＷｅｂアプリ蓄積部５２に蓄積する処理を行う。図６ではＨＴＴＰサーバ処理部５１を介してネットワーク経由でＷｅｂアプリを蓄積する構成について示したが、必ずしもネットワーク経由で蓄積する必要はなく、ＵＳＢメモリなど外部メモリを経由してＷｅｂアプリを蓄積してもよい。なお、このＷｅｂアプリ登録処理部５３は必須の構成ではない。Ｗｅｂアプリ配布部５４は、情報操作装置１や情報出力装置２からアプリに固有のＩＤを指定してＷｅｂアプリを送信するようネットワークを経由して指示を受けると、Ｗｅｂアプリ蓄積部５２に蓄積されたＷｅｂアプリの中から指定されたＩＤに対応するＷｅｂアプリを検索し、そのＷｅｂアプリに属する各種リソースをＨＴＴＰサーバ処理部５１を経由して情報操作装置１や情報出力装置２に送信する処理を行う。なお、アプリに固有のＩＤはＵＲＬでもよい。また、Ｗｅｂアプリ配布サーバ４は複数のＷｅｂアプリを配布してもよいが、その場合にはＷｅｂアプリ配布サーバ４の同一ドメインの中に複数のＷｅｂアプリを格納してもよいし、Ｗｅｂアプリごとに異なるドメインとなるようにＷｅｂアプリを格納してもよい。同一ドメインの中に複数のＷｅｂアプリを格納する場合とは、例えば、ＷｅｂアプリＸとＷｅｂアプリＹをdomain1.example-Webserver.comで示すドメインに格納するようにする事を示す。具体的な例としては、ＷｅｂアプリＸを取得するためのＵＲＬをhttp://domain1.example-Webserver.com/appIDX/などとし、ＷｅｂアプリＹを取得するためのＵＲＬをhttp://domain1.example-Webserver.com/appIDY/などとするような場合を指す。
【００５６】
図７は第１の実施形態に係るＰＦアプリ配布サーバ５の内部構成を示すブロック図である。ＰＦアプリ配布サーバ５は、情報操作装置１とＨＴＴＰ、又はＨＴＴＰＳのプロトコルで通信し、情報操作装置１からの要求に基づいてＰＦアプリを配布する処理を行う。図７のＰＦアプリ配布サーバ５は、ＨＴＴＰサーバ処理部６１、ＰＦアプリ蓄積部６２、ＰＦアプリ登録処理部６３、及びＰＦアプリ配布部６４を有する。ＨＴＴＰサーバ処理部６１は、Ｗｅｂアプリ配布サーバ４のＨＴＴＰサーバ処理部５１と同等の処理を行う。
【００５７】
ＰＦアプリ蓄積部６２は、ＰＦアプリを蓄積する処理を行う。ＰＦアプリは固有のＩＤが付与されて蓄積される。なお、Ｗｅｂアプリは上述したように静止画データやテキストデータなど複数のリソース（ファイル）で構成されることが一般的だが、ＰＦアプリはそれらリソースを一つのファイルに圧縮して配布する。従って、ＰＦアプリは固有のＩＤにつき一つのＰＦアプリファイルとして提供される。ＰＦアプリ登録処理部６３は、ＰＦアプリをＰＦアプリ蓄積部６２に蓄積（登録）する処理を行う。図７ではＨＴＴＰサーバ処理部６１を介してネットワーク経由でＰＦアプリを登録する構成について示したが、必ずしもネットワーク経由で登録する必要はなく、ＵＳＢメモリなど外部メモリを経由してＷｅｂアプリを登録してもよい。なお、このＰＦアプリ登録処理部６３は必須の構成ではない。
【００５８】
ＰＦアプリ配布部６４は、情報操作装置１からアプリに固有のＩＤを指定してＰＦアプリを送信するようネットワークを経由して指示を受けると、ＰＦアプリ蓄積部６２に蓄積されたＰＦアプリの中から指定されたＩＤに該当するＰＦアプリを検索し、そのＰＦアプリに該当するファイルをＨＴＴＰサーバ処理部６１を経由して情報操作装置１に送信する。
【００５９】
図８は情報操作装置１、情報出力装置２、ＰＦアプリ配布サーバ５、及びＷｅｂアプリ配布サーバ４の処理手順を示すフローチャートである。図８に示すように、処理シーケンスは大きく分けて、情報操作装置１セットアップフェーズ、情報出力装置操作フェーズの２つのフェーズを有する。まずここでは全体処理シーケンスを示し、各フェーズの詳細な処理シーケンスに関しては後述する。
【００６０】
情報操作装置１セットアップフェーズでは、情報操作装置１がＰＦアプリ配布サーバ５と通信し、情報操作装置１がＰＦアプリをＰＦアプリ配布サーバ５からダウンロードして情報操作装置１にインストールする処理を行う（ステップＳ１０１）。情報出力装置操作フェーズは、レベル１とレベル２の二つのフェーズに分かれている。レベル１では、情報操作装置１は、ＰＦアプリが指定したＵＲＬに基づき、Ｗｅｂアプリ配布サーバ４と通信し、ＷｅｂアプリをＷｅｂアプリ配布サーバ４からダウンロードする処理と（ステップＳ１０２）、入力受信部１５で入力したＰＩＮを情報操作装置１内に保存する処理とを行う（ステップＳ１０３）。なお、情報操作装置１上でＷｅｂアプリをダウンロードして実行する処理のトリガーは、情報操作装置１セットアップフェーズにてインストールしておいたＰＦアプリが行う。
【００６１】
レベル２では、情報操作装置１は、ＷＥＢアプリを使用して情報出力装置２と通信し、ＰＩＮと機器操作命令を送信し（ステップＳ１０４）、情報出力装置２を操作する（ステップＳ１０５）。
【００６２】
図９は情報操作装置セットアップフェーズの情報操作装置１とＰＦアプリ配布サーバ５の処理手順を示すシーケンス図である。なお、情報操作装置１に情報出力装置２の操作用のＰＦアプリがプリインストールされている場合は図９に示したシーケンスを実行する必要はない。まず情報操作装置１はＰＦアプリ配布サーバ５からＰＦアプリの一覧を取得する（ステップＳ２０１）。その時の情報操作装置１の画面出力部１７の画面に出力されるＰＦアプリの一覧の表示例を図１０に示す。このアプリ一覧は、例えばＷｅｂコンテンツとして情報操作装置１のＷＥＢアプリ実行部２２ａで画面を生成すればよい。その場合のＷｅｂコンテンツは予め機器出荷時に設定されたＵＲＬを元にＰＦアプリ配布サーバ５から、一覧を表示させるＷｅｂコンテンツを取得するようにすればよい。
【００６３】
図１０に示す例では、ＰＦアプリの一覧をアイコンとして表示し、そのアイコンの下に簡単な説明を記述している。情報操作装置１のユーザは、マウスやタッチパッド等を利用して入力受信部１５からＰＦアプリを選択する（ステップＳ２０２）。図１０の例では、ＰＦアプリＡが情報出力装置２操作用のＰＦアプリであるため、このＰＦアプリが選択されたと仮定する。するとＰＦアプリＡに関連づけられたアプリ固有ＩＤを含むＰＦアプリ送信要求(ＵＲＬ)が情報操作装置１からＰＦアプリ配布サーバ５に送信される（ステップＳ２０３）。情報操作装置１はＨＴＴＰ処理部３１を使ってＨＴＴＰ（、又はＨＴＴＰＳ）のプロトコルでＰＦアプリ送信要求をＰＦアプリ配布サーバ５に送信する。
【００６４】
ＰＦアプリ配布サーバ５は、ＰＦアプリ蓄積部６２に蓄積されたＰＦアプリ群の中から、情報操作装置１によって指定されたアプリ固有ＩＤを持つＰＦアプリを検索して取得する（ステップＳ２０４）、取得したＰＦアプリをアプリ送信要求に対する応答としてＰＦアプリ配布部６４は情報操作装置１に送信する（ステップＳ２０５）。情報操作装置１は、ＰＦアプリ取得部２６を利用して、ＰＦアプリＡをＰＦアプリ配布サーバ５から受信してダウンロードし（ステップＳ２０６）、インストールする（ステップＳ２０７）。インストールされたＰＦアプリＡはアプリ蓄積部３０に保存される。
【００６５】
図１１−１はＰＦアプリの機能構成を示すブロック図である。ＰＦアプリは、ＰＦアプリ初期化命令８１、ローカルＷｅｂアプリ８２、ＷｅｂアプリＵＲＬ８３、Ｗｅｂアプリ実行部呼び出し命令８４、及びリソース８５を有する。ＰＦアプリ初期化命令８１は、初期化処理などＰＦアプリをＰＦアプリ実行部２２ｂで実行させる際に最初に実行する汎用の処理と、Ｗｅｂアプリ実行部呼び出し命令８４を呼び出す処理を行うプログラムである。
【００６６】
ローカルＷｅｂアプリ８２は、ＰＩＮがＰＩＮ保存部２３に保存されているかどうかを検査する。このローカルＷｅｂアプリ８２はＨＴＭＬ４／５、又はＪａｖａＳｃｒｉｐｔ（登録商標）によって記述されており、情報操作装置１のＷＥＢアプリ実行部２２ａ(ブラウザ)で実行される。ローカルＷｅｂアプリ８２はＰＦアプリのパッケージ内に含めてもよいし、Ｗｅｂアプリ配布サーバ４に置き、アプリ取得部１２を使ってネットワーク経由で取得するようにしてもよい。ネットワーク経由で取得する場合、ローカルＷｅｂアプリ８２はＰＦアプリには含まれない。ＷｅｂアプリＵＲＬ８３はＷｅｂアプリの場所を示すＵＲＬである。ＷｅｂアプリがＰＦアプリのパッケージ内に含めて配布される場合は情報操作装置１内のローカルＷｅｂアプリが保存されたロケーションを示し、Ｗｅｂアプリ配布サーバ４に置かれている場合は、Ｗｅｂアプリ配布サーバ４のローカルＷｅｂアプリが置かれているロケーションを示す。一方、ＷｅｂアプリがＰＦアプリのパッケージ内に含まれる場合は、ローカルＷｅｂアプリが置かれているロケーション（ファイルパス）を示す。以下では、まずＷｅｂアプリがＰＦアプリのパッケージ内に含めて配布される場合について説明する。
【００６７】
Ｗｅｂアプリ実行部呼び出し命令８４はＷｅｂアプリＵＲＬ８３を引数としてＷＥＢアプリ実行部２２ａを起動するプログラムである。すなわち、ＷｅｂアプリＵＲＬ８３で示すＷｅｂアプリがＷＥＢアプリ実行部２２ａで実行されることになる。リソース８５は、情報操作装置１にインストールされたＰＦアプリ一覧を表示させる際のＰＦアプリのアイコン(静止画データ)や説明文、バージョン番号などである。
【００６８】
図１２−１は第１の実施形態における情報出力装置操作フェーズ(レベル１)の情報操作装置１とＷｅｂアプリ配布サーバ４との間の処理手順を示すシーケンス図である。図１２に示されるように、まず情報操作装置１はＰＦアプリ実行部２２ｂでＰＦアプリを実行する（ステップＳ３０１）。ＰＦアプリ実行のトリガーは入力受信部１５によるＰＦアプリ選択によって行われる。ＰＦアプリはＰＦアプリ初期化命令８１で初期化処理等を実行した後、Ｗｅｂアプリ実行部呼び出し命令８４を実行する。Ｗｅｂアプリ実行部呼び出し命令８４はＷｅｂアプリＵＲＬ８３で指定され、ＰＦアプリに含まれるローカルＷｅｂアプリ(Ｗｅｂアプリ＃１)をＷＥＢアプリ実行部２２ａで実行する（ステップＳ３０２）。
【００６９】
以降の処理はＷＥＢアプリ実行部２２ａでなされる。上述のようにＷｅｂアプリ＃１はＰＩＮが情報操作装置１のＰＩＮ保存部２３に保存されているかどうかを検査する（ステップＳ３０３）。Ｗｅｂアプリ＃１はＰＩＮ保存部２３にＰＩＮが保存されていないと判断した場合には（ステップＳ３０３：Ｎｏ）、ＷＥＢアプリ実行部２２ａは、ローカルＷｅｂアプリ＃１内に記述されたＰＩＮ入力用のＷｅｂアプリ＃２のＵＲＬを参照して、そのＵＲＬが示すＷｅｂアプリ(Ｗｅｂアプリ＃２)をＷｅｂアプリ配布サーバ４から取得して実行させる（ステップＳ３０６〜Ｓ３０９）。具体的には情報操作装置１はＨＴＴＰ処理部３１を使ってＨＴＴＰ（、又はＨＴＴＰＳ）のプロトコルでＷｅｂアプリ送信要求をＷｅｂアプリ配布サーバ４に送信し、Ｗｅｂアプリ＃２をＷｅｂアプリ配布サーバ４から取得して実行させる。そして、Ｗｅｂアプリ＃２は入力受信部１５で入力されたＰＩＮを取得し（ステップＳ３１０）、ＰＩＮの値をＰＩＮ保存部２３に保存する（ステップＳ３１１）。
【００７０】
この例ではＷｅｂアプリ＃２の保存先はＷｅｂアプリ配布サーバ４としているため、情報操作装置１はＷｅｂアプリ配布サーバ４からＷｅｂアプリ＃２を取得し、ＷＥＢアプリ実行部２２ａで実行する。
【００７１】
一方、ＰＩＮがＰＩＮ保存部２３に既に保存されていると判断された場合（ステップＳ３０３：Ｙｅｓ）、ＷＥＢアプリ実行部２２ａは、ローカルＷｅｂアプリ＃１内に記述されたＷｅｂアプリ＃３のＵＲＬを参照して、そのＵＲＬが示すＷｅｂアプリ(Ｗｅｂアプリ＃３)を実行させる。なお、Ｗｅｂアプリ＃１のＰＩＮが蓄積されているかどうかを検査する処理の前に、情報操作装置１の検索処理部２０を利用して、これから操作する対象となる情報出力装置２を検索し、検索された情報出力装置２に固有のＩＤを取得してもよい。
【００７２】
図１３は、検索処理部２０で検索した結果、情報操作装置１の画面出力部１７の画面に取得した情報出力装置２の一覧をアイコンとして表示する例を示している。情報操作装置１のユーザはマウスやタッチパッドを利用して入力受信部１５から情報出力装置２を選択する。ここでは、情報出力装置Ａを選択したとする。
【００７３】
次に、Ｗｅｂアプリ＃２について説明する。Ｗｅｂアプリ＃２は、情報操作装置１の入力受信部１５からＰＩＮを入力させるユーザインターフェイスを提供し、入力受信部１５でＰＩＮを取得して、ＰＩＮ保存部２３に保存する処理を行うＷｅｂアプリである（ＰＩＮ入力用Ｗｅｂアプリ）。情報操作装置１がＷｅｂアプリ＃２を取得するために、Ｗｅｂアプリ配布サーバ４に送信するＵＲＬの例としては、http://example-Webserver.com/input＿PIN.php?appＩＤ=Xなどがある。
【００７４】
この例では、Ｗｅｂアプリ配布サーバ４"example-WEBserver.com"に対して、Ｗｅｂアプリの固有ＩＤとして“Ｘ”を指定してＷｅｂアプリ取得要求を送信している。また、別のＵＲＬの例としては、http://example-Webserver.com/appＩＤX/などがあげられる。この例ではＷｅｂアプリがディレクトリ別にＷｅｂアプリ配布サーバに格納されていることを想定している。なお、ここでは、ＷｅｂアプリごとにＰＩＮ入力ユーザインターフェイスを異なるようにする例を示したが、Ｗｅｂアプリ配布サーバ４は複数のＷｅｂアプリで同一のＰＩＮ入力ユーザインターフェイスを提供してもよい。
【００７５】
次に、Ｗｅｂアプリ＃２は、図１４に示すように、情報出力装置２のＰＩＮの入力を促すメッセージを情報操作装置１の画面出力部１７の画面に表示させる。入力受信部１５から情報出力装置２のＰＩＮが入力されると、Ｗｅｂアプリ＃２は機器操作Ｗｅｂアプリ(Ｗｅｂアプリ＃３)の要求メッセージを生成し、Ｗｅｂアプリ配布サーバ４に送信する。情報操作装置１はＨＴＴＰ処理部３１を使ってＨＴＴＰ（、又はＨＴＴＰＳ）のプロトコルで機器操作Ｗｅｂアプリの取得要求メッセージをＷｅｂアプリ配布サーバ４に送信する。このとき、ステップＳ３１０で取得したＰＩＮをＷｅｂアプリ＃３が利用できるようにしておく必要がある。
【００７６】
ＰＩＮを保存しておく方法として、ブラウザのｃｏｏｋｉｅにファイルとして保存しておく方法と、ハッシュフラグメントとして保存しておく方法の二通りがある。ｃｏｏｋｉｅとして保存しておく場合、Ｗｅｂアプリ＃２はＰＩＮの値がＷｅｂアプリ＃３で取得可能なようにＵＲＬの範囲を設定しておく。Ｗｅｂアプリ＃３はＰＩＮの値をｃｏｏｋｉｅから取得する際、ＰＩＮ保存部２３にてＷｅｂアプリ＃３で取得可能であると判定されるが、Ｗｅｂアプリ＃３で取得可能なように設定しておいたためこの判定は許可される。一方、ハッシュフラグメントとしてＰＩＮを保存する場合、Ｗｅｂアプリ＃２はＰＩＮ画面入力用のプログラムを以下のように構成すればよい。
【００７７】
<form  method="POST"  action="http://example-Webserver.com/Ｗｅｂapp3.php?getＷｅｂapp.php#">
<input  type="text"  name="ＰＩＮ">
<input  type="submit"  value="送信">
【００７８】
ここで、ＰＩＮが入力された場合、Ｗｅｂアプリ＃２はＷｅｂアプリ配布サーバ４に対してＷｅｂアプリ＃３を取得するメッセージを送信するように指示している。ハッシュフラグメントのためＰＩＮはＷｅｂアプリ配布サーバ４には送信されない。しかし、Ｗｅｂアプリ＃３は自身のＵＲＬを取得する事で、そのハッシュフラグメントに含まれるＰＩＮの値を取得することができる。なお、ＰＩＮ入力用Ｗｅｂアプリの構成を容易にするために、Ｗｅｂアプリ配布サーバ４にＰＩＮの値を送信するようにしてもよい。
【００７９】
以上では、ＰＦアプリ配布サーバ５が配布するＰＦアプリにローカルＷｅｂアプリを含む場合の形態について説明したが、ＰＦアプリ配布サーバ５が配布するＰＦアプリにＷｅｂアプリを含めない形態も可能である。図１１−２はローカルＷｅｂアプリを含めない場合のＰＦアプリの構成を示すブロック図である。図１１−１との違いはローカルＷｅｂアプリ＃１がない点と、ＷｅｂアプリＵＲＬ８３の値がローカルＵＲＬを指すのではなく、Ｗｅｂアプリ＃４のＵＲＬを指す点が異なる。
【００８０】
図１２−２はＰＦアプリにローカルＷｅｂアプリが含まれない場合における情報出力装置操作フェーズの情報操作装置１、Ｗｅｂアプリ配布サーバ４の処理手順を示すシーケンス図である。まず、ＰＦアプリが選択されて実行されることで処理が開始される（ステップＳ４０１）。ＰＦアプリはＰＦアプリ初期化命令８１で初期化処理等を実行した後、Ｗｅｂアプリ実行部呼び出し命令８４を実行する。Ｗｅｂアプリ実行部呼び出し命令８４はＷｅｂアプリＵＲＬ８３で指定されたＷｅｂアプリ(Ｗｅｂアプリ＃４)をＷＥＢアプリ実行部２２ａで実行しようとする（ステップＳ４０２）。この時、Ｗｅｂアプリ＃４はＷｅｂサーバ上のＵＲＬを示している。従って、情報操作装置１のＷｅｂアプリ取得部２７はＵＲＬの情報を元にＷｅｂアプリ＃４を取得するようネットワーク経由でＷｅｂアプリ配布サーバ４に要求する（ステップＳ４０３）。
【００８１】
具体的には情報操作装置１のＷｅｂアプリ取得部２７はＨＴＴＰ処理部１１を使ってＨＴＴＰ（、又はＨＴＴＰＳ）のプロトコルでＷｅｂアプリ（Ｗｅｂアプリ＃４）取得要求をＷｅｂアプリ配布サーバ４に送信する。この要求は通常のＨＴＴＰ  ＧＥＴリクエストで行えばよい。Ｗｅｂアプリ配布サーバ４は応答としてＷｅｂアプリ＃４を返す（ステップＳ４０４、Ｓ４０５）。情報操作装置１は取得したＷｅｂアプリ＃４をＷＥＢアプリ実行部２２ａで実行する（ステップＳ４０６）。以降の処理はＷＥＢアプリ実行部２２ａでなされる。Ｗｅｂアプリ＃１とＷｅｂアプリ＃４は配置場所が違うが、処理の内容は同一でよい。すなわち、ＰＩＮが情報操作装置１のＰＩＮ保存部２３に保存されているかどうかが検査される（ステップＳ４０７）。ＰＩＮ保存部２３にＰＩＮが蓄積されていないと判断した場合（ステップＳ４０７：Ｎｏ）、ローカルＷｅｂアプリ＃４内に記述されたＷｅｂアプリ＃２のＵＲＬを参照して、そのＵＲＬが示すＷｅｂアプリ(Ｗｅｂアプリ＃２)をＷｅｂサーバから取得して実行させる（ステップＳ４０８）。一方、蓄積されていると判断した場合には（ステップＳ４０７：Ｙｅｓ）、ステップＳ３０４へと移行する。
【００８２】
このように、ＰＦアプリにＷｅｂアプリを含めないことで、ＰＦアプリの全体ファイルサイズを削減することができるだけでなく、Ｗｅｂアプリ配布サーバ４上のＷｅｂアプリ＃４を編集する事でＰＦアプリをインストールした後でもＰＦアプリ実行後に実行されるＷｅｂアプリ(Ｗｅｂアプリ＃４)の挙動を変更することができるようになる。ＷｅｂアプリをＰＦアプリに含めてダウンロードさせる場合、Ｗｅｂアプリの開発者は情報操作装置１セットアップフェーズまでにＷｅｂアプリの実装を完了させておく必要がある。一方、ＷｅｂアプリをＰＦアプリに含めないでＵＲＬのみを含める場合、情報出力装置操作フェーズ(レベル１)でＷｅｂアプリをダウンロードするまではＷｅｂアプリの処理内容や画面デザインを確定させておく必要がない。また、情報出力装置操作フェーズ(レベル１)を実行するタイミングは各ユーザによって異なるため、キャラクターロゴや案内文など、ある期間にＷｅｂアプリ＃４に表示させる内容と、別な期間にＷｅｂアプリ＃４に表示させる内容を別々のものにすることができる。更には、ユーザごとにＷｅｂアプリ＃４で表示させる内容を切り替えることができるといった利点もある。
【００８３】
次に、情報出力装置操作フェーズ(レベル２)について説明する。図１５−１はこのフェーズにおける情報操作装置１と情報出力装置２の処理手順を示すシーケンス図である。図１５−１は図１２の続きの処理である。情報操作装置１はＷｅｂアプリ＃３を取得し、Ｗｅｂアプリ＃３をＷＥＢアプリ実行部２２ａにて実行する。Ｗｅｂアプリ＃３は情報出力装置２を操作するための画面を生成し、画面出力部１７に表示させる。
【００８４】
図１６はＷｅｂアプリ＃３が生成し、情報操作装置１の画面出力部１７に出力されるリモコン画面の表示例を示す。情報操作装置１のユーザはマウスやタッチパッドを利用して入力受信部１５からボタンやスクロールバーを操作して情報出力装置２を操作する。ここでは機器操作命令として、放送波に含まれるデータを情報出力装置２から取得したり操作したりする命令を想定する。上述のように放送波には映像・音声データである番組コンテンツだけでなく、その番組コンテンツに付随する出演者やロケ地などの番組関連データ、何時何分にどの出演者が出演するといった情報、番組内で出演者が利用した腕時計や洋服、化粧品などの物品に関する情報、将来の番組情報である番組表、放送局のロゴデータ、放送番組のロゴデータ、同一の放送局が放送する多チャンネルの番組表、同一放送局が放送する他チャンネルで現在放送中の番組情報など、放送局が制作して配信する様々なデータが配信される(これらを「番組関連情報」とする)。これらの番組関連情報を情報出力装置２から情報操作装置１に伝送し、情報操作装置１で参照する事ができれば、利用者は情報出力装置２で番組コンテンツを視聴しつつ、番組コンテンツと連動した番組関連情報を手元の情報操作装置１で閲覧したり、情報操作装置１を操作する事で興味のある番組関連情報を表示したりするといった事が可能となり、ユーザの利便性を向上させることができる。
【００８５】
しかしながら、これらの番組関連情報は放送局が生成した情報であるため、番組コンテンツと同様に不正なコピーや改変を防止する事が望ましい。すなわち、情報操作装置１で動作するＷｅｂアプリからの要求に基づいて、これらの番組関連情報を情報出力装置２から情報操作装置１に送信して情報操作装置１で動作するＷｅｂアプリが扱う場合について考える。仮にＷｅｂアプリが不正なものであるとすると、番組関連情報をコピーして放送局の意図に反した用途で利用してしまう恐れがある。それだけでなく、Ｗｅｂアプリが不正なものであった場合、情報出力装置２から取得した番組関連情報を改変し、視聴者に混乱を与える恐れがある。たとえば、番組表の情報を書き換えて本来放送される予定の番組の情報を表示させないといったようにされる恐れがある。さらに、情報出力装置２には情報出力装置２の位置を特定するための郵便局などの情報、番組の閲覧履歴や、ユーザが入力した番組アンケートの回答結果などの情報が蓄積されている場合がある。これらの情報はプライバシー情報に該当する場合があるため、Ｗｅｂアプリが不正なものであった場合、これらのプライバシー情報が漏えいする危険性がある。
【００８６】
情報出力装置２のＷＥＢアプリ実行部２２で実行されているＷｅｂアプリであれば、Ｗｅｂアプリが放送局の意図したものであるかどうかを、Ｗｅｂアプリを取得したＵＲＬやドメイン名を確認するなどして情報出力装置２内で判定する事が可能だが、情報操作装置１上で動作するＷｅｂアプリは、情報出力装置２から直接確認する事ができないため、情報操作装置１上で動作するＷｅｂアプリが正当なものであるかどうかを情報出力装置２が判定する手段がない。そこで以下に示す方法で、情報出力装置２が情報操作装置１から送信されてくる機器操作命令の実行、すなわち番組関連情報の送信に先立ち、情報操作装置１で動作するＷｅｂアプリが正当なものであるか否かを判定するようにする。そして、正当なものであると判定した場合に情報出力装置２が機器操作命令を実行する手段を提供する事で、かかるセキュリティ上の問題を解決することができる。
【００８７】
仮に情報操作装置１の利用者が現在情報出力装置２で表示している番組(放送番組コンテンツ)の番組関連情報の表示ボタンを押したとする。このとき、情報操作装置１のＷｅｂアプリは機器操作命令として、現在情報出力装置２で表示している番組(放送番組コンテンツ)の番組関連情報を情報出力装置２から情報操作装置１に送信するよう命令するコマンドを情報出力装置２に対して送信する。
【００８８】
Ｗｅｂアプリ＃３は入力受信部１５から上記命令を受信すると、ＰＩＮ保存部２３に保存しておいたＰＩＮを取得しようとする。ＰＩＮ保存部２３は、ＷｅｂアプリがＰＩＮをＰＩＮ保存部２３に保存する際、利用可能なＷｅｂアプリの範囲を指定する。ＷｅｂアプリからＰＩＮ保存部２３内に蓄積されたＰＩＮの取得要求があった時には、そのＷｅｂアプリが範囲内に一致するか否かを検査し、一致する時のみそのＷｅｂアプリにＰＩＮの利用を許可する処理を行い、許可する場合にはＰＩＮをＷｅｂアプリ＃３に渡す処理を行う。ＰＩＮを利用可能なＷｅｂアプリの範囲を指定する情報として、ＷｅｂアプリのＵＲＬの範囲を利用する。つまり、Ｗｅｂアプリ＃２はＰＩＮをＰＩＮ保存部２３に保存する際、ＵＲＬのドメインの範囲を指定する。ここではＷｅｂアプリ＃２は自身のＵＲＬのドメインを指定したとする。Ｗｅｂアプリ＃３がＰＩＮの利用をＰＩＮ保存部２３に要求する際、ＰＩＮ保存部２３はＷｅｂアプリがＷｅｂアプリ＃２が指定したドメインの範囲と一致するか否かを検査する。この場合はＷｅｂアプリ＃２と＃３は同一のＷｅｂアプリであるためＷｅｂアプリ＃３はＰＩＮを取得することができる。
【００８９】
このように、ＷｅｂアプリがＰＩＮの利用をＰＩＮ保存部２３に要求する際、ＰＩＮ保存部２３は、そのＷｅｂアプリを配布したＷｅｂアプリ配布サーバ４のドメインがＷｅｂアプリ＃２が指定した範囲と一致するか否かを検査する。仮にＷｅｂアプリ配布サーバ４とは別のドメイン名を持つＷｅｂサーバから送信されてきたＷｅｂアプリがＰＩＮの利用を要求した場合、Ｗｅｂアプリ＃２が指定したドメイン名とそのＷｅｂアプリのドメイン名は異なるため、ＰＩＮ保存部２３は別のＷｅｂサーバから送信されてきたＷｅｂアプリにＰＩＮを渡さない。これにより、ＰＩＮの利用を、ＰＩＮを保存したＷｅｂアプリに制限する、又はＰＩＮを保存したＷｅｂアプリが指定する特定のＷｅｂサーバ(Ｗｅｂアプリ配布サーバ４)から配布されたＷｅｂアプリのみＰＩＮを利用できるようにすることが実現でき、不正なＷｅｂアプリがＰＩＮを取得することを防止できる。
【００９０】
次に、Ｗｅｂアプリ＃３はＰＦアプリ実行部２２ｂのＷｅｂＳｏｃｋｅｔクライアント処理部１８ａを経由してＷｅｂＳｏｃｋｅｔのプロトコルにてＰＩＮを情報出力装置２に送信する。情報出力装置２は、情報操作装置１からＰＩＮを受信すると、ＰＩＮ検査部４４にてＰＩＮ管理部に格納されているＰＩＮの値と一致するか検査を行い、検査結果を機器操作命令処理部３４に通知する。そして情報出力装置２は検査結果をＷｅｂＳｏｃｋｅｔで情報操作装置１に返信する。情報出力装置２がＰＩＮの検査に失敗した場合、以降送信されてくる機器操作命令は実行しない。その場合、情報出力装置２はＷｅｂＳｏｃｋｅｔクライアント処理部１８ａによりＷｅｂＳｏｃｋｅｔコネクションを切断してもよい。
【００９１】
情報操作装置１は、ＰＩＮを送信した後、ＷｅｂＳｏｃｋｅｔのコネクションで機器操作命令を送信する。図３に示した通り、情報操作装置１はＰＩＮをＷｅｂＳｏｃｋｅｔクライアント処理部１８ａで送信し、機器操作命令はＷｅｂＳｏｃｋｅｔクライアント処理部１８で送信する。すなわち、ＰＩＮと機器操作命令を送信するＷｅｂＳｏｃｋｅｔコネクションは別々のものである。この時、情報操作装置１のＷｅｂＳｏｃｋｅｔクライアント処理部１８内のドメイン付与部７０はＷＥＢアプリ実行部２２ａで実行中のＷｅｂアプリのドメイン名（出所情報）をＷｅｂＳｏｃｋｅｔヘッダに付与する処理を行う。ここでＷｅｂアプリのドメイン名とは、ＷｅｂアプリをダウンロードしてきたＷｅｂアプリ配布サーバ４のドメイン名のことである。ＷｅｂＳｏｃｋｅｔにてＰＩＮを送信する方法として、たとえばＪＳＯＮ(JavaScript（登録商標）  Object  Notation)を用いればよい。
【００９２】
情報出力装置２は機器操作命令を受信すると、アプリ出所検査部４３にて機器操作命令のＷｅｂＳｏｃｋｅｔヘッダに含まれるＷｅｂアプリのドメイン名（出所情報）と、(情報出力装置２の)ＷＥＢアプリ実行部２２で実行中のＷｅｂアプリのドメイン名が一致するか検査を行い、検査結果を機器操作命令処理部３４に通知する。情報出力装置２のＷＥＢアプリ実行部２２で実行中のＷｅｂアプリのドメイン名とは、ＷＥＢアプリ実行部２２で実行中のＷｅｂアプリを取得したＷｅｂサーバのドメイン名のことである。アプリ出所検査部４３は、Ｗｅｂアプリ実行部２２から、現在実行中のＷｅｂアプリの出所情報（ドメイン名）を取得し、機器操作命令のＷｅｂＳｏｃｋｅｔヘッダに含まれるＷｅｂアプリのドメイン名（出所情報）と一致するか検査を行う。情報出力装置２がドメイン名の一致検査に失敗した場合、機器操作命令は実行しない。その場合、情報出力装置２はＷｅｂＳｏｃｋｅｔコネクションを切断してもよい。
【００９３】
機器操作命令処理部３４は命令判断部５０によってＰＩＮ検査部４４とアプリ出所検査部４３の検査が成功したか否かを判断し、成功した時のみ、情報操作装置１からＷｅｂＳｏｃｋｅｔで送信された機器操作命令を受け付けて、機器操作命令に従った処理を行う。例えば、機器操作命令が現在情報出力装置２で表示している番組(番組コンテンツ)の番組関連情報の取得要求であった場合、番組関連情報をチューナー部３２から取得し、ＷｅｂＳｏｃｋｅｔコネクションで送信する。
【００９４】
なお、情報操作装置１のＰＦアプリ実行部２２ｂのＷｅｂＳｏｃｋｅｔクライアント処理部１８ａ内のドメイン付与部７０はＷＥＢアプリ実行部２２ａで実行中のＷｅｂアプリのドメイン名（出所情報）をＷｅｂＳｏｃｋｅｔヘッダに付与する処理を行ってもよい。さらに、情報出力装置２はＰＩＮの検査に加えて、アプリ出所検査部４３にてＰＩＮを送受信するＷｅｂＳｏｃｋｅｔコネクションのヘッダに含まれるＷｅｂアプリのドメイン名（出所情報）と、情報出力装置２のＷＥＢアプリ実行部２２で実行中のＷｅｂアプリのドメイン名が一致するか検査を行い、検査結果を機器操作命令処理部３４に通知するようにしてもよい。この場合、機器操作命令処理部３４の命令判断部５０は、ＰＩＮを送受信するＷｅｂＳｏｃｋｅｔコネクションのヘッダに含まれるドメイン名と機器操作命令を送受信するＷｅｂＳｏｃｋｅｔコネクションのヘッダに含まれるドメイン名の両方のドメイン名がＷＥＢアプリ実行部２２で実行中のＷｅｂアプリのドメイン名と一致するか検査を行うようにしてもよいし、ＰＩＮを送受信するＷｅｂＳｏｃｋｅｔコネクションのヘッダに含まれるドメイン名の一致検査のみ行い機器操作命令を送受信するＷｅｂＳｏｃｋｅｔコネクションのヘッダに含まれるドメイン名の一致検査は省略するようにしてもよい。
【００９５】
なお、図３−１では情報出力装置２に対して、ＰＦアプリ実行部２２ｂのＷｅｂＳｏｃｋｅｔクライアント処理部１８ａにてＰＩＮを送信し、ＷＥＢアプリ実行部２２ａで実行するＷｅｂアプリがＷｅｂＳｏｃｋｅｔクライアント処理部１８にて機器操作命令を送信する形態を示した。すなわちＰＩＮを送信するＷｅｂｓｏｃｋｅｔコネクションと機器操作命令を送信するＷｅｂＳｏｃｋｅｔコネクションは別々のものであった。ところが、図３−２で示す構成ではＰＩＮも機器操作命令もＷｅｂＳｏｃｋｅｔクライアント処理部１８にて送信する構成を示している。また、図３−３で示す構成ではＰＩＮも機器操作命令もＷｅｂＳｏｃｋｅｔクライアント処理部１８ａにて送信する構成を示している。この図３−２、又は図３−３の構成の場合、ＰＩＮも機器操作命令も同一のＷｅｂＳｏｃｋｅｔコネクションで送信する。ＷｅｂＳｏｃｋｅｔヘッダはＷｅｂＳｏｃｋｅｔコネクションごとに付与されるため、図３−２、又は図３−３の構成ではＷｅｂＳｏｃｋｅｔコネクションが切断されない限りＷｅｂＳｏｃｋｅｔヘッダを１回しか送信しない。
【００９６】
図１５−２は図３−２、又は図３−３の構成における情報操作装置１と情報出力装置２の処理手順を示すシーケンス図である。ＷｅｂアプリがＷｅｂＳｏｃｋｅｔクライアント処理部１８にてＰＩＮを送信する（ステップＳ６０１）。この時、ＷｅｂＳｏｃｋｅｔクライアント処理部１８内のドメイン付与部７０はＷＥＢアプリ実行部２２ａで実行中のＷｅｂアプリのドメイン名（出所情報）をＷｅｂＳｏｃｋｅｔヘッダに付与する処理を行う。情報出力装置２はアプリ出所検査部４３にて機器操作命令のＷｅｂＳｏｃｋｅｔヘッダに含まれるＷｅｂアプリのドメイン名（出所情報）と、(情報出力装置２の)ＷＥＢアプリ実行部２２で実行中のＷｅｂアプリのドメイン名が一致するか検査を行い（ステップ６０２）、検査結果を機器操作命令処理部３４に通知する（ステップＳ６０３）。情報出力装置２がドメイン名の一致検査に失敗した場合（ステップＳ５０６：Ｎｏ）、機器操作命令は実行しない。その場合、情報出力装置２はＷｅｂＳｏｃｋｅｔコネクションを切断してもよい。情報出力装置２がドメイン名の一致検査に成功した場合（ステップＳ５０６：Ｙｅｓ）、機器操作命令処理部３４は、ＷｅｂＳｏｃｋｅｔクライアント処理部１８にて機械操作命令を送信し（ステップＳ６０４）、情報出力装置２の操作が実行される（ステップＳ６０５）
【００９７】
また、ユーザが情報操作装置１で入力するＰＩＮの値は、情報出力装置２のＰＩＮ保存部２３に保存されているＰＩＮと同じ値である必要がある。ユーザが情報出力装置２のＰＩＮを忘れてしまった場合を考慮し、情報操作装置１から情報出力装置２の画面出力部にＰＩＮを表示させるよう情報出力装置２に指示してもよい。図１７に情報出力装置２に表示されるＰＩＮの画面の表示例を示す。この例では情報出力装置２の画面出力部の全体にＰＩＮを表示させる画面を出力する例を示しているが、情報出力装置２の画面出力部にチューナー部３２で受信した放送コンテンツが表示されている場合、その放送コンテンツにオーバーレイさせる形でＰＩＮを表示させる画面を出力させてもよい。
【００９８】
図１８はこの形態における情報出力装置操作フェーズ(レベル１)の情報操作装置１とＷｅｂアプリ配布サーバ４の処理手順を示すシーケンス図である。Ｗｅｂアプリ＃２を実行し、ＰＩＮの入力を促すようなメッセージを情報操作装置１の画面出力部１７の画面に表示させるまで（ステップＳ３０１〜Ｓ３０９）は図１２で示した手順と同様である。図１８では、ＰＩＮの入力を促すようなメッセージを情報操作装置１の画面出力部１７の画面に表示させるととともに（ステップＳ７０２）、Ｗｅｂアプリ＃２は機器操作命令送信部１９に対してＰＩＮ表示要求を送信する（ステップＳ７０１）。機器操作命令送信部１９はＷｅｂＳｏｃｋｅｔクライアント処理部１８を使ってＷｅｂＳｏｃｋｅｔのコネクションでＰＩＮ表示要求を情報出力装置２に送信する。そして、ユーザが表示されたＰＩＮの値を見ながら入力受信部１５でＰＩＮを入力が完了すると（ステップＳ７０３）、機器操作命令送信部１９はＰＩＮ表示終了通知を行い（ステップＳ７０４）、ＰＩＮ表示は終了される（ステップＳ７０５）。
【００９９】
図１９はこの形態に係る情報出力装置２の内部構成を示すブロック図である。図４との違いはＰＩＮ表示操作部４９を備えている点である。ＰＩＮ表示操作部４９は、情報操作装置１から受信したＰＩＮ表示命令を取得し、ＰＩＮ管理部３９からＰＩＮを取得して情報出力装置２の画面出力部３３に出力する処理を行う。この際、この画面出力を行う前にアプリ出所検査部４３でヘッダ情報の検査処理を行ってもよい。
【０１００】
これにより、情報操作装置１のユーザは、情報出力装置２のＰＩＮ管理部３９に記憶されているＰＩＮの値を覚えておく必要がなく、情報出力装置２の画面出力部３３に表示されたＰＩＮを見ながら、情報操作装置１の入力受信部１５にてＰＩＮを入力することができるため、ユーザの利便性を向上させる事ができる。
【０１０１】
次に、情報操作装置１は、ＷｅｂＳｏｃｋｅｔクライアント処理部１８を使って情報出力装置２とＷｅｂＳｏｃｋｅｔのコネクションを確立し、情報出力装置２に対して、ＷｅｂＳｏｃｋｅｔのコネクションにてＰＩＮ表示終了通知を行う。この通知を受けて、情報出力装置２は画面出力部３３のＰＩＮ表示を終了する。
【０１０２】
以上の説明では、情報操作装置１が情報出力装置２に対してＰＩＮや機器操作命令を送信するためにＷｅｂＳｏｃｋｅｔのプロトコルを利用していたが、ＨＴＴＰ、又はＨＴＴＰＳのプロトコルを利用してもよい。
【０１０３】
図２０はＰＩＮや機器操作命令を送信するためにＨＴＴＰ、又はＨＴＴＰＳのプロトコルを利用する形態の情報操作装置１の内部構成を示すブロック図である。図２との違いはＷｅｂＳｏｃｋｅｔクライアント処理部１８がない点と、機器操作命令送信部１９がＨＴＴＰ処理部１１に接続されている点である。なお、情報操作装置１内のアプリ実行部１６、アプリ取得部１２、及びアプリキャッシュ部１３の内部構成として図３−２を用いる事を想定している。図２ではアプリ実行部１６からの命令に基づいて機器操作命令を送信する機器操作命令送信部１９はＷｅｂＳｏｃｋｅｔのプロトコルを用いていたが、図２０ではＨＴＴＰ処理部１１を用いてそれらを送信する。なお、図２のＷｅｂＳｏｃｋｅｔクライアント処理部１８内のドメイン付与部７０はＷＥＢアプリ実行部２２ａで実行中のＷｅｂアプリのドメイン名をＷｅｂＳｏｃｋｅｔヘッダに付与する処理を行っていたが、図２０ではＨＴＴＰ処理部１１がＷＥＢアプリ実行部２２ａで実行中のＷｅｂアプリのドメイン名をＨＴＴＰヘッダに付与する処理を行う。また、ＰＩＮと機器操作命令は同一のＨＴＴＰコネクションで伝送することを想定している。
【０１０４】
図２１はＰＩＮや機器操作命令をＨＴＴＰ、又はＨＴＴＰＳのプロトコルを利用して受信する形態の情報出力装置２の内部構成を示すブロック図である。図４との違いはＷｅｂＳｏｃｋｅｔサーバ処理部４０の代わりにＨＴＴＰサーバ処理部４５がある点である。なお、図４ではアプリ出所検査部４３は、ＷｅｂＳｏｃｋｅｔサーバ処理部４０で受信した機器操作命令に含まれるＷｅｂＳｏｃｋｅｔヘッダの情報が正しいかどうかの検査処理を行っていたが、図２１では情報操作装置１のＷｅｂアプリ実行部２２ａで実行されているＷｅｂアプリのドメイン名がＨＴＴＰヘッダに含まれるため、アプリ出所検査部４３は、その代わりの処理としてＨＴＴＰサーバ処理部４５で受信した機器操作命令が含まれるＨＴＴＰコネクションに含まれるヘッダ情報が正しいかどうかの検査処理を行う。具体的には、機器操作命令を送受信するＨＴＴＰコネクションに含まれるヘッダ情報と、情報出力装置２のＷＥＢアプリ実行部２２で実行中のＷｅｂアプリのドメイン名とが一致するか検査を行い、一致した場合には検査成功と判断する。
【０１０５】
次にＰＩＮや機器操作命令を送信するためにＨＴＴＰ、又はＨＴＴＰＳのプロトコルを利用する場合の情報出力装置操作フェーズ(レベル２)について説明する。図２２は情報操作装置１、及び情報出力装置２の処理手順を示すシーケンス図である。
【０１０６】
図１５−２との違いは、ＰＩＮ、及び機器操作命令がＨＴＴＰ、又はＨＴＴＰＳのプロトコルにて送受信される点である（ステップＳ８０１、Ｓ８０２、Ｓ８０３）。これらの処理以外は図１５−２と同様である。なお、情報操作装置１が情報出力装置２にＰＩＮを送信するメッセージの一例として、http://homeTV/PIN.php?appＩＤ=X&PIN=xxxxのような形式を採る。この例では、情報出力装置２は"homeTV"に対して、パラメタＰＩＮとしてＰＩＮの値を送信している。
【０１０７】
なお、これまでの説明では、Ｗｅｂアプリ＃１、Ｗｅｂアプリ＃２、及びＷｅｂアプリ＃３を初めてＷｅｂアプリ配布サーバ４から取得する場合のシーケンスについて述べてきたが、情報操作装置１が１度それらのＷｅｂアプリを取得したならば、Ｗｅｂアプリキャッシュ部１３がＷｅｂアプリ蓄積部５２に保存する。そして、次回以降にそれらのＷｅｂアプリを取得する場合にはその都度Ｗｅｂサーバから取得するのではなくＷｅｂアプリ蓄積部５２に保存されている内容を利用してもよい。このようにする事で、高速にＷｅｂアプリの読み込みを行い、機器の反応速度を速める事ができる。更には、ＷｅｂアプリがＷｅｂアプリ蓄積部５２に保存されている状態になれば情報操作装置１が情報出力装置２と接続可能な状態にある場合、仮に情報操作装置１がインターネットに接続していなくても情報出力装置２に機器操作命令を送信することができる。
【０１０８】
なお、これまでの説明ではＰＩＮの存在を確認するＷｅｂアプリ＃１と、機器操作ＷｅｂアプリであるＷｅｂアプリ＃３が異なるＷｅｂアプリである場合を説明してきたが、Ｗｅｂアプリ＃１とＷｅｂアプリ＃３は同一のＷｅｂアプリでもよい。その場合、Ｗｅｂアプリ＃１のＵＲＬはＷｅｂアプリ＃３と同一であり、Ｗｅｂアプリ＃３を取得する処理は省略され、Ｗｅｂアプリ＃１がＰＩＮの保存から機器操作命令の送信までを行う。
【０１０９】
これまで、情報操作装置１で動作するＷｅｂアプリから情報出力装置２に対して機器操作命令を送信する例について説明してきたが、それとは別に情報出力装置２で動作するＷｅｂアプリから情報操作装置１に命令を送信してもよい。
【０１１０】
その場合の情報出力装置２の構成を図２３に示す。図４との違いは、ＷＥＢアプリ実行部２２からＷｅｂＳｏｃｋｅｔサーバ処理部４０にデータが伝送されている点である。ＷＥＢアプリ実行部２２で動作するＷｅｂアプリは、ＷｅｂＳｏｃｋｅｔサーバ処理部４０を利用して、情報操作装置１にＷｅｂアプリを遷移させるように命令を送信する。この際、遷移先のＵＲＬをＷｅｂアプリ遷移命令に含めてもよい。またＷｅｂアプリが複数のフレームで構成されている場合、Ｗｅｂアプリ全体を遷移させるのではなく、その一部分を更新するように指示してもよい。
【０１１１】
この情報出力装置２に対応する情報操作装置１の構成を図２４に示す。図２との違いは、アプリ遷移命令受信部４９が新たに備わっている点である。アプリ遷移命令受信部４９ａはＷｅｂＳｏｃｋｅｔクライアント処理部１８から受信したＷｅｂアプリ遷移命令をアプリ実行部１６に通知する。そして図２５に示すように、アプリ遷移命令受信部４９ａはＷｅｂアプリ取得部２７に遷移先のＷｅｂアプリを取得するように通知し、ＷＥＢアプリ実行部２２ｌで新たに取得したＷｅｂアプリを実行する。なお、図２４及び図２５では機器操作命令を送信したのと同じＷｅｂＳｏｃｋｅｔコネクションを使い、アプリ遷移命令をＷｅｂＳｏｃｋｅｔクライアント処理部１８で受信する構成について示したが、アプリ遷移命令をＷｅｂＳｏｃｋｅｔクライアント処理部１８ａで受信してもよい。その場合の情報操作装置１内のアプリ実行部１６、アプリ取得部１２、及びアプリキャッシュ部１３の内部構成の一例を図２６に示す。
【０１１２】
図２６に示すように、情報操作装置１内のＰＦアプリ実行部２２ｆにはアプリ遷移命令受信部４９ａが含まれる。情報出力装置２からアプリ遷移命令をＷｅｂＳｏｃｋｅｔクライアント処理部１８ａで受信し、アプリ遷移命令受信部４９ａに受け渡す。アプリ遷移命令受信部４９ａはＷｅｂＳｏｃｋｅｔクライアント処理部１８から受信したＷｅｂアプリ遷移命令をアプリ実行部１６に通知し、アプリ実行部１６内のアプリ遷移命令受信部４９ａはＷｅｂアプリ取得部２７に遷移先のＷｅｂアプリを取得するようにＵＲＬを通知し、ＷＥＢアプリ実行部２２ｌで新たに取得したＷｅｂアプリを実行する。
【０１１３】
なお、図２３〜図２６に示した例では機器操作命令、又はＰＩＮを送信したのと同じＷｅｂＳｏｃｋｅｔコネクションを利用して情報出力装置２から情報操作装置１にアプリ遷移命令を送信する構成について示したが、機器操作命令やＰＩＮとは別のＷｅｂＳｏｃｋｅｔコネクションでアプリ遷移命令を送信してもよい。
【０１１４】
その場合の情報出力装置２の構成を図２７に示す。図２３との違いは、ＷＥＢアプリ実行部２２がアプリ遷移命令を送信する際、ＷｅｂＳｏｃｋｅｔサーバ処理部４０ではなくＷｅｂＳｏｃｋｅｔクライアント処理部１８ｂを利用して送信する点である。このように構成することで、ＷＥＢアプリ実行部２２とＷｅｂＳｏｃｋｅｔクライアント処理部１８ｂを汎用のブラウザとして構成する事ができる。図２７の情報出力装置２に対応する情報操作装置１の構成を図２８に示す。
【０１１５】
図２５との違いは、ＷｅｂＳｏｃｋｅｔサーバ処理部４０とアプリ遷移命令受信部４９ａをＰＦアプリ実行部２２ｇ内に備えている点である。ＷｅｂＳｏｃｋｅｔサーバ処理部４０は情報出力装置２のＷｅｂＳｏｃｋｅｔサーバ処理部４０と同様にＲＦＣ６４５５規格で定められたＷｅｂＳｏｃｋｅｔと呼ばれるプロトコルに従って情報操作装置１と通信を行うためのサーバ処理を行う。具体的には情報出力装置２のＷｅｂＳｏｃｋｅｔクライアント処理部から送信されるアプリ遷移命令を受信し、その命令をアプリ遷移命令受信部４９ａに受け渡す処理を行う。これにより、情報出力装置２の画面出力部に表示される放送コンテンツと連動して情報操作装置１内でＷｅｂアプリを表示させる事ができる。このシーケンス図を図２９に示す。
【０１１６】
例えば、ある時間帯にドラマのコンテンツが放送波で配信されており、情報出力装置２の画面出力部３３にそのドラマの映像コンテンツ（放送コンテンツ）を表示しているものとする（ステップＳ９０１、Ｓ９０２）。この映像コンテンツの表示と同時並行して情報出力装置２のＷＥＢアプリ実行部２２ではＷｅｂアプリ取得部２７で取得したドラマ用のＷｅｂアプリ(Ｗｅｂアプリ＃５)を実行させる（ステップＳ９０３）。このＷｅｂアプリ＃５は放送波に多重化されて含まれていてもよいし、放送波にはＷｅｂアプリ＃５の場所を示すＵＲＬのみ含め、Ｗｅｂアプリ取得部２７が、そのＵＲＬを元にＷｅｂアプリ配布サーバからＷｅｂアプリ＃５を取得してもよい。Ｗｅｂアプリ実行部２２でＷｅｂアプリ＃５を実行する。そして、このＷｅｂアプリ＃５がＷｅｂｓｏｃｋｅｔクライアント処理部１８を使って情報操作装置１にＷｅｂＳｏｃｋｅｔのコネクションにてアプリ遷移命令を送信し（ステップＳ９０４）、ドラマに関連したＷｅｂアプリ(Ｗｅｂアプリ＃６)を情報操作装置１で実行するように指示する。なお、Ｗｅｂアプリ＃５は図５に示したような画面を出力してもよいし、Ｗｅｂアプリの部分は何も表示せず放送番組を全画面で表示してもよい。
【０１１７】
なお、図２９では既に図１５の処理によって情報操作装置１と情報出力装置２の間でＷｅｂＳｏｃｋｅｔコネクションが確立されているか、又は図２７と図２８の構成により情報出力装置２のＷｅｂＳｏｃｋｅｔクライアント処理部１８ｂが情報出力装置２のＷｅｂＳｏｃｋｅｔサーバ処理部４０とコネクションを確立するものとする。
【０１１８】
情報操作装置１ではアプリ遷移命令を受信し（ステップＳ９０５）、アプリ遷移命令に含まれるＵＲＬを元にＷｅｂアプリ取得部２７でＷｅｂアプリ(Ｗｅｂアプリ＃６)を取得し、ＷＥＢアプリ実行部２２ａでＷｅｂアプリ＃６を実行する（ステップＳ９０６）。このＷｅｂアプリ＃６はＷｅｂアプリ＃５が指定したものであるが、Ｗｅｂアプリ＃５は放送コンテンツに連動したものであるため、結果としてＷｅｂアプリ＃６も放送コンテンツに連動したものを実行することができる。
【０１１９】
その後、ある時間が経過して放送番組が別の番組(たとえばドラマからニュース番組)へと変化したとする（ステップＳ９０７）。すると、今度はチューナー部３２は放送番組が切り替わり、チューナー部３２はＷｅｂアプリ取得部２７に対してＷｅｂアプリをドラマと連動したもの(Ｗｅｂアプリ＃５)からニュースに連動したもの(Ｗｅｂアプリ＃７)に切り替えるように通知し、Ｗｅｂアプリ取得部２７はニュースの放送番組に含まれるＵＲＬを元に、新たなＷｅｂアプリ（Ｗｅｂアプリ＃７）を取得して、Ｗｅｂアプリ実行部２２でニュース番組用のＷｅｂアプリ(Ｗｅｂアプリ＃７)を実行する（ステップＳ９０８）。そして、このＷｅｂアプリ＃７がＷｅｂｓｏｃｋｅｔクライアント処理部１８ｂを使って情報操作装置１にＷｅｂＳｏｃｋｅｔのコネクションにてアプリ遷移命令を送信し（ステップＳ９０９）、ニュースに関連したＷｅｂアプリ(Ｗｅｂアプリ＃８)を情報操作装置１で実行するように指示する。
【０１２０】
情報操作装置１ではアプリ遷移命令を受信し（ステップＳ９１０）、アプリ遷移命令に含まれるＵＲＬを元にＷｅｂアプリ取得部２７でＷｅｂアプリ(Ｗｅｂアプリ＃８)を取得し、ＷＥＢアプリ実行部２２ａでＷｅｂアプリ＃８を実行する（ステップＳ９１１）。
【０１２１】
このようにして、放送コンテンツに連動して、その放送コンテンツに付随するＷｅｂアプリが情報操作装置１にアプリ遷移命令を送信する事によって、情報出力装置２だけでなく情報操作装置１の画面にも関連するＷｅｂアプリを表示する事ができるようになる。
【０１２２】
しかも、情報出力装置２と情報操作装置１の間のＷｅｂＳｏｃｋｅｔコネクションはアプリ出所検査部４３とＰＩＮ検査部４４によって正当なＷｅｂアプリであると認証された場合にのみ確立される。これにより、情報操作装置１の観点からすると、アプリ遷移命令は信頼できる情報出力装置２からのみ受信する事が実現できる。なお、上記の例では時間が経過して別の番組に切り替える例を示したが、赤外線リモコン命令によりリモコン命令処理部３５がチューナーの番組切り替え命令を送信した場合も同様の処理を行えばよい。
【０１２３】
(第２の実施形態)
第１の実施形態では、情報操作装置１から情報出力装置２に対して放送波に含まれるデータを情報出力装置２から取得したり操作したりする命令(機器操作命令)を送信する際、情報出力装置２がＰＩＮと情報操作装置１上で動作するＷｅｂアプリの出所情報を元に機器操作命令を許可するか否かを判断していた。第２の実施形態では、放送波に含まれるデータとは独立に、情報操作装置１から情報出力装置２を操作する命令(独立操作命令)を送信する場合も想定するものである。
【０１２４】
図１−２は情報操作装置１と情報出力装置２を備えた情報処理システム３の概略構成を示す図である。図１−１に示した情報処理システム３とは利用許可証配布サーバ６を備えている点が異なる。利用許可証配布サーバ６は、独立操作命令で情報出力装置２を操作する時に必要となる利用許可証を配布する処理を行うサーバである。利用許可証配布サーバ６は、例えばインターネット８を介してＩＰ（インターネットプロトコル）で情報操作装置１と接続されている。なお、図１−２では、Ｗｅｂアプリ配布サーバ４、ＰＦアプリ配布サーバ５、及び利用許可証配布サーバ６を別々の装置として図示したが、これら三つのサーバをまとめて一つの装置で実現してもよい。すなわち、これら３つのサーバのうち任意の２つ以上を１つの装置にまとめてもよい。
【０１２５】
図３０はＷｅｂアプリ＃３が生成し、情報操作装置１の画面出力部１７に出力されるリモコン画面の表示例を示す。なお、第１の実施形態では、情報操作装置１から情報出力装置２に送信する操作命令として、放送波に含まれるデータを情報出力装置２から取得したり操作したりする命令(放送関連命令)を想定していた。第２の実施形態では放送関連命令に加えて、放送コンテンツとは関係ない機器操作命令である独立操作命令も対象とする。独立操作命令の例として、情報出力装置２が有するチューナー部３２を制御する命令（チューナー部３２に対する選局命令など）や音量調節命令、入力切り替え命令（放送チューナー入力から外部入力に切り替える等）、情報出力装置２が放送コンテンツを録画・蓄積する機能を備えている場合は、機器操作命令に録画コンテンツの一覧表示命令、指定した録画コンテンツに対する再生命令、指定した録画コンテンツの特定の位置から再生を指示する再生命令、指定した録画コンテンツに対する削除命令なども含む。
【０１２６】
図３０に示す通り、情報操作装置１で動作するＷｅｂアプリは、放送関連命令(番組関連情報の表示、放送中番組の一覧表示)と放送独立命令(コンテンツ一覧表示、音量調節、タイムバー)の両方を情報出力装置２に送信して情報出力装置２を操作する事を想定している。図３０の例ではＷｅｂアプリ＃３が二つのＷｅｂアプリから構成されており、Ｗｅｂアプリ＃３−１は放送関連命令を扱うもの、Ｗｅｂアプリ＃３−２は放送独立命令を扱うものであり、Ｗｅｂアプリ＃３−１とＷｅｂアプリ＃３−２はそれぞれ異なるドメイン名を持つＷｅｂアプリ配布サーバ４から配信されたものである事を想定している。すなわち、Ｗｅｂアプリ＃３−１からＷｅｂＳｏｃｋｅｔにて機器操作命令を送信する場合、ＷｅｂＳｏｃｋｅｔのヘッダにはＷｅｂアプリ＃３−１のダウンロード元のＷｅｂサーバのドメイン名(出所)が付与され、Ｗｅｂアプリ＃３−２からＷｅｂＳｏｃｋｅｔにて機器操作命令を送信する場合、ＷｅｂＳｏｃｋｅｔのヘッダにはＷｅｂアプリ＃３−２のダウンロード元のＷｅｂサーバのドメイン名(出所)が付与される。
【０１２７】
図３１は情報操作装置１、情報出力装置２、ＰＦアプリ配布サーバ５、及びＷｅｂアプリ配布サーバ４、利用許可証配布サーバ６の処理手順を示すフローチャートである。図３１に示すように、処理シーケンスは大きく分けて、情報操作装置１セットアップフェーズ、情報出力装置操作フェーズの２つのフェーズを有する。情報操作装置セットアップフェーズでは、情報操作装置１がＰＦアプリ配布サーバ５と通信し、情報操作装置１がＰＦアプリをＰＦアプリ配布サーバ５からダウンロードして情報操作装置１にインストールする処理を行う（ステップＳ１００１）。
【０１２８】
情報出力装置操作フェーズは、レベル１とレベル２の二つのフェーズに分かれている。レベル１では、情報操作装置１がＷｅｂアプリ配布サーバ４と通信し、ＷｅｂアプリをＷｅｂアプリ配布サーバ４からダウンロードし（ステップＳ１００２）、利用許可証を利用許可証配布サーバ６からダウンロードする処理と（ステップＳ１００３）、情報操作装置１が入力受信部１５で入力したＰＩＮを情報操作装置１内に保存する処理とを行う。なお、情報操作装置１上でＷｅｂアプリをダウンロードして実行する処理のトリガーは、情報操作装置セットアップフェーズにてインストールしておいたＰＦアプリが行う。
【０１２９】
レベル２では、情報操作装置１が情報出力装置２と通信し、情報操作装置１から情報出力装置２に機器操作命令を送信して情報出力装置２を制御する処理を行う（ステップＳ１００５、ステップＳ１００６）。
【０１３０】
図３２は利用許可証のフォーマットの一例を示す図である。利用許可証は利用許可証配布サーバ６から情報操作装置１にダウンロードされ、情報操作装置１が情報出力装置２に機器操作命令を送信する際に情報操作装置１から情報出力装置２に送信される。利用許可証は、必須のフィールドとして、Ｗｅｂアプリ固有ＩＤ９１、Ｗｅｂアプリの出所（ドメイン名）９２、許可された操作命令リスト９５、署名９３、及び署名方式９４を有する。Ｗｅｂアプリ固有ＩＤ９１は、Ｗｅｂアプリに固有のＩＤである。Ｗｅｂアプリの出所９２は、機器操作命令を情報出力装置２に送信するＷｅｂアプリ(Ｗｅｂアプリ＃３)の送信元Ｗｅｂサーバのドメイン名である。許可された操作命令リスト９５は、Ｗｅｂアプリが操作命令によって情報出力装置２を操作する際に、その利用許可証を利用するＷｅｂアプリに許可された操作命令のリストである。操作命令リスト９５は機器命令を一つ一つリストしてもよいし、複数の機器命令をカテゴリーに分類してもよい。その場合、例えばチャンネル変更命令とコンテンツの一覧表示命令はカテゴリー１、コンテンツの消去命令をカテゴリー２と分類し、操作命令リスト９５にはＷｅｂアプリに許可するカテゴリー番号を含めるようにする。そして、命令判断部５０は情報操作装置１から送信された機器操作命令が属するカテゴリーが操作命令リスト９５に含まれるか否かの検査を行い、含まれる場合のみその機器操作命令を許可するようにしてもよい。
【０１３１】
さらに、カテゴリーに優先順位をつけたレベルとしてとらえ、操作命令リスト９５にはＷｅｂアプリに許可する最も高い番号を含めるようにする。操作命令リスト９５にカテゴリー２と記されている場合はカテゴリー１とカテゴリー２に含まれる機器操作命令を許可すると定義してもよい。命令判断部５０は情報操作装置１から送信された機器操作命令が属するカテゴリーと、操作命令リスト９５に含まれるカテゴリーの番号の大きさを比較し、機器操作命令が属するカテゴリーが操作命令リスト９５に含まれるカテゴリーの番号より小さければ機器操作命令を許可するようにする。例えば、操作命令リスト９５にはカテゴリー２を含め、情報操作装置１が送信する機器操作命令がチャンネル変更命令だった場合、チャンネル変更命令はカテゴリー１のため、この命令を許可する。一方、操作命令リスト９５にはカテゴリー１を含め、情報操作装置１が送信する機器操作命令がコンテンツ削除命令だった場合、コンテンツ削除命令はカテゴリー２で操作命令リスト９５に含まれているカテゴリー１より大きいためこの命令を拒否する。
【０１３２】
このように、利用許可証によってＷｅｂアプリごとに利用可能な機器操作命令を分ける事を実現している。例えば、ＷｅｂアプリＸはチャンネル変更命令とコンテンツの一覧表示命令が許可されており、ＷｅｂアプリＹはチャンネル変更命令のみ許可されている場合を考える。つまり、ＷｅｂアプリＸ用の利用許可証に含まれる許可された操作命令リストとＷｅｂアプリＹの利用許可証に含まれる許可された操作命令リストは異なる。
【０１３３】
署名９３はＷｅｂアプリの固有ＩＤ、Ｗｅｂアプリのドメイン名、許可された操作命令リスト９５に対するハッシュ値を計算し、そのハッシュ値に対して秘密鍵を利用して公開鍵暗号方式に従って計算された署名である。このハッシュアルゴリズムとしてはＭＤ５やＳＨＡ１などよく知られた方式を用い、署名生成アルゴリズムとしてはＲＳＡや楕円曲線暗号などよく知られた方式を用いればよい。署名の計算方法の一例を以下に示す。
【０１３４】
署名＝ｒｓａ（秘密鍵，ｓｈａ１（Ｗｅｂアプリの固有ＩＤ｜｜Ｗｅｂアプリのドメイン名||許可された操作命令リスト）)
【０１３５】
ここで秘密鍵とは利用許可証生成部７９が有する鍵であり、秘密鍵に対応する公開鍵は情報出力装置２の公開鍵管理部３８にあらかじめ蓄積されている。なお、オプションの情報として署名９３がどのハッシュ・署名アルゴリズムを用いて生成されたものであるかを示すための署名方式９４の情報を添付してもよい。
【０１３６】
図３３は利用許可証配布サーバ６の内部構成を示すブロック図である。利用許可証配布サーバ６は、情報操作装置１、及び情報出力装置２とＨＴＴＰ、又はＨＴＴＰＳのプロトコルで通信し、情報操作装置１に利用許可証を配布する処理を行う。図３３の利用許可証配布サーバ６は、ＨＴＴＰサーバ処理部７１、Ｗｅｂアプリ情報蓄積部７７、利用許可証登録受付処理部７８、利用許可証生成部７９、及び利用許可証検索処理部５７を有する。
【０１３７】
ＨＴＴＰサーバ処理部７１は、情報操作装置１とＨＴＴＰ又はＨＴＴＰＳのプロトコルで通信し、利用許可証の取得要求や利用許可証の配布処理に必要なＨＴＴＰサーバ処理及びＴＣＰ/ＩＰ処理、リンクレイヤ処理・物理レイヤ処理を行う。Ｗｅｂアプリ情報蓄積部７７は署名済み利用許可証を蓄積する処理を行う。利用許可証登録受付処理部７８は、利用許可証を登録する処理を行う。図３３ではＨＴＴＰサーバ処理部７１を介してネットワーク経由で利用許可証を登録する構成を示すが、必ずしもネットワーク経由で登録する必要はなく、ＵＳＢメモリなど外部メモリを経由してＷｅｂアプリを登録してもよい。なお、この利用許可証登録受付処理部７８は必須の構成ではない。
【０１３８】
利用許可証生成部７９は、ＷｅｂアプリＩＤ、Ｗｅｂアプリのドメイン名、許可された操作命令リストに対して秘密鍵を使って署名を施し、署名付き利用許可証を生成する処理を行う。なお、ここでは署名は利用許可証配布サーバが利用許可証を生成する場合について説明しているが、利用許可証は情報出力装置２に共通の公開鍵に対応する秘密鍵を持った装置であれば生成することができるため、必ずしも利用許可証配布サーバ６で行う必要はない。不図示の情報出力装置２に共通の公開鍵に対応する秘密鍵を備えた装置で利用許可証を生成し、Ｗｅｂアプリ情報蓄積部７７に登録してもよい。利用許可証配布サーバ６で利用許可証の署名計算処理を行わない場合は、利用許可証生成部７９は必須の構成ではない。その場合、利用許可証登録受付処理部８０は署名済み利用許可証を受け付け、そのままＷｅｂアプリ情報蓄積部７７に蓄積する処理を行う。
【０１３９】
利用許可証検索処理部５７は、情報操作装置１からの要求に基づいてＷｅｂアプリ情報蓄積部７７に蓄積しておいた署名済み利用許可証を検索し、ＨＴＴＰサーバ処理部７１を利用して情報操作装置１に送信する処理を行う。具体的な処理の例としては、情報操作装置１はＷｅｂアプリの固有ＩＤを指定し、利用許可証検索処理部５７はその指定されたＷｅｂアプリの固有ＩＤをキーとしてＷｅｂアプリ情報蓄積部７７に蓄積されている利用許可証を取得して、情報操作装置１に送信する処理を行う。
【０１４０】
図３４は第２の実施形態に係る情報操作装置１の内部構成を示すブロック図である。図２に示す情報操作装置１との違いは、利用許可証取得部３６を備えている点である。利用許可証取得部３６は、アプリ実行部１６で動作するＷｅｂアプリからの要求に基づいてＨＴＴＰ処理部１１を使って利用許可証配布サーバ６から利用許可証を取得する処理を行う。
【０１４１】
図３５は第２の実施形態に係る情報操作装置１内のアプリ実行部１６、アプリ取得部１２、及びアプリキャッシュ部１３の内部構成の一例を示すブロック図である。図３−１に示す構成との違いは、Ｗｅｂアプリ実行部２２ｉが利用許可証蓄積部２４を備え、ＰＦアプリ実行部２２ｈが利用許可証送信部２５を新たに備えている点である。利用許可証蓄積部２４は、利用許可証取得部３６で利用許可証配布サーバ６から取得した利用許可証をアプリ蓄積部３０に格納する処理を行う。利用許可証送信部２５は、Ｗｅｂアプリからの指示に基づいて利用許可証蓄積部２４に蓄積された利用許可証をＷｅｂＳｏｃｋｅｔクライアント処理部１８ａを使って情報出力装置２に送信する処理を行う。
【０１４２】
図３６は情報出力装置２の内部構成を示すブロック図である。図４に示す情報出力装置２との違いは、利用許可証検査部４２と公開鍵管理部６６と命令選択部４８を備えている点である。利用許可証検査部４２は、情報操作装置１から送信され、ＷｅｂＳｏｃｋｅｔサーバ処理部４０で受信した利用許可証が正しいかどうかの検査処理を行い、その結果を機器操作命令処理部３４に通知する。利用許可証検査部４２の検査処理の詳細は後述する。
【０１４３】
公開鍵管理部６６は、情報操作装置１から送信されてくる利用許可証を検証するための公開鍵を蓄積する。命令選択部４８は、情報操作装置１から送信されてくる機器操作命令が独立操作命令か放送関連命令か命令の種別を判定し、命令判断部５０に対して命令の種別に応じて判定処理を変更するよう指示する。
【０１４４】
図３７は情報出力装置操作フェーズ（レベル１）の情報操作装置１とＷｅｂアプリ配布サーバ４の処理手順を示すシーケンス図である。まず情報操作装置１はＰＦアプリ実行部２２ｈでＰＦアプリを実行する（ステップＳ１１０１）。ＰＦアプリ実行のトリガーは入力受信部１５によるＰＦアプリ選択によって行われる。ＰＦアプリはＰＦアプリ初期化命令８１で初期化処理等を実行した後、Ｗｅｂアプリ実行部呼び出し命令８４を実行する。Ｗｅｂアプリ実行部呼び出し命令８４はＷｅｂアプリＵＲＬ８３で指定され、ＰＦアプリに含まれるローカルＷｅｂアプリ(Ｗｅｂアプリ＃９)をＷＥＢアプリ実行部２２ｉで実行する（ステップＳ１１０２）。
【０１４５】
ローカルＷｅｂアプリ(Ｗｅｂアプリ＃９)は、情報操作装置１の中に利用許可証が存在するかどうかチェックする（ステップＳ１１０３）。もし既に利用許可証を取得している場合（ステップＳ１１０３：Ｙｅｓ）、ＰＩＮが格納されているか否かの処理に移行する（ステップＳ１１０９）。本実施形態では利用許可証は操作対象の情報出力装置２が異なっていたとしても、同じＷｅｂアプリであれば利用許可証も同じものとなる。従って、利用許可証を含んだ形でＰＦアプリをパッケージ化して配布してもよい。その場合、ＰＦアプリがインストールされる際、利用許可証はアプリ蓄積部３０にＰＦアプリのデータの一部として記憶される。その場合は、利用許可証が存在するかどうかを検査する処理を省略し、Ｗｅｂアプリはアプリ蓄積部３０から利用許可証を取得するようにしてもよい。
【０１４６】
情報操作装置１の中に利用許可証がない場合（ステップＳ１１０３：ＮＯ）、Ｗｅｂアプリごとに決められ、あらかじめアプリケーションパッケージの中に含まれているＵＲＬを取得して、このＵＲＬを元に利用許可証取得要求を利用許可証配布サーバ６に送信する（ステップＳ１１０５、Ｓ１１０６）。この処理はＨＴＴＰ処理部１１を用いてＨＴＴＰ（、又はＨＴＴＰＳ）のプロトコルで送信する。情報操作装置１が利用許可証配布サーバ６に送信する利用許可証の要求メッセージの一例を以下に示す。
【０１４７】
https：//example-CAserver.com/req＿token.php?appＩＤ=X
【０１４８】
この例では、利用許可証配布サーバ"example-CAserver.com"に対して、appＩＤでラベル付けされた値“Ｘ”でＷｅｂアプリの固有ＩＤを指定している。また、以下のような形式であってもよい。
【０１４９】
https://example-CAserver.com/appＩＤX/token.dat
【０１５０】
この場合、利用許可証は"token.dat"という名前で指定される単なるファイルにすぎないため、利用許可証配布サーバ６はＷｅｂアプリ配布サーバ４と同じ構成を取ればよい。利用許可証配布サーバ６は、利用許可証要求メッセージを受信すると、Ｗｅｂアプリの固有ＩＤを元にＷｅｂアプリ情報蓄積部７７に蓄積された署名済み利用許可証を取得し、利用許可証要求メッセージへの応答として、利用許可証を情報操作装置１に送信する（ステップＳ１１０７）。Ｗｅｂアプリ＃９は受信した利用許可証を利用許可証蓄積部２４に保存する（ステップＳ１１０８）。なお、情報操作装置１がＰＩＮを保存する際、ＰＩＮを利用可能なＷｅｂアプリの範囲を指定し、ＷｅｂアプリがＰＩＮを利用する際に、ＰＩＮ保存部２３を用いて、保存したＰＩＮのアクセス制御の処理を行っていたが、利用許可証の保存については必ずしもこの処理は必要ない。つまり、利用許可証はアクセス制限の設定をする必要なく、cookie、又は通常のファイルとして情報操作装置１内に保存すればよい。
【０１５１】
そして、Ｗｅｂアプリ＃９は情報操作装置１の中にＰＩＮが含まれているかどうかを検査する（ステップＳ１１０９）。以降の処理は図１２−１のステップＳ３０４と同一である。
【０１５２】
図３８は情報出力装置操作フェーズ（レベル２）における情報操作装置１と情報出力装置２の処理手順を示すシーケンス図である。ユーザが図３０の画面インターフェイスから機器操作を行った場合を仮定する。まず図３０で下部、すなわち入力受信部１５は、ユーザの入力からＷｅｂアプリ＃３-２の部分を操作して情報出力装置２を操作したと判断する（ステップＳ１２０１）。Ｗｅｂアプリ＃３−２はＰＩＮ保存部２３に保存されているＰＩＮと、利用許可証蓄積部に保存されている利用許可証をＷｅｂＳｏｃｋｅｔのコネクションを利用して情報出力装置２に送信する（ステップＳ１２０３、Ｓ１２０４、Ｓ１２０５）。具体的には、Ｗｅｂアプリ＃３−２の指示に基づき、情報操作装置１のＷｅｂＳｏｃｋｅｔクライアント処理部１８はＷｅｂＳｏｃｋｅｔコネクション(ＷｅｂＳｏｃｋｅｔコネクション＃１)にて情報出力装置２にＰＩＮと利用許可証を送信する。この時、ＷｅｂＳｏｃｋｅｔクライアント処理部１８内のドメイン付与部７０はＷＥＢアプリ実行部２２ｉで実行中のＷｅｂアプリのドメイン名をＷｅｂＳｏｃｋｅｔヘッダに付与する処理を行う。すなわち、ＰＩＮと利用許可証を送信するＷｅｂＳｏｃｋｅｔのコネクションのヘッダにはＷＥＢアプリ実行部２２ｉで実行中のＷｅｂアプリ（Ｗｅｂアプリ＃３−２）のドメイン名が含まれて情報操作装置１から情報出力装置２に送信される。情報出力装置２は、利用許可証に含まれるＷｅｂアプリのドメイン名（Ｗｅｂアプリの出所）とＷｅｂＳｏｃｋｅｔコネクションのヘッダに含まれるドメイン名が一致するか、又はＷｅｂＳｏｃｋｅｔコネクションのヘッダに含まれるＷｅｂアプリのドメイン名が利用許可証に含まれるＷｅｂアプリのドメイン名（Ｗｅｂアプリの出所)に含まれる場合には検査成功と判断する。
【０１５３】
さらに、情報出力装置２は受信した利用許可証とＰＩＮの値を検査する（ステップＳ１２０６）。利用許可証の検査は利用許可証検査部４２が行い、利用許可証に含まれる署名が正しいか否かを検査する。ＰＩＮの検査はＰＩＮ検査部４４が行い、ＰＩＮ管理部３９で管理している値と一致するか否かを検査する。情報操作装置１は、ドメインの検査と利用許可証の検査とＰＩＮの検査のすべてに成功した場合には成功と判定し、一つでも失敗した場合には失敗と判定する。判定結果は、情報出力装置２から情報操作装置１に送信してもよいし、検査結果が失敗した場合、情報出力装置２はＷｅｂＳｏｃｋｅｔのコネクションを切断するようにしてもよい（ステップＳ１２０７）。
【０１５４】
情報出力装置２から情報操作装置１に判定結果を送信する場合、情報操作装置１はその判定結果に基づき（ステップＳ１２０８）、判定結果が失敗の場合にはエラー処理を行い（ステップＳ１２０９）、判定結果が成功の場合には機器操作命令を送信する（ステップＳ１２１０）。
【０１５５】
なお、情報出力装置２が判定処理を失敗と判定してＷｅｂＳｏｃｋｅｔのコネクションを切断した場合、情報操作装置１はコネクション切断をもって判定結果が失敗と判断し、エラー処理を行い、ＷｅｂＳｏｃｋｅｔコネクションが切断されなかった場合は機器操作命令を送信するようにしてもよい。
【０１５６】
そして機器操作Ｗｅｂアプリ(Ｗｅｂアプリ＃３−２)の指示に基づき、情報操作装置１のＷｅｂＳｏｃｋｅｔクライアント処理部１８はＷｅｂＳｏｃｋｅｔコネクションにて情報出力装置２に機器操作命令を送信する（ステップＳ１２１１）。この機器操作命令はＷｅｂアプリ＃３−２が生成したもの、すなわち独立操作命令である。ここで、情報出力装置２の命令選択部４８は受信した機器操作命令が放送関連命令か独立操作命令かを判定する（ステップＳ１２１２）。ここではＷｅｂアプリ＃３−２、すなわち独立操作命令であるため、命令判断部５０に対して利用許可証とＰＩＮの両方の検査が成功したか否かを確認し、成功している場合のみ機器操作命令(独立操作命令)を受け付けるように指示する。もし片方でも検査が失敗していれば、機器操作命令(独立操作命令)を拒否してエラー処理を行い、以降の機器操作命令(独立操作命令)は受け付けない。両方の検査が成功した場合に限り、操作命令リストに含まれる機器操作命令(独立操作命令)を解釈して、どの機器操作命令(独立操作命令)を許可するかを機器操作命令処理部３４に通知する。
【０１５７】
さらに図３０で上部、すなわちＷｅｂアプリ＃３−１の部分を操作して情報出力装置２を操作したとする（ステップＳ１２０２）。このとき、Ｗｅｂアプリ＃３−１の指示に基づき、情報操作装置１のＷｅｂＳｏｃｋｅｔクライアント処理部１８はＷｅｂＳｏｃｋｅｔコネクション(ＷｅｂＳｏｃｋｅｔコネクション＃２)にて情報出力装置２に機器操作命令を送信する（ステップＳ１２１３）。この時、ＷｅｂＳｏｃｋｅｔクライアント処理部１８内のドメイン付与部７０はＷＥＢアプリ実行部２２ｉで実行中のＷｅｂアプリのドメイン名をＷｅｂＳｏｃｋｅｔコネクションのヘッダに付与する処理を行う。すなわち、機器操作命令を送信するＷｅｂＳｏｃｋｅｔのコネクションのヘッダにはＷＥＢアプリ実行部２２ｉで実行中のＷｅｂアプリ（Ｗｅｂアプリ＃３-1）のドメイン名が含まれて情報操作装置１から情報出力装置２に送信される。なお、この機器操作命令はＷｅｂアプリ＃３-１が生成したもの、すなわち放送関連命令である。
【０１５８】
ここで、情報出力装置２の命令選択部４８は受信した機器操作命令が放送関連命令か独立操作命令かを判定する（ステップＳ１２１４）。ここではＷｅｂアプリ＃３−１、すなわち放送関連命令であるため、命令判断部５０に対して機器操作命令のＷｅｂＳｏｃｋｅｔヘッダに含まれるＷｅｂアプリ＃３−１のドメイン名（出所情報）と、(情報出力装置２の)ＷＥＢアプリ実行部２２で実行中のＷｅｂアプリのドメイン名、つまりＷＥＢアプリ実行部２２で実行中のＷｅｂアプリを取得したＷｅｂサーバのドメイン名が一致するかアプリ出所検査部４３で検査を行い、ドメイン名の一致検査に成功した場合のみ機器操作命令(放送関連命令)を受け付けるように指示する。もし検査が失敗していれば、機器操作命令(放送関連命令)を拒否してエラー処理を行い、以降の機器操作命令(放送関連命令)は受け付けない。検査が成功した場合に限り、操作命令リストに含まれる機器操作命令(放送関連命令)を解釈して、どの機器操作命令(放送関連命令)を許可するかを機器操作命令処理部３４に通知する。
【０１５９】
なお、ここでは機器操作命令が放送関連命令である場合、ＰＩＮによるＷｅｂアプリ＃３−１の認証を行わない例を示したが、図１５に示したようにＰＩＮと出所の両方の検査(Ｗｅｂアプリ＃３-1のドメイン名（出所情報）と、(情報出力装置２の)ＷＥＢアプリ実行部２２で実行中のＷｅｂアプリのドメイン名が一致検査)を行ってもよい。その場合、命令選択部４８は命令判断部５０に対して機器操作命令のＷｅｂＳｏｃｋｅｔヘッダに含まれるＷｅｂアプリ＃３-1のドメイン名（出所情報）と、(情報出力装置２の)ＷＥＢアプリ実行部２２で実行中のＷｅｂアプリのドメイン名が一致するかアプリ出所検査部４３で検査を行い、さらにＰＩＮ検査部４４でＷｅｂアプリ＃３−１が送信してきたＰＩＮの値とＰＩＮ管理部に保存されている値が一致するか検査を行い、両方成功している場合のみ機器操作命令(放送関連命令)を受け付けるように指示する。もし片方でも検査が失敗していれば、機器操作命令(放送関連命令)を拒否してエラー処理を行い、以降の機器操作命令(放送関連命令)は受け付けない。両方の検査が成功した場合に限り、操作命令リストに含まれる機器操作命令(放送関連命令)を解釈して、どの機器操作命令(放送関連命令)を許可するかを機器操作命令処理部３４に通知する。
【０１６０】
このように、以上の実施形態では情報出力装置２は情報操作装置１から送信されてくる機器操作命令を受け付ける際、命令の種別を判定し、命令の種別に応じてＷｅｂアプリの正当性の確認方法を変更する。もしも命令の種別が独立操作命令である場合、ＰＩＮと利用許可証によって、独立操作命令を送信したＷｅｂアプリが正当であるか否かを判定する。一方、命令の種別が放送関連命令である場合、ＷｅｂＳｏｃｋｅｔのドメイン名と(情報出力装置２の)ＷＥＢアプリ実行部２２で実行中のＷｅｂアプリのドメイン名が一致検査によって、放送関連命令を送信したＷｅｂアプリが正当であるか否かを判定する。
【０１６１】
このようにすることで、以下の効果が得られる。機器操作命令が独立操作命令の場合、独立操作命令を発行するＷｅｂアプリ(図３０の例ではＷｅｂアプリ＃３−２)は情報出力装置２の製造メーカー、又はパートナー企業であることが想定される。従って、情報出力装置２の製造メーカーがＷｅｂアプリ開発者からＷｅｂアプリを配置するＷｅｂアプリ配布サーバのドメイン名をヒアリングし、そのドメイン名の情報が入った利用許可証をＷｅｂアプリ開発者に発行することで、情報出力装置２を操作可能なＷｅｂアプリを限定することができる。
【０１６２】
仮に、攻撃者によって情報出力装置２に機器操作命令を送信する命令（例えばＷｅｂアプリ＃３−２に含まれる命令）を記述した部分をコピーされてしまい、ＷｅｂコンテンツＸとして、正規のＷｅｂアプリを配布するＷｅｂサーバではない別のＷｅｂサーバＸにアップロードされてしまったとする。上述したようにＷｅｂアプリはＨＴＭＬやＪａｖａＳｃｒｉｐｔ（登録商標）などから構成されるが、これらはいわゆるＰＣ上のＷｅｂブラウザで表示させるホームページ等のＷｅｂコンテンツと変わりはない。従って、情報操作装置１上でＷｅｂブラウザ(ＷＥＢアプリ実行部２２ｉ)を利用して、各種ホームページなどを閲覧する際、ＷｅｂコンテンツＸを実行してしまうと、情報操作装置１の利用者が気付かぬうちに機器操作命令が情報出力装置２に送信されてしまう。したがって、何も制限がない場合、仮に機器操作命令が情報出力装置２内に録画された放送コンテンツをすべて削除するといった命令であった場合、情報操作装置１上でＷｅｂコンテンツＸを閲覧しただけで利用者の気が付かないうちに情報出力装置２上の録画コンテンツが消去されてしまう。そこで、Ｗｅｂアプリ配布サーバ４の管理外のＷｅｂサーバにＷｅｂコンテンツＸのような不正なＷｅｂアプリが置かれたとしても、情報出力装置２がＷｅｂアプリの配布元Ｗｅｂサーバのドメイン名をチェックすることで、それら不正なＷｅｂアプリからの操作命令を拒否することができる。
【０１６３】
また、情報出力装置２の操作をユーザが許可したＷｅｂアプリに限定できる。情報出力装置２はデジタルＴＶ等を想定しており、本実施形態に係る情報出力装置２は各家庭あるいは各個人によって所有される。ユーザＡの情報操作装置１上で動作させる正規のＷｅｂアプリ(例えばＷｅｂアプリ＃３−２)からユーザＡの情報出力装置２を操作することは問題ない。しかし、ユーザＡの情報操作装置１上で動作させる正規のＷｅｂアプリから、ユーザＢの許諾なしにユーザＢの情報出力装置２を操作することは防止する必要がある。情報操作装置１から機器操作命令を送信する度に情報出力装置２の赤外線リモコンを使ってその機器操作命令が許可されたものであるか確認操作を強いることも可能であるが煩雑である。そこで、情報出力装置２にＰＩＮを設定し、機器操作命令に先立ち、ＷｅｂアプリからＰＩＮを送付してＰＩＮが一致するかを確認する事で情報出力装置２のＰＩＮの値を知らないＷｅｂアプリによって情報出力装置２が勝手に操作されるのを防止できる。
【０１６４】
一方、機器操作命令が放送関連命令の場合、放送関連命令の実行を許可されるＷｅｂアプリ(図３０の例ではＷｅｂアプリ＃３−１)は放送局が許可したアプリであり、これをあらかじめ情報出力装置２の製造メーカーが把握しておくことは困難である。よって、放送関連命令を扱うＷｅｂアプリを配置するＷｅｂアプリ配布サーバ４と、情報出力装置２上で動作させるＷｅｂアプリのドメイン名が同一であることを確認することで、放送関連命令を扱うＷｅｂアプリの正当性を確認するスキームが実現可能になる。
【０１６５】
仮に、攻撃者によって情報出力装置２に機器操作命令を送信する命令（例えばＷｅｂアプリ＃３―２に含まれる命令）を記述した部分をコピーされてしまい、ＷｅｂコンテンツＸとしてあるＷｅｂサーバXにアップロードされてしまったとする。保護の仕組みが何もなければ、放送関連命令の場合、たとえば、放送局の許諾なく、放送波に含まれる番組関連情報をすべて取得する事が可能となる。この番組関連情報の利用は著作権の侵害にあたる場合がある。そこで、Ｗｅｂアプリ配布サーバ４の管理外のＷｅｂサーバにＷｅｂコンテンツＸのような不正なＷｅｂアプリが置かれたとしても、情報出力装置２がＷｅｂアプリの配布元Ｗｅｂサーバのドメイン名をチェックすることで、それら不正なＷｅｂアプリからの操作命令(番組関連情報の取得命令)を拒否することができる。
【０１６６】
以上により、ＴＶ等の情報出力装置２がユーザの許諾なく勝手に操作されるのを確実に防止しつつ、スマートフォンやタブレット等の情報操作装置１から情報出力装置２を操作できるようになり、情報操作装置１を有効活用できるとともに、情報出力装置２の使い勝手も向上する。
【０１６７】
なお、図３５〜図３８に示した例では、情報操作装置１から情報出力装置２に対してＰＩＮをそのままの値で送信していた。ＰＩＮをそのまま送信するのではなく、暗号化して送信するようにしてもよい。その場合の構成を図３９〜図４１に示す。
【０１６８】
図３９は、情報操作装置１内のアプリ実行部１６、アプリ取得部１２、及びアプリキャッシュ部１３の内部構成の一例を示すブロック図である。図３５に示す構成との違いは、ＰＦアプリ実行部２２ｊがＭＡＣ計算部６７、アプリ出所検査部６５を備えている点である。ＭＡＣ計算部６７は、内部に秘密鍵(ＭＡＣ鍵)を有し、ＰＦアプリ実行部２２ｊ内のＷｅｂＳｏｃｋｅｔクライアント処理部１８ａで情報出力装置２に対して利用許可証を送信した応答として受信した乱数（乱数）を、以下の計算式によってメッセージ認証コードを計算する処理部である。なお、メッセージ認証コードの生成アルゴリズムとしてはＨＭＡＣ−ＭＤ５、  ＨＭＡＣ−ＳＨＡ１など良く知られたアルゴリズムを用いればよい。
【０１６９】
ＭＡＣ値＝ＨＭＡＣ−ＳＨＡ１（ＭＡＣ鍵、ＰＩＮ｜｜受信した乱数)
【０１７０】
ここで、ＰＩＮとはＰＩＮ保存部２３に保存されているＰＩＮの値である。アプリ出所検査部６５は、利用許可証蓄積部２４に保存されている利用許可証と、情報操作装置１のＷＥＢアプリ実行部２２ｍで実行中のＷｅｂアプリのドメイン名を調査し、一致しているか検査を行う。
【０１７１】
図４０は、この形態に係る情報出力装置２の内部構成を示すブロック図である。図３６に示す情報出力装置２との違いは、ＭＡＣ検査部６９と乱数生成部６８を備えている点である。ＭＡＣ検査部６９は、内部に秘密鍵(ＭＡＣ鍵)を有し、ＭＡＣ鍵とＰＩＮ管理部３９に保存されているＰＩＮの値を使って以下の式に従ってメッセージ認証コードを生成して情報操作装置１から送信されてくるＭＡＣ（第２ＭＡＣ値）の値と一致するか検査を行う。なお、ＭＡＣ検査部６９が有するＭＡＣ鍵と、情報操作装置１のＰＦアプリ実行部２２ｊが有するＭＡＣ鍵は、ＰＦアプリ実行部２２ｊが改変されていない限り同じ値であると想定する。
【０１７２】
ＭＡＣ値（第１ＭＡＣ値）＝ＨＭＡＣ−ＳＨＡ１（ＭＡＣ鍵、ＰＩＮ｜｜送信した乱数）
【０１７３】
乱数生成部６８（乱数送信部）は、情報操作装置１から利用許可証を受信し、その利用許可証の検証が成功した場合に、乱数を生成して、情報操作装置１に送信する処理部である。なお、この乱数は情報操作装置１がＭＡＣ値を受信するか、ＷｅｂＳｏｃｋｅｔコネクションが切断するまでは一時的に保存しておく。
【０１７４】
図４１は、ＰＩＮを平文で送信する代わりにＭＡＣ値を利用する場合の情報操作装置１と情報出力装置２の処理手順を示すシーケンス図である。Ｗｅｂアプリ＃３−２が保存しておいたＰＩＮと利用許可証を取得し、入力受信部１５から命令を受信する処理までは図３８と同様の手順でよい。まず、情報操作装置１のアプリ出所検査部６５は、ＷＥＢアプリ実行部２２ｍで実行中で利用許可証の送付を依頼してきたＷｅｂアプリについて、そのＷｅｂアプリのドメイン名(出所情報)を取得し、利用許可証に含まれるドメイン名と一致するか検査を行う（ステップＳ１３０１）。一致していなかった場合は以後の処理を行わない。なお、このドメイン一致検査処理はオプションである。
【０１７５】
つぎにＷｅｂアプリ＃３−２はＰＦアプリ実行部２２ｊが実行するＰＦアプリ９に利用許可証を送信するように依頼する（ステップＳ１３０２）。ＰＦアプリ９はＷｅｂＳｏｃｋｅｔコネクション＃１にて利用許可証を情報出力装置２に送信する。具体的には、ＰＦアプリ９の指示に基づき、情報操作装置１のＷｅｂＳｏｃｋｅｔクライアント処理部１８ａはＷｅｂＳｏｃｋｅｔのコネクション(ＷｅｂＳｏｃｋｅｔコネクション＃１)を確立し、情報出力装置２に利用許可証を送信する。情報出力装置２は、利用許可証の署名が正しいかどうか署名検証処理を実行する（ステップＳ１３０３）。もし署名検証に失敗すれば、以降の処理は行わず、機器操作命令を受け付けないか、あるいはＷｅｂｓｏｃｋｅｔコネクションを切断してもよい。署名検証に成功すると、情報出力装置２は乱数生成部を用いて乱数を生成し、ＷｅｂＳｏｃｋｅｔコネクション＃１にて乱数を情報操作装置１に送信する（ステップＳ１３０４）。
【０１７６】
情報操作装置１は、ＷｅｂＳｏｃｋｅｔクライアント処理部１８ａにて乱数を受信すると、ＰＦアプリ実行部２２ｊのＭＡＣ計算部６７は受信した乱数の値と、ＭＡＣ計算部６７に蓄積されているＭＡＣ鍵と、ＰＩＮ保存部２３に蓄積されているＰＩＮの値を利用してＭＡＣ値を計算する（ステップＳ１３０５）、そして、ＭＡＣ計算部６７は、Ｗｅｂアプリ＃３−２にその結果を通知する。Ｗｅｂアプリ＃３−２は機器操作命令送信部１９を経由してＷｅｂＳｏｃｋｅｔコネクション＃２にてＭＡＣ値を情報出力装置２に送信する（ステップＳ１３０７）。具体的には、Ｗｅｂアプリ＃３−２の指示に基づき、情報操作装置１のＷｅｂＳｏｃｋｅｔクライアント処理部１８はＷｅｂＳｏｃｋｅｔのコネクション(ＷｅｂＳｏｃｋｅｔコネクション＃２)を確立し、情報出力装置２にＭＡＣ値を送信する。
【０１７７】
情報出力装置２のＭＡＣ検査部６９は、ＭＡＣ検査部６９に蓄積されているＭＡＣ鍵と、ＰＩＮ管理部に蓄積されているＰＩＮの値と、乱数生成部６８にて生成した乱数の値を利用してＭＡＣ値を計算し、情報操作装置１から受信したＭＡＣ値と一致するか判定処理を行い、判定結果を情報操作装置１に通知する（ステップＳ１３０７）。もし一致していない場合、以降情報操作装置１から送信されてくる機器操作命令を受け付けないか、ＷｅｂＳｏｃｋｅｔコネクションを切断する。
【０１７８】
情報操作装置１は情報出力装置２の判定結果が失敗すれば（ステップＳ１３０８：失敗）、エラー処理を行う（ステップＳ１３０９）。判定結果が成功だった場合（ステップＳ１３０８：成功）、ＷＥＢアプリ実行部２２ｍのＷｅｂアプリはＷｅｂＳｏｃｋｅｔコネクション＃２にて機器操作命令を送信する（ステップＳ１３１０）。具体的には、Ｗｅｂアプリ＃３−２の指示に基づき、情報操作装置１のＷｅｂＳｏｃｋｅｔクライアント処理部１８はＷｅｂＳｏｃｋｅｔのコネクション(ＷｅｂＳｏｃｋｅｔコネクション＃２)にて、情報出力装置２に機器操作命令を送信する（ステップＳ１３１１）。情報出力装置２は、受信した機器操作命令に従って機器を操作する（ステップＳ１３１２）。
【０１７９】
このように構成する事で、情報操作装置１から情報出力装置２にＰＩＮを平文で送信することなく、情報操作装置１と情報出力装置２が共有する秘密鍵を用いてＰＩＮを暗号化したＭＡＣ値を計算して、このＭＡＣ値を情報操作装置１から情報出力装置２に送信するため、情報操作装置１と情報出力装置２の間に不正な機器が存在していたとしても、その不正な機器にＰＩＮが渡るおそれがなく、利用者のＰＩＮを保護する事が可能となる。
【０１８０】
また、かりに不正なＷｅｂアプリが情報操作装置１上で動作しており、その不正なＷｅｂアプリが情報出力装置２との認証を行おうとしたとしても、情報操作装置１では利用許可証の送信に先立ち、情報操作装置１で動作させているＷｅｂアプリの出所情報を検査する事により、その不正なＷｅｂアプリが情報出力装置２に不正な機器操作命令を送信することを未然に防ぐことができる。
【０１８１】
また、図３６では、アプリ出所検査部４３が、機器操作命令のＷｅｂＳｏｃｋｅｔヘッダに含まれるＷｅｂアプリのドメイン名（出所情報）と(情報出力装置２の)ＷＥＢアプリ実行部２２で実行中のＷｅｂアプリのドメイン名が一致するか検査を行う処理を行っていたが、機器操作命令のＷｅｂＳｏｃｋｅｔヘッダに含まれるＷｅｂアプリのドメイン名（出所情報）が放送波に含まれるドメインリストに含まれるかを検査するようにしてもよい。
【０１８２】
その場合の構成を図４２と図４３に示す。図４２は情報出力装置２の内部構成を示すブロック図である。図３６に示す情報出力装置２との違いは、ドメインリスト取得部７１を備えている点である。ドメインリスト取得部７１は、放送波に含まれるドメインリストを抽出し、管理する処理を行う。
【０１８３】
図４３はドメインリストのフォーマットの一例を示す図である。ドメインリストは放送波に含まれて情報出力装置２にダウンロードされるか、又は放送波に含まれるＷｅｂアプリにドメインリストのＵＲＬが含まれており、ＷＥＢアプリ実行部２２でＷｅｂアプリを動作させて、そのＷｅｂアプリがインターネット上のドメインリスト布サーバ(非図示)からダウンロードしてくる。
【０１８４】
ドメインリストは、必須のフィールドとして、Ｗｅｂアプリの出所（ドメイン名）９２を有す。また、オプションのフィールドとして許可された操作命令リスト、有効期限、署名、署名方式を含む。許可された操作命令リスト、署名、署名方式は図３２に示した利用許可証と同一の内容である。有効期限とは、ドメインリストが有効な期間を示す。前述のように、放送番組（放送コンテンツ）は時間によって変化し、それによって情報操作装置１のＷＥＢアプリ実行部２２ｍで動作するどのＷｅｂアプリから送信された操作命令を許可するか、情報出力装置２の操作を許可するＷｅｂアプリも変化する。そのドメインリストがどの時間帯からどの時間帯まで有効であるかを示すための情報である。
【０１８５】
図３８では、出所の検査として機器操作命令のＷｅｂＳｏｃｋｅｔヘッダに含まれるＷｅｂアプリのドメイン名（出所情報）と(情報出力装置２の)ＷＥＢアプリ実行部２２で実行中のＷｅｂアプリのドメイン名が一致するかアプリ出所検査部４３が検査を行っていたが、図４２に示すアプリ出所検査部４３では、機器操作命令のＷｅｂＳｏｃｋｅｔコネクションのヘッダに含まれるＷｅｂアプリのドメイン名（出所情報）がドメインリスト取得部に格納されたドメインリストに含まれるかどうかを検査し、含まれている場合は検査成功と判定する。
【０１８６】
前述のようにドメインリストは放送波に含まれるか、又は放送波に含まれるＷｅｂアプリが取得するため、放送コンテンツを制作する放送局が作成する事ができる。当然ながら、情報出力装置２のＷＥＢアプリ実行部２２で実行されるＷｅｂアプリの出所情報とドメインリストに含まれるドメインは同一でなくてもよい。情報操作装置１で実行させるＷｅｂアプリと、情報出力装置２で動作させるＷｅｂアプリを異なるドメインのサーバで配布させることができるようになるため、Ｗｅｂアプリの配置場所に依存せず、アプリ開発のコストを削減する事が可能となる。また、ドメインリストは時間帯や放送番組によって変化させることができるため、動的に機器操作命令を送信するＷｅｂアプリを指定する事ができるようになる。
【０１８７】
上述した実施形態で説明した情報操作装置１と情報出力装置２、Ｗｅｂアプリ配布サーバ４、ＰＦアプリ配布サーバ５、利用許可証配布サーバ６の各構成部の少なくとも一部は、ハードウェアで構成してもよいし、ソフトウェアで構成してもよい。ソフトウェアで構成する場合には、装置・サーバの少なくとも一部の機能を実現するプログラムをフロッピー（登録商標）ディスクやＣＤ−ＲＯＭ等の記録媒体に収納し、コンピュータに読み込ませて実行させてもよい。記録媒体は、磁気ディスクや光ディスク等の携帯可能なものに限定されず、ハードディスク装置やメモリなどの固定型の記録媒体でもよい。
【０１８８】
また、情報操作装置１と情報出力装置２、Ｗｅｂアプリ配布サーバ４、ＰＦアプリ配布サーバ５、利用許可証配布サーバ６の少なくとも一部の機能を実現するプログラムを、インターネット８等の通信回線（無線通信も含む）を介して頒布してもよい。さらに、同プログラムを暗号化したり、変調をかけたり、圧縮した状態で、インターネット８等の有線回線や無線回線を介して、あるいは記録媒体に収納して頒布してもよい。
【符号の説明】
【０１８９】
１  情報操作装置
２  情報出力装置
３  情報処理システム
４  Ｗｅｂアプリ配布サーバ
５  ＰＦアプリ配布サーバ
６  利用許可証配布サーバ
７  ネットワーク
８  インターネット
９  ＰＦアプリ
１０  ＷＥＢアプリ
１１  ＨＴＴＰ処理部
１２  アプリ取得部
１３  アプリキャッシュ部
１５  入力受信部
１６  アプリ実行部
１７  画面出力部
１８  Ｗｅｂｓｏｃｋｅｔクライアント処理部
１８ａ  Ｗｅｂｓｏｃｋｅｔクライアント処理部
１８ｂ  Ｗｅｂｓｏｃｋｅｔクライアント処理部
１９  機器操作命令送信部
１９ａ  機器操作命令送信部
２０  検索処理部
２１  リダイレクト処理部
２２  ＷＥＢアプリ実行部
２２ａ  ＷＥＢアプリ実行部
２２ｂ  ＰＦアプリ実行部
２３  ＰＩＮ保存部
２４  利用許可証蓄積部
２５  利用許可証送信部
２６  ＰＦアプリ取得部
２７  ＷＥＢアプリ取得部
２８  ＰＦアプリキャッシュ部
２９  ＷＥＢアプリキャッシュ部
３０  アプリ蓄積部
３１  ＨＴＴＰ処理部
３２  チューナー部
３３  画面出力部
３４  機器操作命令処理部
３５  リモコン命令処理部
３６  利用許可証取得部
３８  公開鍵管理部
３９  ＰＩＮ管理部
４０  Ｗｅｂｓｏｃｋｅｔサーバ処理部
４１  機器検索処理部
４２  利用許可証検査部
４３  アプリ出所検査部
４４  ＰＩＮ検査部
４５  ＨＴＴＰサーバ処理部
４８  命令選択部
４９  表示操作部
５０  命令判断部
５１  ＨＴＴＰサーバサーバ処理部
５２  アプリ蓄積部
５３  アプリ登録処理部
５４  アプリ配布部
５７  利用許可証検索処理部
６１  ＨＴＴＰサーバサーバ処理部
６２  アプリ蓄積部
６３  アプリ登録処理部
６４  アプリ配布部
６６  公開鍵管理部
６７  ＭＡＣ計算部
６８  乱数生成部
６９  ＭＡＣ検査部
７０  ドメイン付与部
７１  ドメインリスト取得部
７６  ＨＴＴＰサーバ処理部
７７  アプリ情報蓄積部
７８  利用許可証登録受付処理部
７９  利用許可証生成部
８０  利用許可証登録受付処理部
８１  アプリ初期化命令
８２  ローカルＷｅｂアプリ
８３  アＷｅｂプリＵＲＬ
８４  Ｗｅｂアプリ実行部呼び出し命令
８５  リソース
９１  アプリ固有ＩＤ
９２  Ｗｅｂアプリの出所
９３  署名
９４  署名方式
９５  操作命令リスト
【図１−１】
2014192638.tif 000003
【図１−２】
2014192638.tif 000004
【図２】
2014192638.tif 000005
【図３−１】
2014192638.tif 000006
【図３−２】
2014192638.tif 000007
【図３−３】
2014192638.tif 000008
【図４】
2014192638.tif 000009
【図５】
2014192638.tif 000010
【図６】
2014192638.tif 000011
【図７】
2014192638.tif 000012
【図８】
2014192638.tif 000013
【図９】
2014192638.tif 000014
【図１０】
2014192638.tif 000015
【図１１−１】
2014192638.tif 000016
【図１１−２】
2014192638.tif 000017
【図１２−１】
2014192638.tif 000018
【図１２−２】
2014192638.tif 000019
【図１３】
2014192638.tif 000020
【図１４】
2014192638.tif 000021
【図１５−１】
2014192638.tif 000022
【図１５−２】
2014192638.tif 000023
【図１６】
2014192638.tif 000024
【図１７】
2014192638.tif 000025
【図１８】
2014192638.tif 000026
【図１９】
2014192638.tif 000027
【図２０】
2014192638.tif 000028
【図２１】
2014192638.tif 000029
【図２２】
2014192638.tif 000030
【図２３】
2014192638.tif 000031
【図２４】
2014192638.tif 000032
【図２５】
2014192638.tif 000033
【図２６】
2014192638.tif 000034
【図２７】
2014192638.tif 000035
【図２８】
2014192638.tif 000036
【図２９】
2014192638.tif 000037
【図３０】
2014192638.tif 000038
【図３１】
2014192638.tif 000039
【図３２】
2014192638.tif 000040
【図３３】
2014192638.tif 000041
【図３４】
2014192638.tif 000042
【図３５】
2014192638.tif 000043
【図３６】
2014192638.tif 000044
【図３７】
2014192638.tif 000045
【図３８】
2014192638.tif 000046
【図３９】
2014192638.tif 000047
【図４０】
2014192638.tif 000048
【図４１】
2014192638.tif 000049
【図４２】
2014192638.tif 000050
【図４３】
2014192638.tif 000051