(57)【要約】【課題】放送の受信装置において実行されるアプリと連携動作して放送通信連携サービスを提供する端末装置において連携動作に関するログを収集する。【解決手段】受信装置は、放送信号に含まれるコンテンツデータを出力する処理及び放送信号と連携した動作により複数のサービスを提供するアプリケーションを実行する処理を行う。端末装置のサービス実行管理部は、個別のサービスを提供するサービスアプリケーションを、受信したメッセージを用いて実行する複数のサービス実行部を並列動作させる。端末装置のメッセージ制御部は、受信装置が実行しているアプリケーションから発行されたメッセージを宛先のサービス実行部に出力する処理と、サービス実行部から発行されたメッセージを受信装置又は他のサービス実行部に出力する処理との少なくとも一方を行う。端末装置のログ管理部は、メッセージ制御部が処理したメッセージに関するログデータを取得する。【選択図】図６
2018078380.tif 000002
【特許請求の範囲】
【請求項１】
放送信号に含まれるコンテンツデータを出力する処理及び前記放送信号と連携した動作により複数のサービスを提供するアプリケーションを実行する処理を行う受信装置と通信する通信部と、
個別のサービスを提供するアプリケーションであるサービスアプリケーションを、受信したメッセージを用いて実行する複数のサービス実行部と、
複数の前記サービス実行部を並列動作させるサービス実行管理部と、
前記受信装置において実行されている前記アプリケーションから発行され、前記通信部が受信したメッセージを宛先の前記サービス実行部に出力する処理と、前記サービス実行部から発行されたメッセージを前記受信装置又は他の前記サービス実行部に出力する処理との少なくとも一方を行うメッセージ制御部と、
前記メッセージ制御部における処理の対象となった前記メッセージに関するログデータを取得するログ管理部と、
を備えることを特徴とする端末装置。
【請求項２】
前記ログ管理部は、前記通信部が受信した前記メッセージから得られた、前記受信装置において受信中の放送サービスに関する情報を取得する、
ことを特徴とする請求項１に記載の端末装置。
【請求項３】
前記端末装置の状態又は前記端末装置の環境に関する情報を検出するセンサー部をさらに備え、
前記ログ管理部は、前記センサー部による検出結果に関するログデータを取得する、
ことを特徴とする請求項１又は請求項２に記載の端末装置。
【請求項４】
前記ログ管理部は、前記受信装置との接続状態に関するログデータを取得する、
ことを特徴とする請求項１から請求項３のいずれか一項に記載の端末装置。
【請求項５】
前記ログ管理部は、前記サービス実行部による前記サービスアプリケーションの実行状態に関するログデータを取得する、
ことを特徴とする請求項１から請求項４のいずれか一項に記載の端末装置。
【請求項６】
前記ログ管理部は、前記サービス実行部が前記サービスアプリケーションを実行することにより行ったアクセスの履歴に関するログデータを取得する、
ことを特徴とする請求項１から請求項５のいずれか一項に記載の端末装置。
【請求項７】
ユーザ操作に従って前記受信装置に対する制御信号を、前記通信部を介して出力するリモコン部をさらに備え、
前記ログ管理部は、前記リモコン部に行われた前記ユーザ操作に関するログデータを取得する、
ことを特徴とする請求項１から請求項６のいずれか一項に記載の端末装置。
【請求項８】
前記ログ管理部は、前記ユーザ操作により受信が指示された放送サービスに関するログデータを取得する、
ことを特徴とする請求項７に記載の端末装置。
【請求項９】
前記ログ管理部は、取得した前記ログデータを、前記端末装置が備えるログ記憶部に蓄積する処理と、ログデータを蓄積するログ記憶部を備えた外部装置に前記通信部を介して送信する処理との少なくとも一方を行う、
ことを特徴とする請求項１から請求項８のいずれか一項に記載の端末装置。
【請求項１０】
前記ログ管理部は、取得した前記ログデータに利用者の識別情報を付加し、ログデータを蓄積するログ記憶部を備えた外部装置に前記通信部を介して送信する、
ことを特徴とする請求項１から請求項８のいずれか一項に記載の端末装置。
【請求項１１】
前記サービス実行部から取得が指示されたログデータを前記ログ記憶部から読み出して返送するログアクセス制御部をさらに備える、
ことを特徴とする請求項９又は請求項１０に記載の端末装置。
【請求項１２】
コンピュータを、
個別のサービスを提供するアプリケーションであるサービスアプリケーションを、受信したメッセージを用いて実行する複数のサービス実行手段と、
複数の前記サービス実行手段を並列動作させるサービス実行管理手段と、
放送信号に含まれるコンテンツデータを出力する処理及び前記放送信号と連携した動作により複数のサービスを提供するアプリケーションを実行する処理を行う受信装置において実行されている前記アプリケーションから発行されたメッセージを宛先の前記サービス実行手段に出力する処理と、前記サービス実行手段から発行されたメッセージを前記受信装置又は他の前記サービス実行手段に出力する処理との少なくとも一方を行うメッセージ制御手段と、
前記メッセージ制御手段における処理の対象となった前記メッセージに関するログデータを取得するログ管理手段と、
を具備する端末装置として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、端末装置及びプログラムに関する。
【背景技術】
【０００２】
近年、放送通信連携サービスを実現するためのシステムに関する研究開発が盛んに行われている。ハイブリッドキャストは、日本の代表的な放送通信連携サービスの一つであり、その技術仕様が策定されている（例えば、非特許文献1、2参照）。この技術仕様の規格に則り、２０１３年よりハイブリッドキャストのサービスが開始されている。例えば、ＨＴＭＬ（Hypertext Markup Language）５を用いて記述された放送マネージドアプリケーションによるサービスが、複数の放送局より提供されている。「アプリケーション」とは、アプリケーションプログラムの略称であり、以下では、「アプリ」とも記載する。放送マネージドアプリは、放送送信側から送信される放送サービスの制御信号を用いて、起動、終了、強制終了などのライフサイクルが制御されるアプリである。
【０００３】
ハイブリッドキャストでは、テレビなどの受信装置と、スマートフォンやタブレットなどの端末装置とが連携する機能を利用することが可能である。以下では、受信装置と連携する端末装置を連携端末とも記載する。連携機能の具体的な一例として、テレビで実行される放送マネージドアプリと、端末装置にインストールされたコンパニオンアプリ上で動作するＷｅｂ（ウェブ）アプリとの間で、テキストメッセージを相互に送受信することができる。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】“ＩＰＴＶ規定  放送通信連携システム仕様  ＩＰＴＶＦＪ  ＳＴＤ−００１０  ２．１版”、一般社団法人  ＩＰＴＶフォーラム、２０１６年３月７日
【非特許文献２】“ＩＰＴＶ規定  ＨＴＭＬ５ブラウザ仕様  ＩＰＴＶＦＪ  ＳＴＤ−００１１  ２．２版”、一般社団法人  ＩＰＴＶフォーラム、２０１６年３月７日
【発明の概要】
【発明が解決しようとする課題】
【０００５】
現行のハイブリッドキャストの規格においては、テレビ側の放送マネージドアプリから指定したＵＲＬ（Universal Resource Locator）のウェブアプリを端末装置のコンパニオンアプリ上で表示し、テレビと端末装置の双方のデバイスで提示するアプリが連携動作する。この連携動作を行うときに、過去に行った連携動作に関する情報を利用することが望まれていた。
【０００６】
本発明は、このような事情を考慮してなされたもので、放送の受信装置において実行されるアプリと連携動作して放送通信連携サービスを提供する端末装置において、連携動作に関するログを収集することができる端末装置及びプログラムを提供する。
【課題を解決するための手段】
【０００７】
本発明の一態様は、放送信号に含まれるコンテンツデータを出力する処理及び前記放送信号と連携した動作により複数のサービスを提供するアプリケーションを実行する処理を行う受信装置と通信する通信部と、個別のサービスを提供するアプリケーションであるサービスアプリケーションを、受信したメッセージを用いて実行する複数のサービス実行部と、複数の前記サービス実行部を並列動作させるサービス実行管理部と、前記受信装置において実行されている前記アプリケーションから発行され、前記通信部が受信したメッセージを宛先の前記サービス実行部に出力する処理と、前記サービス実行部から発行されたメッセージを前記受信装置又は他の前記サービス実行部に出力する処理との少なくとも一方を行うメッセージ制御部と、前記メッセージ制御部における処理の対象となった前記メッセージに関するログデータを取得するログ管理部と、を備えることを特徴とする端末装置である。
【０００８】
また、本発明の一態様は、上述の端末装置であって、前記ログ管理部は、前記通信部が受信した前記メッセージから得られた、前記受信装置において受信中の放送サービスに関する情報を取得する、ことを特徴とする。
【０００９】
また、本発明の一態様は、上述の端末装置であって、前記端末装置の状態又は前記端末装置の環境に関する情報を検出するセンサー部をさらに備え、前記ログ管理部は、前記センサー部による検出結果に関するログデータを取得する、ことを特徴とする。
【００１０】
また、本発明の一態様は、上述の端末装置であって、前記ログ管理部は、前記受信装置との接続状態に関するログデータを取得する、ことを特徴とする。
【００１１】
また、本発明の一態様は、上述の端末装置であって、前記ログ管理部は、前記サービス実行部による前記サービスアプリケーションの実行状態に関するログデータを取得する、ことを特徴とする。
【００１２】
また、本発明の一態様は、上述の端末装置であって、前記ログ管理部は、前記サービス実行部が前記サービスアプリケーションを実行することにより行ったアクセスの履歴に関するログデータを取得する、ことを特徴とする。
【００１３】
また、本発明の一態様は、上述の端末装置であって、ユーザ操作に従って前記受信装置に対する制御信号を、前記通信部を介して出力するリモコン部をさらに備え、前記ログ管理部は、前記リモコン部に行われた前記ユーザ操作に関するログデータを取得する、ことを特徴とする。
【００１４】
また、本発明の一態様は、上述の端末装置であって、前記ログ管理部は、前記ユーザ操作により受信が指示された放送サービスに関するログデータを取得する、ことを特徴とする。
【００１５】
また、本発明の一態様は、上述の端末装置であって、前記ログ管理部は、取得した前記ログデータを、前記端末装置が備えるログ記憶部に蓄積する処理と、ログデータを蓄積するログ記憶部を備えた外部装置に前記通信部を介して送信する処理との少なくとも一方を行う、ことを特徴とする。
【００１６】
また、本発明の一態様は、上述の端末装置であって、前記ログ管理部は、取得した前記ログデータに利用者の識別情報を付加し、ログデータを蓄積するログ記憶部を備えた外部装置に前記通信部を介して送信する、ことを特徴とする。
【００１７】
また、本発明の一態様は、上述の端末装置であって、前記サービス実行部から取得が指示されたログデータを前記ログ記憶部から読み出して返送するログアクセス制御部をさらに備える、ことを特徴とする。
【００１８】
また、本発明の一態様は、コンピュータを、個別のサービスを提供するアプリケーションであるサービスアプリケーションを、受信したメッセージを用いて実行する複数のサービス実行手段と、複数の前記サービス実行手段を並列動作させるサービス実行管理手段と、放送信号に含まれるコンテンツデータを出力する処理及び前記放送信号と連携した動作により複数のサービスを提供するアプリケーションを実行する処理を行う受信装置において実行されている前記アプリケーションから発行されたメッセージを宛先の前記サービス実行手段に出力する処理と、前記サービス実行手段から発行されたメッセージを前記受信装置又は他の前記サービス実行手段に出力する処理との少なくとも一方を行うメッセージ制御手段と、前記メッセージ制御手段における処理の対象となった前記メッセージに関するログデータを取得するログ管理手段と、を具備する端末装置として機能させるプログラムである。
【発明の効果】
【００１９】
本発明によれば、放送の受信装置において実行されるアプリと連携動作して放送通信連携サービスを提供する端末装置において、連携動作に関するログを収集することが可能となる。
【図面の簡単な説明】
【００２０】
【図１】本発明の一実施形態による放送通信連携システムの全体構成図である。
【図２】同実施形態による受信装置及び連携端末のスタック図である。
【図３】同実施形態による受信装置の内部構成を示す機能ブロック図である。
【図４】同実施形態によるアプリ実行部の詳細な構成を示す機能ブロック図である。
【図５】同実施形態による連携端末の構成を示す機能ブロック図である。
【図６】同実施形態によるログ管理部の詳細な構成を示す機能ブロック図である。
【図７】同実施形態による放送事業者判定データベースの例を示す図である。
【図８】同実施形態によるユーザポリシー設定情報の例を示す図である。
【図９】同実施形態による事業者ポリシー設定情報の例を示す図である。
【図１０】同実施形態によるメッセージ制御部の詳細な構成を示す機能ブロック図である。
【図１１】同実施形態による放送マネージドアプリの記述例を示す図である。
【図１２】同実施形態によるメッセージの設定例を示す図である。
【図１３】同実施形態によるメッセージ制御部の処理フローを示す図である。
【図１４】同実施形態によるメッセージ制御部の処理フローを示す図である。
【図１５】同実施形態による受信装置と連携端末の間でメッセージを送信する場合のシーケンス図である。
【図１６】同実施形態によるウェブサービス間でメッセージを送信する場合のシーケンス図である。
【図１７】同実施形態によるメッセージの設定例を示す図である。
【図１８】同実施形態による受信装置と連携端末の間でセッションの識別子に基づきメッセージを送信する場合のシーケンス図である。
【図１９】同実施形態による受信装置と連携端末の間でセッションの識別子に基づきメッセージを送信する場合のシーケンス図である。
【図２０】同実施形態によるメッセージの設定例を示す図である。
【図２１】同実施形態による連携端末のウェブアプリ間でセッションの識別子に基づきメッセージを送信する場合のシーケンス図である。
【図２２】同実施形態による連携端末のウェブアプリ間でセッションの識別子に基づきメッセージを送信する場合のシーケンス図である。
【発明を実施するための形態】
【００２１】
以下、図面を参照しながら本発明の実施形態を詳細に説明する。以下では、「アプリケーションプログラム」を、「アプリケーション」又は「アプリ」とも記載する。また、以下の説明では、アプリに記述された命令で指定される処理を実行することを、単に「アプリを実行」又は「アプリの実行」と呼ぶことがある。
【００２２】
図１は、本実施形態の一実施形態による放送通信連携システム１の全体構成図である。放送通信連携システム１は、放送送出装置２と、サービスサーバ３と、受信装置４と、連携端末５と、ログサーバ６とを有する。放送送出装置２、サービスサーバ３及びログサーバ６は送信側の装置であり、受信装置４及び連携端末５は、受信側の装置である。
【００２３】
放送送出装置２は、放送信号を送出する。サービスサーバ３は、アプリ本体やアプリで利用するコンテンツデータを、インターネットを介して受信側の装置へ配信する。アプリ本体とは、アプリケーションのプログラムである。受信装置４は、例えば、ハイブリッドキャスト対応テレビである。連携端末５は、例えば、スマートフォンやタブレット端末などの端末装置である。受信装置４及び連携端末５は、インターネットを介してサービスサーバ３と相互に通信できる。また、受信装置４と連携端末５は、無線ＬＡＮ（Local Area Network）等のローカルネットワークを介して接続する。ログサーバ６は、連携端末５において収集したログデータを記憶する。なお、ログデータを連携端末５のみに蓄積する場合、放送通信連携システム１はログサーバ６を備えなくてもよい。
【００２４】
放送通信連携サービスの形態は複数存在するが、本実施形態の放送通信連携システム１では、ハイブリッドキャスト技術仕様（非特許文献１、２）に基づき、受信装置４において、デジタル放送サービスとインターネットサービスとが連携動作することを想定する。受信装置４が、放送またはインターネットにより配信されるアプリを実行することで、インターネット上のコンテンツを取得できるようになり、ユーザが放送通信連携サービスを利用できるようになる。さらに、ハイブリッドキャスト技術仕様に則り、受信装置４と連携端末５にインストールした端末側連携アプリとが連携動作する。
【００２５】
なお、本実施形態においては、受信装置４において動作するアプリは、放送事業者が配信する放送マネージドアプリとする。放送マネージドアプリは、放送送出装置２から送信される放送サービスの制御信号に基づいて、起動、終了、強制終了などのライフサイクルが制御される。
【００２６】
連携端末５に実装される端末側連携アプリは、通信により接続される他の装置である受信装置４と連携して動作するコンパニオンアプリである。端末側連携アプリは、受信装置４により実行される放送マネージドアプリと連携動作する1以上のサービスアプリを実行する。
【００２７】
放送マネージドアプリとサービスアプリとは連携動作することにより、ユーザへ提供するサービスを実行する。サービスとは、ユーザが連携端末５に行った操作に従って動作した結果の画像、映像、音声を、連携端末５に、又は、受信装置４及び連携端末５に出力することである。サービスの実行には、受信装置４が有する受信機機能から取得した情報などが利用される。受信機機能は、放送信号を受信し、ユーザにより選択されたチャンネルの番組映像や音声などのコンテンツデータを放送信号から取得し、デコードして出力する一連の機能である。ユーザに提供するサービスは任意であるが、一例として、ＳＮＳ（ソーシャルネットワークサービス）、天気予報やニュースなどの情報の提供、外国語字幕の提供、テレビ映像とは異なる角度からの映像の提示などがある。
【００２８】
本実施形態では、端末側連携アプリにおいて実行されるサービスアプリがウェブアプリである場合を例に説明する。ウェブアプリとは、ウェブブラウザにより実行されるアプリである。ウェブアプリは、任意の手段により連携端末５に実装される。例えば、ウェブアプリは、放送マネージドアプリから取得が指示されたアプリでもよく、ユーザ操作により取得したアプリでもよく、連携端末５に予め実装されたアプリでもよい。放送マネージドアプリ及びウェブアプリのプログラムは、例えば、ＨＴＭＬ（Hypertext Markup Language）により記述される。
【００２９】
図２は、受信装置４及び連携端末５のスタック図である。受信装置４は、ハードウェア、ＯＳ（Operation System）、レジデント及びアプリ実行部の４層から構成される。アプリ実行部は、例えばＨＴＭＬ５ブラウザであり、放送マネージドアプリを実行する。ＯＳ上で実行されるレジデントには、メモリに常駐するソフトウェアによる放送の受信機機能が搭載される。アプリ実行部で実行される放送マネージドアプリは、非特許文献1により規定される拡張ＡＰＩ（Application Program Interface）を通してレジデントの受信機機能にアクセスすることができる。ハードウェアは、ＣＰＵ（central processing unit）、各種メモリ、チューナー、デコーダ、通信装置、表示装置、入力装置などを含む。
【００３０】
連携端末５は、ハードウェア、ＯＳ及びネイティブアプリ実行部の３層から構成される。ネイティブアプリ実行部は、ｉＯＳ（登録商標）やＡｎｄｒｏｉｄ（登録商標）など端末のＯＳが提供するアプリを実行する。ネイティブアプリ実行部では、複数のネイティブアプリが動作可能である。ネイティブアプリは、特定のＯＳやプラットフォームで実行可能なプログラムである。本実施形態における端末側連携アプリはネイティブアプリであり、ネイティブアプリ実行部において動作する。なお、端末側連携アプリは、ネイティブアプリでなくてもよい。例えば、端末側連携アプリは、ネイティブアプリから、ネイティブアプリではないブラウザを呼び出し、ブラウザによりウェブアプリを実行させてもよい。ハードウェアは、ＣＰＵ、各種メモリ、通信装置、表示装置、入力装置などを含む。
【００３１】
ハイブリッドキャストにおける端末連携機能は、受信装置４のアプリ実行部で動作する放送マネージドアプリと、連携端末５のネイティブアプリ実行部が実行する端末側連携アプリの内部で動作するウェブアプリの間で実現される。放送マネージドアプリとウェブアプリとの間では、非特許文献1で規定される拡張ＡＰＩを用いてテキストメッセージを送信する。テキストメッセージには、任意のメッセージ内容を記述することができる。例えば、メッセージ内容は、アプリに対する各種の実行命令や、アプリが動作する際に用いられる付加的な情報などでもよい。
【００３２】
図３は、受信装置４の内部構成を示すブロック図であり、本実施形態と関係する機能ブロックのみを抽出して示してある。同図に示す受信装置４は、放送受信部４０１、分離部４０２、映像復号部４０３、音声復号部４０４、データ放送実行部４０５、通信入出力部４０６、リモコン入力制御部４０７、電源制御部４０８、アプリ実行部４０９、アプリ制御部４１０、放送通信連携部４１１、端末連携部４１２、映像合成部４１３、映像表示部４１４、音声合成部４１５及び音声出力部４１６を備えて構成される。
【００３３】
放送受信部４０１は、チューナーであり、放送送出装置２から送出された放送信号を受信し、復調する。分離部４０２は、放送受信部４０１が受信し、復調した放送信号を、映像データ、音声データなどのコンテンツデータや、コンテンツデータ以外のデータに分離する。コンテンツ以外のデータには、例えば、データ放送や、受信チャンネル、番組情報が記述されたＳＩ（Service Information）や、イベントメッセージなどが含まれる。映像復号部４０３は、映像データを復号する。音声復号部４０４は、音声データを復号する。データ放送実行部４０５は、ＢＭＬ（Broadcast Markup Language）ブラウザであり、データ放送を実行する。
【００３４】
通信入出力部４０６は、通信ネットワークに接続するためのインターフェースである。通信入出力部４０６は、インターネットなどを介してアプリマーケット、アカウント管理サーバ、アプリ配信サーバなどのサービスサーバ３と接続する。また、通信入出力部４０６は、無線ＬＡＮなどのローカルネットワークを介して連携端末５と接続する。リモコン入力制御部４０７は、リモコン（リモートコントローラ）からユーザがリモコンに行った操作を示すデータを受信する。電源制御部４０８は、受信装置４の電源の制御を行う。
【００３５】
アプリ実行部４０９は、放送マネージドアプリを実行するウェブ（Ｗｅｂ）ブラウザである。放送マネージドアプリは、１以上のサービスの機能を提供する。アプリ制御部４１０は、放送信号から分離されたデータに含まれる情報に基づいて、放送マネージドアプリの起動や終了などの制御を行う。例えば、アプリ制御部４１０は、現在選択されている放送事業者（チャンネル）の放送マネージドアプリを、放送信号から分離されたＡＩＴに設定されている情報などに基づいて制御する。アプリ制御部４１０は、起動した放送マネージドアプリの識別情報を端末連携部４１２に通知する。
【００３６】
放送通信連携部４１１は、放送マネージドアプリにおいて放送又は通信により取得したコンテンツを連携動作させるために、アプリ実行部４０９に対して拡張ＡＰＩで規定される機能を提供する。具体的には、放送通信連携部４１１は、受信中の放送信号に含まれるＳＩやイベントメッセージなどの情報や受信装置４が備える機能などへのアクセス手段を提供する。端末連携部４１２は、連携端末５とのペアリング処理と、受信装置４の放送マネージドアプリと連携端末５のウェブアプリ間の通信を仲介する処理とを行う。端末連携部４１２は、後述する図５に示す連携端末５の端末連携部５３１とペアで動作する。端末連携部４１２は、起動された放送マネージドアプリの識別情報を連携端末５に通知する。
【００３７】
映像合成部４１３は、映像復号部４０３が復号した放送番組の映像データと、データ放送実行部４０５やアプリ実行部４０９の処理結果に基づき出力された映像データとを合成し、映像表示部４１４に出力する。映像表示部４１４は、一般的なディスプレイであり、映像合成部４１３が合成した映像データの映像を表示する。
【００３８】
音声合成部４１５は、音声復号部４０４が復号した放送番組の音声データと、データ放送実行部４０５やアプリ実行部４０９の処理結果に基づき出力された音声データとを合成し、音声出力部４１６に出力する。音声出力部４１６は、一般的なスピーカーであり、音声合成部４１５が合成した音声データを音声により出力する。
【００３９】
図４は、アプリ実行部４０９の詳細な構成を示す機能ブロック図である。アプリ実行部４０９は、サービス実行部４２１、サービス実行管理部４２２及びメッセージ制御部４２３を有する。なお、アプリ実行部４０９は複数のサービス実行部４２１を備え得るが、同時に動作する放送マネージドアプリは一つのみとする。同図では、アプリ実行部４０９が備える複数のサービス実行部４２１をそれぞれ、サービス実行部４２１−１、４２１−２、４２１−３、…と記載している。
【００４０】
サービス実行部４２１は、アプリ制御部４１０による制御に基づき、放送マネージドアプリに含まれるサービス機能を実行する。サービス実行管理部４２２は、各サービス実行部４２１の起動及び終了の制御や状態管理を行い、複数のサービス実行部４２１を並列に実行させる。
【００４１】
メッセージ制御部４２３は、サービス実行部４２１が実行する放送マネージドアプリのサービス機能と連携端末５が実行するウェブアプリとの間のメッセージを適切に送受信するための制御を行う。メッセージ制御部４２３は、サービス識別管理部４２３１、メッセージ受信部４２３２、メッセージ判定部４２３３、メッセージ分配部４２３４及び送信元サービス設定部４２３５を有する。
【００４２】
サービス識別管理部４２３１は、サービス実行部４２１の識別子と、そのサービス実行部４２１により実行されるサービスの識別子との対応表を例えばリスト形式で管理する。サービスの識別子は、予め決められる。なお、各放送マネージドアプリは、プレフィックスを付加することなどにより、送信先のアドレスとして、サービス毎に予め決められた識別子を、メッセージの一部に付加して送受信を行う。
【００４３】
メッセージ受信部４２３２は、連携端末５からのメッセージ、及び、サービス実行部４２１からのメッセージを受信する。メッセージ受信部４２３２は、受信したメッセージを、メッセージ判定部４２３３及びメッセージ分配部４２３４に送信する。なお、メッセージ受信部４２３２は、メッセージ判定部４２３３に宛先の判定に必要な情報のみを送信してもよい。
【００４４】
メッセージ判定部４２３３は、メッセージ受信部４２３２から受信したメッセージに付加されたサービスの識別子と、サービス識別管理部４２３１に記憶される対応表とを照合してメッセージの送信先を決定し、メッセージ分配部４２３４に通知する。メッセージ判定部４２３３は、メッセージに付加された送信元のサービスの識別子と送信先のサービスの識別子とが同一の場合は連携端末５を送信先とし、異なる場合はサービス実行部４２１を送信先とする。また、メッセージ判定部４２３３は、実施形態によっては、サービス間の通信チャンネルを確立するための識別子の発行や、その識別子に基づいたメッセージの送信先の決定を行う。
【００４５】
メッセージ分配部４２３４は、メッセージ受信部４２３２から受信したメッセージを、メッセージ判定部４２３３が決定した送信先に送信する。送信元サービス設定部４２３５は、サービス実行部４２１が連携端末５または他のサービス実行部４２１に対して送信するメッセージに、そのサービス実行部４２１において実行中の放送マネージドアプリのサービスの識別子を付加する。
【００４６】
図５は、連携端末５の構成を示す機能ブロック図であり、本実施形態と関係する機能ブロックのみを抽出して示してある。同図においては、端末側連携アプリを中心とした機能構成を示す。連携端末５は、ハードウェア部５１、ＯＳ部５２、連携アプリ実行制御部５３及び他アプリ実行制御部５４を有する。
【００４７】
ハードウェア部５１は、ＣＰＵ、各種メモリ、通信装置、ディスプレイ（表示装置）、ユーザ操作を入力するための入力デバイス（入力装置）などの各種ハードウェアからなる。ディスプレイがタッチパネルである場合、入力デバイスは、タッチパネルに配されたタッチセンサーである。ハードウェア部５１は、通信装置により実現される通信入出力部５１１、及び、各種のセンサー５１２を有する。同図では、ｎ個（ｎは自然数）のセンサーをセンサー５１２−１〜５１２−ｎと記載している。
【００４８】
通信入出力部５１１は、通信ネットワークに接続するためのインターフェースである。通信入出力部５１１は、インターネットなどを介してサービスサーバ３及びログサーバ６と接続する。また、通信入出力部５１１は、無線ＬＡＮなどのローカルネットワークを介して受信装置４と接続する。センサー５１２は、連携端末５の状態や連携端末５が存在する環境に関する情報を検出する。センサー５１２は、例えば、ＧＰＳ（Global Positioning System）、加速度センサー、温度センサー、磁気センサー、輝度センサー、近接センサーなどであるが、これらに限定されない。
【００４９】
ＯＳ部５２は、ＯＳにより実現され、端末全体を制御し、連携アプリ実行制御部５３及び他アプリ実行制御部５４に、ハードウェア部５１へのインターフェースを提供する。
【００５０】
連携アプリ実行制御部５３は、ＣＰＵがメモリに記憶された端末側連携アプリを読み出して実行することにより実現される。連携アプリ実行制御部５３は、端末連携部５３１、サービス実行部５３２、サービス実行管理部５３３、メッセージ制御部５３４、ＩＤ管理部５５１、接続状態管理部５５２、リモコン部５５３、ログ管理部５５４、ログアクセス制御部５５５、ユーザポリシー設定部５５６及び事業者ポリシー設定部５５７を有する。複数のサービス実行部５３２をそれぞれ、サービス実行部５３２−１、５３２−２、５３２−３、…と記載する。
【００５１】
端末連携部５３１は、受信装置４とのペアリング処理と、受信装置４の放送マネージドアプリと連携端末５のウェブアプリ間の通信を仲介する処理とを行う。端末連携部５３１は、受信装置４の端末連携部４１２とペアで動作する。
【００５２】
サービス実行部５３２は、個々のサービスを提供するためのウェブアプリを実行する。サービス実行部５３２の実装方法としては、Ａｎｄｒｏｉｄ（登録商標）搭載端末におけるＷｅｂＶｉｅｗ、ｉＯＳ搭載端末におけるＵＩＷｅｂＶｉｅｗなどが挙げられる。サービス実行部５３２は複数存在することを前提としており、各サービス実行部５３２には一意の識別子が割り当てられ、サービスの識別子としても用いられる。各サービス実行部５３２は、以下のようなウェブアプリを実行する。
【００５３】
（１）現在実際にサービスが提供されている受信装置４の放送マネージドアプリと連携したウェブアプリ。なお、このウェブアプリを実行するのは一つのサービス実行部５３２である。
（２）複数の放送局が配信する放送マネージドアプリと連携して共通に利用することができるウェブアプリ。
（３）受信装置４と連携しないウェブアプリ。
【００５４】
サービス実行管理部５３３は、各サービス実行部５３２の起動及び終了の制御や状態管理を行い、複数のサービス実行部５３２を並列に実行させる。サービス実行管理部５３３は、受信装置４からの指示又はユーザ操作に基づいて、サービス実行部５３２、または、サービス実行部５３２上で実行されるウェブアプリの起動及び終了の制御や、フォアグラウンドでの動作又はバックグラウンドでの動作など状態の変更を行う。また、サービス実行管理部５３３は、実行中のウェブアプリの提供者の識別情報とウェブアプリの識別情報の一方又は両方を管理する。ウェブアプリの提供者の識別情報として、例えば、ウェブアプリの取得先のドメイン名を用いることができる。
【００５５】
ＩＤ管理部５５１は、個々の利用者ＩＤを発行し、管理する。利用者ＩＤは、例えば、連携端末５、連携端末５に実装された端末側連携アプリ、又は、連携端末５のユーザを一意に特定する識別情報である。利用者ＩＤは、ユーザが入力したものでもよく、ＩＤ管理部５５１が外部の装置と協働するなどして生成したものでもよい。
【００５６】
接続状態管理部５５２は、連携端末５が受信装置４と接続状態であるか否かを検知し、その状態を管理する。リモコン部５５３は、受信装置４のソフトウェアリモコンに相当する。具体的には、リモコン部５５３は、チャンネルボタン、色ボタン、dボタン、上下左右ボタン、決定ボタン、戻るボタン、音量ボタン、電源ボタンなどのユーザインターフェースと、ユーザがそれらを操作したときに、その操作に応じた命令を発行し、端末連携部５３１及び通信入出力部５１１を介して受信装置４に送信する機能を有する。
【００５７】
ログ管理部５５４は、ユーザが端末側連携アプリを利用する際に取得可能な、複数の種類のログデータを統合的に管理する。ログデータには、ログが得られた時刻の情報が含まれる。ログアクセス制御部５５５は、サービス実行部５３２において実行中のウェブアプリに対して、ログ管理部５５４において管理される各種ログデータへのアクセスを許可するか否かのアクセス制御を行う。ログアクセス制御部５５５は、このアクセス制御を、ユーザポリシー設定部５５６にユーザのポリシーとして設定された条件、及び、事業者ポリシー設定部５５７に事業者のポリシーとして設定された条件に基づいて行う。
【００５８】
ユーザポリシー設定部５５６は、ログ管理部５５４に各種ログデータの管理を認可するか否かの認否や、ウェブアプリからの各種ログデータへのアクセスを認可するか否かの認否を、ユーザがポリシーとして設定する機能を有する。ユーザポリシー設定部５５６は、内部に備えるユーザポリシー記憶部５５６１に、ユーザが設定したポリシーを示すユーザポリシーデータを書き込む。なお、ユーザポリシー記憶部５５６１は、ユーザポリシー設定部５５６の外部に備えられてもよい。ログデータを記憶するログ記憶部が、連携端末５のログ管理部５５４内と、インターネットを介して接続されるログサーバ６などのクラウドのサーバ内との両方に実装される場合は、どちらを利用するかのポリシーをユーザポリシー設定部５５６にさらに設定することもできる。ログ管理部５５４は、取得したログデータを、ユーザポリシー記憶部５５６１に記憶されるポリシーに従って、後述する図６に示すログ管理部５５４内のログ記憶部５５４２に書き込むか、ログサーバ６に送信する。ユーザがユーザポリシーの設定を行うための機能は、端末側連携アプリによる画面として提供し、連携端末５のグラフィカルユーザインターフェース（ＧＵＩ）を介してユーザが設定することを想定する。
【００５９】
事業者ポリシー設定部５５７は、ウェブアプリからログ管理部５５４が管理するログデータへのアクセスを認可するか否かの認否を、放送事業者がポリシーとして設定する機能を有する。アクセスの認否は、ウェブアプリを提供する事業者ごとに設定されてもよく、ウェブアプリ又はサービスごとに設定されてもよい。事業者ポリシー設定部５５７は、内部に備える事業者ポリシー記憶部５５７１に、放送事業者により設定されたポリシーを示す事業者ポリシーデータを書き込む。この事業者ポリシーデータは、端末側連携アプリのアップデートや、インターネット上のサービスサーバ３から事業者のポリシーに関するデータを連携端末５に送信することにより更新される。あるいは、事業者ポリシー設定部５５７は、受信装置４が放送信号から取得した事業者ポリシーデータを、通信入出力部５１１及び端末連携部５３１を介して受信し、事業者ポリシー記憶部５５７１に記憶される事業者ポリシーデータを更新してもよい。なお、事業者ポリシー記憶部５５７１は、事業者ポリシー設定部５５７の外部に備えられてもよい。
【００６０】
連携端末５におけるログ管理について説明する。
図６は、ログ管理部５５４の詳細な構成を示す図である。ログ管理部５５４は、ログデータベース部５５４１、放送サービス判定部５５４３、ログアクセス用ＡＰＩ提供部５５４４及び外部管理インターフェース部５５４５を備える。
【００６１】
ログデータベース部５５４１は、端末側連携アプリの各機能部からログデータを取得し、取得したログデータを管理するデータベースである。ログデータベース部５５４１は、他の機能部から取得したログデータをログ記憶部５５４２へ書き込むログ書込処理と、ログ記憶部５５４２に記憶されるログデータを読み出して他の機能部へ出力するログ読出処理を行う。なお、ログサーバ６にログデータベース部５５４１として動作する機能部を設けてもよい。以下に、ログデータベース部５５４１がログデータを取得する機能部と、具体的にその機能部から取得するログデータを示す。
【００６２】
（１）ログデータベース部５５４１は、サービス実行管理部５３３から、どのサービス実行部５３２又はウェブアプリが実行されているかの状態を示すログデータを取得する。状態取得方法は、サービス実行管理部５３３から定期的に送信する場合と、状態変化時にのみ送信する場合の２通りが考えられる。
【００６３】
（２）ログデータベース部５５４１は、接続状態管理部５５２から、連携端末５が受信装置４と接続しているか否かの状態を示す接続情報をログデータとして取得する。状態取得方法は、接続状態管理部５５２から定期的に送信する場合と、状態変化時にのみ送信する場合の２通りが考えられる。このログデータは、連携端末５が受信装置４と連携可能であるかを判定するために用いられる。
【００６４】
（３）ログデータベース部５５４１は、リモコン部５５３から、リモコン部５５３が提供するユーザインターフェースによるユーザの操作履歴をログデータとして取得する。例えば、数字キーが押されたことにより、放送チャンネルの選局が行われたこと、dボタンが押されたことによりハイブリッドキャストまたはデータ放送が起動されたこと、電源ボタンが押されたことにより受信装置４の電源がＯＮ／ＯＦＦされたこと、などを検知するために用いる。ここでは、リモコン部５５３は、ボタンが押されたというイベント発行時にログデータベース部５５４１に、そのイベント（ユーザによるボタンの操作）を示すログデータを通知する。
【００６５】
（４）ログデータベース部５５４１は、メッセージ制御部５３４から、受信装置４の放送マネージドアプリと連携端末５のウェブサービス間又は連携端末５のウェブサービス間で送受信するメッセージや、受信装置４と連携端末５のメッセージ制御部４２３間で送受信するコマンドを取得し、取得したメッセージ又はコマンドに関する情報をログデータとする。例えば、ログデータには、メッセージ又はコマンドの送信元を特定する情報と、メッセージ又はコマンドの送信先を特定する情報と、メッセージ又はコマンドの内容に関する情報とのうち少なくとも一部が含まれる。メッセージ又はコマンドの内容に関する情報とは、メッセージ又はコマンドの内容の全て又は一部、あるいは、メッセージ又はコマンドの内容の全て又は一部に任意のデータ処理を行って得られる情報である。例えば、受信装置４の放送マネージドアプリから連携端末５のウェブアプリを起動するために端末連携部５３１に送信されるsetURLForCompanionDeviceの値をコマンドから取得し、どの放送局のサービスであるかを検知するために用いることができる。setURLForCompanionDeviceの値は、具体的には、起動対象のウェブアプリのＵＲＬ（Universal Resource Locator）を示す。メッセージの具体例については後述する。
【００６６】
（５）ログデータベース部５５４１は、連携端末５のハードウェアに実装されるＧＰＳ、加速度センサー、輝度センサーなど多様なセンサー５１２から、センサー５１２の検出結果を示すログデータを取得する。
【００６７】
（６）ログデータベース部５５４１は、サービス実行部５３２からウェブアプリの実行状態や、サービス実行部５３２により実行されるウェブアプリが行ったサービスサーバ３へのアクセスの履歴や、サービス実行部５３２により実行されるウェブアプリを提供しているときにユーザが行った操作履歴データをログデータとして取得する。操作履歴データは、例えば、タップ、スワイプなどの画面の操作の履歴である。
【００６８】
ログデータベース部５５４１は、収集した上記のログデータに、時刻情報に加え、ＩＤ管理部５５１から取得した利用者ＩＤを対応付けてログ記憶部５５４２に書き込む。利用者ＩＤは、ユーザのＩＤ、デバイスのＩＤ、又は、端末側連携アプリのＩＤなどである。さらに、ログデータベース部５５４１は、ログデータに、個々のログデータを識別するためのログＩＤと、ログデータの種類を表すログＴｙｐｅを付加して、ログ記憶部５５４２に書き込む。ログＴｙｐｅの例については、後述する図８を用いて説明する。
【００６９】
放送サービス判定部５５４３は、リモコン部５５３から取得した操作履歴のデータや、メッセージ制御部５３４から取得したsetURLForCompanionDevice()の値に基づいて、受信装置４において受信中の放送サービスを判定する機能を提供する。放送サービスの判定方法の詳細については後述する。ログアクセス用ＡＰＩ提供部５５４４は、サービス実行部５３２により実行されるウェブアプリがログデータベース部５５４１にアクセスするためのＡＰＩを提供する。
【００７０】
外部管理インターフェース部５５４５は、ログデータがログサーバ６に蓄積される場合に、ログサーバ６との間の通信を制御する。図６では、連携端末５がログデータベース部５５４１を実装する場合を示しているが、通信ネットワークに接続されるクラウド上のログサーバ６に、ログデータベース部５５４１と同様の機能を実装する場合が考えられる。ログサーバ６がログデータベース部５５４１と同様の機能を実装する場合、外部管理インターフェース部５５４５は、ログデータベース部５５４１が収集し、ログ記憶部５５４２に記憶させたログデータを定期的に、又は、ログデータの発生の都度、読み出してログサーバ６に送信する。あるいは、連携端末５はログデータベース部５５４１を設けず、外部管理インターフェース部５５４５が、接続状態管理部５５２をはじめとする各機能部から取得したログデータを直接ログサーバ６に送信してもよい。
【００７１】
次に、放送サービス判定部５５４３が受信装置４において受信中の放送サービスを判定する方法について説明する。判定に用いるデータとしては、以下の３つが挙げられる。
【００７２】
（１）リモコン部５５３から受信した操作履歴のデータを用いる。ユーザが連携端末５を使って受信装置４の放送サービスを選局する際には、リモコン部５５３がディスプレイに表示させた数字キーなどを操作することが考えられる。この操作によって押下された数字キーのデータが、リモコン部５５３から放送サービス判定部５５４３に送信される。放送サービス判定部５５４３は、この数字キーに基づいて、放送事業者又はチャンネルを判定する。放送サービス判定部５５４３は、リモコン部５５３から数字キーが操作されたことを示す操作履歴が出力された場合、その数字キーに基づき判定した放送事業者又はチャンネルの情報を設定した視聴履歴のログデータを生成し、ログデータベース部５５４１に出力する。
【００７３】
（２）受信装置４から受信したＵＲＬの値を用いる。受信装置４において放送マネージドアプリが起動しており、かつ、端末連携サービスが提供されている場合は、放送マネージドアプリから端末側連携アプリに対してsetURLForCompanionDevice()関数を用いて、端末側連携アプリ上で動作させるウェブアプリのＵＲＬをコマンドで送信することが考えられる。メッセージ制御部５３４はそのコマンドを受信した際に、受信したコマンドから取得したＵＲＬ値を放送サービス判定部５５４３に送信する。放送サービス判定部５５４３は、例えば、ドメイン名など、そのＵＲＬに含まれる情報に基づいて放送事業者を判別する。放送サービス判定部５５４３は、判別した放送事業者の情報を設定した視聴履歴のログデータを生成してログデータベース部５５４１に出力する。
【００７４】
（３）受信装置４から受信した視聴履歴のデータを用いる。受信装置４の放送マネージドアプリは、受信中の放送サービスのservice_idやevent_idの値を視聴履歴のデータとして取得し、sendTextToCompanionDevice()関数を用いて連携端末５に送信する。この場合、メッセージ制御部５３４は、放送マネージドアプリから送信されたメッセージによりservice_idやevent_idを受信した際に、その値を放送サービス判定部５５４３に送信する。放送サービス判定部５５４３は、メッセージの内容から取得したservice_idの値やevent_idの値に基づいて放送事業者を判別する。放送サービス判定部５５４３は、判別した放送事業者の情報を設定した視聴履歴のログデータを生成してログデータベース部５５４１に出力する。
【００７５】
図７は、放送サービス判定部５５４３が実装する放送事業者判定データベースの例を示す図である。放送サービス判定部５５４３は、この放送事業者判定データベースを参照して、受信装置４において受信中のチャンネルの放送事業者を判定する。予め全ての放送事業者には、一意の事業者ＩＤが割り当てられている。放送では、リモコンにより入力されるチャンネルの番号、つまり、数字キーに割り当てられる放送事業者が地域ごとに異なる。そのため、地域ごとに放送事業者判定テーブルを設ける。各放送事業者判定テーブルは、放送事業者の事業者ＩＤを主キーとし、放送事業者名、service_id、放送マネージドアプリからsetURLForCompanionDevice()関数を用いて送信されるＵＲＬのドメイン名、数字キーを対応付けてレコードに格納する。一つの事業者ＩＤに対応してドメイン名やservice_idが複数存在する場合もある。
【００７６】
予めユーザは、どの地域に設置された受信装置４を利用しているのかを連携端末５に設定する。あるいは、放送サービス判定部５５４３は、連携端末５が備えるＧＰＳの出力に基づいて地域の情報を取得してもよい。放送サービス判定部５５４３は、その地域の情報に基づき、放送事業者判定データベースを構成する放送事業者判定テーブルのうち、参照するテーブルを決定する。放送サービス判定部５５４３は、数字キー、受信装置４からのＵＲＬの値、受信装置４からの視聴履歴のデータが入力されると、決定した放送事業者判定テーブルを参照して放送サービスを提供している放送事業者を特定し、ログデータベース部５５４１に通知する。
【００７７】
次に、ログ管理部５５４とログアクセス制御部５５５との関係について述べる。サービス実行部５３２により実行中のウェブアプリが、ログデータベース部５５４１に格納されたログデータを利用する際には、ログアクセス用のＡＰＩをコールする。ログアクセス用ＡＰＩ提供部５５４４が提供するこのＡＰＩがコールされた際、または、ログアクセス用ＡＰＩ提供部５５４４がＡＰＩのコール結果としてログデータベース部５５４１から読み出したログデータをサービス実行部５３２へ渡す際に、ログアクセス制御部５５５は、ユーザポリシー設定情報及び事業者ポリシー設定情報を参照してウェブアプリにログデータを提供するか否かを判定し、アクセス制御を実行する。
【００７８】
図８は、ユーザポリシー記憶部５５６１に記憶されるユーザポリシー設定情報の例を示す図である。ユーザポリシー設定情報は、ログの種類を表す項目の情報をキーとし、各項目に対応して、ログの管理を認可するか否か、及び、ウェブアプリからのアクセスを認可するか否かをそれぞれ示すレコードからなる。キーとして用いられる項目の情報は、ログの項目を特定するログＴｙｐｅと、項目名とにより示される。同図では、認可を「１」、否認を「０」としている。ログ管理が「０」である場合は、ログアクセスも「０」に設定される。各項目の例を以下に示す。ここで設定されたユーザポリシー設定情報がログアクセス制御部５５５に通知され、ログアクセス制御部５５５はユーザポリシー設定情報に従って以下のように各ＡＰＩに対するアクセス制御を実行する。
【００７９】
（１）項目「サービス利用履歴」は、どのサービスを利用したかの情報を示すログデータであり、サービス実行管理部５３３から得られる。
（２）項目「Web閲覧履歴」は、サービス実行部５３２がサービスサーバ３により提供されるウェブページにアクセスしたときの取得先のＵＲＬの情報を示すログデータであり、サービス実行部５３２から得られる。
（３）項目「画面操作履歴」は、ウェブアプリの操作履歴を示すログデータであり、サービス実行部５３２から得られる。
（４）項目「テレビとの接続状態」は、連携端末５との接続状態を示すログデータであり、接続状態管理部５５２から得られる。
（５）項目「リモコン操作履歴」は、リモコン部５５３に対するユーザの操作履歴を示すログデータであり、リモコン部５５３から得られる。
（６）項目「視聴履歴」は、受信装置４において受信した放送サービスの履歴を示すログデータであり、放送サービス判定部５５４３から得られる。
（７）項目「ＧＰＳ」は、センサー５１２の一つであるＧＰＳから得られたログデータに相当する。
（８）項目「加速度センサー」は、センサー５１２の一つである加速度センサーから得られたログデータに相当する。
【００８０】
ログデータベース部５５４１は、ユーザポリシー設定情報のログ管理に「０」が設定されている項目のログデータについてはログ記憶部５５４２に書き込まずに破棄し、ログ管理に「１」が設定されている項目のログデータについてはログ記憶部５５４２に書き込む。また、ログアクセス制御部５５５は、ユーザポリシー設定情報のログアクセスに「０」が設定されている項目のログデータについては、サービス実行部５３２からのアクセスを認可しない。
【００８１】
ログアクセス制御部５５５は、ユーザポリシー設定情報のログアクセスに「１」が設定されている項目のログデータについてはサービス実行部５３２からの利用を認可する。ただし、ログアクセス制御部５５５は、ログ管理部５５４のログデータベース部５５４１で管理されているログデータのうち、放送サービス判定部５５４３を経由して記録された視聴履歴のログデータについては、事業者ポリシー設定部５５７の設定情報に従ってウェブアプリからのアクセス制御を行う。視聴履歴には、各放送サービスの受信開始から終了までの時刻を含めることとする。
【００８２】
図９は、事業者ポリシー記憶部５５７１に記憶される事業者ポリシー設定情報の例を示す図である。事業者ポリシー設定情報は、地域毎の事業者ポリシー設定テーブルから構成される。各地域の事業者ポリシー設定テーブルは、図７に示すその地域の放送事業者判定テーブルと同様の放送事業者を示す情報をキーとする。つまり、図９に示す事業者ポリシー設定テーブルは、事業者ＩＤ、放送事業者名、放送事業者のドメイン（自局ドメイン）、数字キーをキーとし、各放送事業者の視聴履歴へのアクセスを認可するウェブアプリのドメインが記述される。
【００８３】
事業者ポリシー設定部５５７は、連携端末５に設定された地域に対応した事業者ポリシー設定テーブルを事業者ポリシー記憶部５５７１から読み出してログアクセス制御部５５５に通知する。ログアクセス制御部５５５は、通知された事業者ポリシー設定テーブルの設定に従って、サービス実行部５３２からのログデータへのアクセス制御を実行する。以下では、ドメイン「ＸＸＸ」が含まれるＵＲＬを取得先としてサービスサーバ３から取得したアプリを、ドメイン「ＸＸＸ」のアプリと記載する。
【００８４】
例えば、放送事業者「ＡＡＡ東京」は、自社のドメイン「aaa.co.jp」のウェブアプリと、第３者のドメイン「xyz.co.jp」のウェブアプリから、自社の放送の視聴履歴を示すログデータへのアクセスを認可する。また、放送事業者「ＣＣＣ」は、全てのドメインのウェブアプリからの自社の放送の視聴履歴を示すログデータへのアクセスを認可する。
【００８５】
さらに、ログアクセス制御部５５５は、事業者ポリシー設定情報を用いて、視聴履歴だけでなく、各事業者のウェブアプリ又はサービスに関するログデータへのアクセス制御を行ってもよい。例えば、図９に示す事業者ポリシー設定情報の場合、放送事業者「ＡＡＡ東京」は、自社のドメイン「aaa.co.jp」のウェブアプリと、第３者のドメイン「xyz.co.jp」のウェブアプリから、自社のドメインのウェブアプリに関するログデータへのアクセスを認可する。また、放送事業者「ＣＣＣ」は、全てのドメインのウェブアプリからの自社のドメインのウェブアプリに関するログデータへのアクセスを認可する。ウェブアプリに関するログデータは、例えば、利用サービス、Ｗｅｂ閲覧履歴、画面操作履歴などのログデータである。そのため、ウェブアプリに関するログデータには、ウェブアプリが提供しているサービスのＩＤ、ウェブアプリの取得先のＵＲＬ又はそのＵＲＬから得られる事業者の識別（例えば、ドメインや事業者ＩＤ）などの情報が含まれるか付加されるようにする。
【００８６】
なお、図９に示す事業者ポリシー設定情報には、放送事業者毎に、視聴履歴の利用を認可するドメインの情報が設定されているが、視聴履歴の利用を認可しないドメインの情報を設定してもよい。また、上記では、事業者ポリシー設定情報に、視聴履歴の利用を認可する又は認可しないドメインを放送事業者毎に設定しているが、視聴履歴の利用を認可する又は認可しない事業者、ウェブアプリ、サービスを放送事業者毎に設定してもよい。各事業者が自社の提供するウェブアプリ又はサービスに関するログデータの利用についてアクセス制御をさらに行う場合、事業者ポリシー設定情報に、各事業者のウェブアプリ又はサービス毎に、ログデータの利用を認可する又は認可しないドメイン、事業者、ウェブアプリ、サービスの情報を設定する。これにより、ログアクセス制御部５５５は、事業者ポリシー設定情報に従い、ある放送事業者が提供する全て又は一部のウェブアプリ又はサービスに関するログデータへのアクセスの認否を、ログアクセス用のＡＰＩをコールしたウェブアプリ、そのウェブアプリのドメイン、そのウェブアプリを提供している事業者、又は、そのウェブアプリにより提供されるサービスに基づいて制御する。
【００８７】
次に、受信装置４と連携端末５におけるメッセージの送受信について説明する。
ハイブリッドキャストでは、受信装置４と連携端末５との間でテキストメッセージを送受信するためのＡＰＩが規定されている。メッセージ制御部５３４は、受信装置４が実行する放送マネージドアプリと連携端末５の各サービス実行部５３２が実行するウェブアプリとの間、および、サービス実行部５３２の間のメッセージを適切に送受信するための制御を行う。メッセージ制御部５３４の詳細を、図１０を用いて説明する。
【００８８】
図１０は、メッセージ制御部５３４の詳細な構成を示す機能ブロック図である。メッセージ制御部５３４は、サービス識別管理部５３４１、メッセージ受信部５３４２、メッセージ判定部５３４３、メッセージ分配部５３４４及び送信元サービス設定部５３４５を有する。
【００８９】
サービス識別管理部５３４１は、サービス実行部５３２の識別子と、そのサービス実行部５３２が実行するウェブアプリにより提供されるサービスであるウェブサービスの識別子との対応表を例えばリスト形式で管理する。ウェブサービスの識別子は、予め決められる。なお、各ウェブサービスは、プレフィックスを付加することなどにより、送信先のアドレスとして、ウェブサービス毎に予め決められた識別子を、メッセージの一部に付加して送受信を行う。
【００９０】
メッセージ受信部５３４２は、受信装置４からのメッセージ、及び、各サービス実行部５３２からのメッセージを受信する。メッセージ受信部５３４２は、受信したメッセージを、メッセージ判定部５３４３及びメッセージ分配部５３４４に送信する。なお、メッセージ受信部５３４２は、メッセージ判定部５３４３に宛先の判定に必要な情報のみを送信してもよい。
【００９１】
メッセージ判定部５３４３は、メッセージ受信部５３４２から受信したメッセージに付加されたサービスの識別子と、サービス識別管理部５３４１に記憶される対応表とを照合してメッセージの送信先を決定し、メッセージ分配部５３４４に通知する。メッセージ判定部５３４３は、メッセージに付加された送信元のサービスの識別子と送信先のサービスの識別子とが同一の場合は受信装置４を送信先とし、異なる場合はサービス実行部５３２を送信先とする。また、メッセージ判定部５３４３は、実施形態によっては、サービス間の通信チャンネルを確立するための識別子の発行や、その識別子に基づいたメッセージの送信先の決定を行う。
【００９２】
メッセージ分配部５３４４は、メッセージ受信部５３４２から受信したメッセージを、メッセージ判定部５３４３が決定した送信先に送信する。送信元サービス設定部５３４５は、サービス実行部５３２が受信装置４または他のサービス実行部５３２に対して送信するメッセージに、送信元のサービス実行部５３２の識別子を付加する。
【００９３】
上述したように、受信装置４で実行される放送マネージドアプリは一つである。そこで、複数のサービスを一つの放送マネージドアプリで実行するために、一つのＨＴＭＬ文書（アプリケーションプログラム）内に複数のサービスそれぞれを実行させるためのプログラムを記述する。例えば、放送局Ａが提供する現行の放送マネージドアプリでのサービスＡに加え、放送局Ａと放送局Ｂとが共通に提供するサービスＸを同時に運用することを想定する。このとき、放送局Ａが提供するサービスＡのＨＴＭＬ文書内と、放送局Ｂが提供する放送マネージドアプリのサービスＢのＨＴＭＬ文書内に、サービスＸの機能をJavaScript（登録商標）等で記述する。さらに、複数のサービスで個々にデバイス間でメッセージを送受信するため、連携端末５のサービス実行管理部５３３と同等の機能を有するサービス実行管理部４２２の機能、連携端末５のメッセージ制御部５３４と同等の機能を有するメッセージ制御部４２３の機能を、サービスＡとサービスＢの両方のサービスのＨＴＭＬ文書内にサービスＸの機能と同様に記述する。サービス実行管理部４２２の機能には、サービス実行部４２１の起動や終了などの制御、サービスごとに画面に表示するか否かの制御が含まれる。
【００９４】
図１１は、放送マネージドアプリの記述例を示す図である。同図は、放送局Ａの放送マネージドアプリを、ＨＴＭＬ文書として記述した例である。同図に示すように、divでサービスＡ、サービスＸのそれぞれ表示する要素をグループ化し、idを指定する（serviceA、common_serviceX）。サービス実行部４２１で実行される各サービスの機能は、JavaScript（登録商標）で記述し、head部分にインクルードする（serviceA.js、common_serviceX）。さらに、サービス実行管理部４２２によるサービス実行部４２１の起動や終了などの制御機能（common_appcontrol.js）、メッセージ制御部４２３の機能（common_messaging.js）、及び、サービス実行管理部４２２によるサービス毎の表示の制御機能（common_viewcontrol.js）も同様にインクルードする。このようにＨＴＭＬ文書として記述された放送マネージドアプリをアプリ実行部４０９が実行することにより、アプリ実行部４０９は、サービス実行部４２１、サービス実行管理部４２２及びメッセージ制御部４２３として動作する。これにより、受信装置４上の放送マネージドアプリと、連携端末５上のコンパニオンアプリ双方に同等の機能が導入されるため、複数のサービスを一対の受信装置４と連携端末５上で利用できるようになる。
なお、サービス実行管理部４２２、メッセージ制御部４２３及びサービス実行部４２１として動作する機能部が、予め受信装置４のアプリ実行部４０９に実装されていてもよい。
【００９５】
連携端末５のサービス実行管理部５３３は、受信装置４からの指示、又は、連携端末５にユーザが入力した指示に従って、サービス実行部５３２によるウェブアプリの起動又は停止を行う。具体的には、受信装置４のアプリ実行部４０９が実行している放送マネージドアプリからサービス起動指示が出力されると、端末連携部４１２は連携端末５を送信先とし、通信入出力部４０６を介してサービス起動指示を送信する。サービス起動指示には、起動対象のウェブアプリを特定する情報が含まれる。サービス起動指示として、例えば、setURLForCompanionDevice()関数によるコマンドが用いられる。連携端末５の端末連携部５３１は、通信入出力部５１１を介して受信したサービス起動指示をサービス実行管理部５３３へ出力する。サービス実行管理部５３３は、受信したサービス起動指示により起動が指示されたウェブアプリを起動する。あるいは、連携端末５の入力デバイスによりユーザが起動対象のウェブアプリの情報を入力すると、サービス実行管理部５３３は、その起動対象のウェブアプリを起動する。これにより、連携アプリ実行制御部５３において、サービス実行部５３２が動作する。
【００９６】
図１２は、メッセージの例を示す。
図１２（ａ）は、受信装置４において放送マネージドアプリのサービスＰの機能を実行しているサービス実行部４２１から、連携端末５の端末側連携アプリにおいてサービスＰのウェブアプリを実行しているサービス実行部５３２へ送信されるメッセージＭ１１を示す。図１２（ｂ）は、連携端末５の端末側連携アプリにおいてサービスＰのウェブアプリを実行しているサービス実行部５３２から、同じく端末側連携アプリにおいてサービスＱのウェブアプリを実行しているサービス実行部５３２に送信されるメッセージＭ２１を示す。メッセージＭ１１は、放送マネージドアプリのサービスＰの機能を実行しているサービス実行部４２１により記述されるメッセージであり、メッセージＭ１２は、サービスＰのウェブアプリを実行しているサービス実行部５３２において記述されるメッセージである。メッセージＭ１１、Ｍ２１には、送信先のサービスの識別子（dst:ServiceP、dst:ServiceQ）、メッセージ本体（message)が記述される。
【００９７】
図１２（ｃ）に示すメッセージＭ１２及び図１２（ｄ）に示すメッセージＭ２２は、連携端末５のメッセージ受信部５３４２が受信するメッセージである。メッセージＭ１２は、メッセージＭ１１に送信元のサービスＰの識別子(src:ServiceP)が付加されたものであり、メッセージＭ２２は、メッセージＭ２１に送信元のサービスＰの識別子(src:ServiceP)が付加されたものである。
【００９８】
具体的には、受信装置４の送信元サービス設定部４２３５が、メッセージＭ１１に送信元のサービスＰの識別子を追加し、メッセージＭ１２となる。メッセージＭ１２の場合は、放送マネージドアプリを実行することにより生成されるメッセージ制御部４２３が有する送信元サービス設定部４２３５の機能（図１１におけるcommon_messaging.js）によって、送信元のサービスの識別子が設定される。一方、メッセージＭ２２の場合は、連携端末５の送信元サービス設定部５３４５が、メッセージＭ２１に送信元のサービスＰの識別子を付加する。
【００９９】
なお、メッセージのフォーマットはこれらの記述例に限らない。また、本実施形態では、送信元のサービスの識別子と送信先のサービスの識別子のみを記述したが、受信装置４もしくは連携端末５を送信先として記述しても構わない。
【０１００】
図１３及び図１４は、メッセージ制御部４２３及びメッセージ制御部５３４の動作を示す処理フローである。以下では、メッセージ制御部５３４を例にして説明するが、メッセージ制御部４２３も同様に動作する。
【０１０１】
図１３は、メッセージ受信時の処理フローを示す。連携端末５の端末連携部５３１は、通信入出力部５１１を介して受信装置４から受信したメッセージを、メッセージ受信部５３４２に出力する。メッセージ受信部５３４２は、端末連携部５３１からメッセージを受信する（ステップＳ１０５）。メッセージ受信部５３４２は、受信したメッセージから送信先のサービスの識別子及び送信元のサービスの識別子を検出する（ステップＳ１１０）。メッセージ受信部５３４２は、メッセージが読み出した送信先のサービスの識別子及び送信元のサービスの識別子をメッセージ判定部５３４３に通知し、メッセージ全体をメッセージ分配部５３４４に通知する（ステップＳ１１５）。
【０１０２】
メッセージ判定部５３４３は、サービス識別管理部５３４１に、送信先のサービスの識別子により特定されるサービスをサービス実行部５３２が実行しているか否かの照合を依頼する（ステップＳ１２０）。サービス識別管理部５３４１は、メッセージ判定部５３４３から通知された送信先のサービスの識別子と対応付けて対応表に登録されているサービス実行部５３２の識別子を取得する。サービス識別管理部５３４１は、サービス実行部５３２の識別子が取得できた場合はその識別子を設定した照合結果を、取得できなかった場合はサービス実行部５３２がないことを示す照合結果を出力する。
【０１０３】
メッセージ判定部５３４３は、サービス識別管理部５３４１から、送信先のサービスの識別子により特定されるサービスを実行するサービス実行部５３２があることを示す照合結果を受信したと判断すると（ステップＳ１２５：はい）、ステップＳ１３０の処理を行う。すなわち、メッセージ判定部５３４３は、メッセージ分配部５３４４に対して、メッセージに記述された送信先のサービスの識別子により特定されるウェブサービスを実行しているサービス実行部５３２に、メッセージを送信するよう通知する（ステップＳ１３０）。メッセージ分配部５３４４は、メッセージ判定部５３４３の指示に従い、メッセージに記述された送信先のサービスの識別子により特定されるサービス実行部５３２に、メッセージを送信する（ステップＳ１３５）。
【０１０４】
一方、メッセージ判定部５３４３は、サービス識別管理部５３４１から送信先のサービスの識別子により特定されるサービスを実行するサービス実行部５３２がないことを示す照合結果を受信したと判断すると（ステップＳ１２５：いいえ）、ステップＳ１４０の処理を行う。すなわち、メッセージ判定部５３４３は、エラーをメッセージの送信元に返送するなど、所定のエラー処理を行う（ステップＳ１４０）。
【０１０５】
図１４は、メッセージ発行時の処理フローを示す。サービス実行部５３２は、メッセージを設定し、送信元サービス設定部５３４５に通知する（ステップＳ２０５）。送信元サービス設定部５３４５は、受信したメッセージに対して、送信元の識別子として、メッセージの送信元のサービス実行部５３２が実行しているサービスの識別子を追加し、メッセージ受信部５３４２に通知する（ステップＳ２１０）。メッセージ受信部５３４２は、メッセージから読み出した送信先のサービスの識別子及び送信元のサービスの識別子をメッセージ判定部５３４３に通知し、メッセージ全体をメッセージ分配部５３４４に通知する（ステップＳ２１５）。
【０１０６】
メッセージ判定部５３４３は、送信先と送信元の識別子が同一か否かを判定する（ステップＳ２２０）。メッセージ判定部５３４３は、送信先と送信元の識別子が同一と判定した場合（ステップＳ２２５：はい）、メッセージ分配部５３４４に対して、端末連携部５３１を経由して受信装置４にメッセージを送信するよう通知する（ステップＳ２３０）。メッセージ分配部５３４４は、メッセージ判定部５３４３の指示に従い、メッセージを端末連携部５３１に出力し、端末連携部５３１は、メッセージ分配部５３４４から受信したメッセージを、通信入出力部５１１を介して受信装置４に送信する（ステップＳ２４０）。
【０１０７】
一方、メッセージ判定部５３４３は、送信先と送信元の識別子が同一ではないと判定した場合（ステップＳ２２５：いいえ）、ステップＳ２３５の処理を行う。すなわち、メッセージ判定部５３４３は、サービス識別管理部５３４１から、メッセージに記述された送信先のサービスの識別子に対応して対応表に登録されているサービス実行部５３２の識別子を読み出す。メッセージ判定部５３４３は、読み出した識別子により特定されるサービス実行部５３２、つまり、メッセージに記述された送信先のサービスの識別子により特定されるウェブサービスを実行しているサービス実行部５３２へメッセージを送信するよう、メッセージ分配部５３４４に通知する（ステップＳ２３５）。メッセージ分配部５３４４は、メッセージ判定部５３４３により送信先として指示されたサービス実行部５３２に、メッセージを送信する（ステップＳ２４０）。
【０１０８】
図１５は、受信装置４と連携端末５の間のシーケンス図である。受信装置４のサービス実行部４２１は、連携端末５において実行されるサービスの識別子を宛先に設定したメッセージを発行する（ステップＳ３０５）。送信元サービス設定部４２３５は、サービス実行部４２１から受信したメッセージに送信元のサービスの識別子を設定し、メッセージ受信部４２３２に出力する（ステップＳ３１０）。メッセージ受信部４２３２は、メッセージから取得した送信元のサービスの識別子及び送信先のサービスの識別子をメッセージ判定部４２３３に通知し（ステップＳ３１５）、メッセージ全体をメッセージ分配部４２３４に通知する（ステップＳ３２０）。メッセージ判定部４２３３は、送信元のサービスの識別子及び送信先のサービスの識別子が同一であるため、連携端末５にメッセージを送信するようメッセージ分配部４２３４に通知する（ステップＳ３２５）。メッセージ分配部４２３４は、メッセージを端末連携部４１２に出力し（ステップＳ３３０）、端末連携部４１２は、メッセージを、通信入出力部４０６を介して連携端末５に送信する。
【０１０９】
連携端末５の通信入出力部５１１は、受信装置４から受信したメッセージを端末連携部５３１に出力する（ステップＳ３３５）。メッセージ受信部５３４２は、端末連携部５３１からメッセージを受信する（ステップＳ３４０）。メッセージ受信部５３４２は、メッセージから取得した送信元のサービスの識別子及び送信先のサービスの識別子をメッセージ判定部５３４３に通知し（ステップＳ３４５）、メッセージ全体をメッセージ分配部５３４４に通知する（ステップＳ３５０）。メッセージ判定部５３４３は、送信先のサービスの識別子により特定されるウェブサービスが存在することを示す照合結果をサービス識別管理部５３４１から受信すると、ステップＳ３５５の処理を行う。すなわち、メッセージ判定部５３４３は、送信先のサービスの識別子により特定されるウェブサービスを実行しているサービス実行部５３２へメッセージを出力するようメッセージ分配部５３４４に指示する（ステップＳ３５５）。メッセージ分配部５３４４は、メッセージ判定部５３４３に指示されたサービス実行部５３２へメッセージを出力する（ステップＳ３６０）。
【０１１０】
図１５では、受信装置４から連携端末５へのメッセージの送信例を示したが、連携端末５から受信装置４へのメッセージ送信も同様の手順で実行できる。
【０１１１】
図１６は、連携端末５のウェブアプリ間でメッセージを送信する場合のシーケンス図である。同図では、サービス実行部５３２−１をサービス実行部（１）、サービス実行部５３２−２をサービス実行部（２）と記載している。
【０１１２】
サービス実行部５３２−１は、サービス実行部５３２−２が実行しているサービスの識別子を宛先に設定したメッセージを発行する（ステップＳ４０５）。送信元サービス設定部５３４５は、サービス実行部５３２−１から受信したメッセージに送信元のサービスの識別子を設定し、メッセージ受信部５３４２に出力する（ステップＳ４１０）。メッセージ受信部５３４２は、メッセージから取得した送信元のサービスの識別子及び送信先のサービスの識別子をメッセージ判定部５３４３に通知し（ステップＳ４１５）、メッセージ全体をメッセージ分配部５３４４に通知する（ステップＳ４２０）。メッセージ判定部５３４３は、送信元のサービスの識別子及び送信先のサービスの識別子が異なるため、送信先のサービスの識別子により特定されるウェブサービスを実行しているサービス実行部５３２−２にメッセージを送信するようメッセージ分配部５３４４に通知する（ステップＳ４２５）。メッセージ分配部５３４４は、メッセージ判定部５３４３に指示されたサービス実行部５３２−２へメッセージを出力する（ステップＳ４３０）。
【０１１３】
図１６では、連携端末５のウェブアプリ間でメッセージを送信する場合ついて示しているが、受信装置４のサービス実行部４２１間でメッセージを送信する場合についても同様の手順で実行できる。
【０１１４】
上述した、図１２〜図１６の例では、全てのメッセージに送信元のサービスの識別子と送信先のサービスの識別子を付加して送信していたが、サービス間のチャンネルの識別子を付加する実施形態をとっても構わない。この場合、受信装置４の放送マネージドアプリのサービスと連携端末５のウェブサービスとの間、又は、連携端末５におけるウェブサービス間で、メッセージングを開始する前に、接続処理を実行してサービス間のチャンネルを確立する。以降、受信装置４及び連携端末５は、接続解除の処理が実行されるまでは、確立したチャンネルにおいて割り当てられたセッションの識別子に基づき、送信元と送信先の識別子を付加せずにメッセージを送信する。
【０１１５】
図１７は、受信装置４の放送マネージドアプリのサービスと連携端末５のウェブサービスとの間でセッションの識別子に基づきメッセージを送信する場合のメッセージの設定例を示す図である。図１７（ａ）は、接続登録メッセージＭ３１を、図１７（ｂ）は接続登録確認メッセージＭ３２を、図１７（ｃ）は接続解除メッセージＭ３３を、図１７（ｄ）は接続解除確認メッセージＭ３４を、図１７（ｅ）はメッセージ本体が設定されたメッセージＭ３５を示す。
【０１１６】
接続登録メッセージＭ３１、接続登録確認メッセージＭ３２、接続解除メッセージＭ３３、接続解除確認メッセージＭ３４、メッセージＭ３５には、type属性が含まれている。このtype属性により、メッセージが登録（publish）／登録確認（subscribe）／接続解除（unpublish）／接続解除確認（unsubscribe）／メッセージ本体（body）のいずれであるかが識別可能である。
【０１１７】
また、接続登録メッセージＭ３１、接続登録確認メッセージＭ３２、接続解除メッセージＭ３３、接続解除確認メッセージＭ３４には、送信元のサービスの識別子（src）及び送信先のサービスの識別子（dst）が設定され、接続登録確認メッセージＭ３２及び接続解除確認メッセージＭ３４には、さらに、確立したチャンネルに割当てられたセッションの識別子（subscribe_ID）が記述される。メッセージ本体（message）が設定されたメッセージＭ３５には、送信元及び送信先は設定されず、セッションの識別子（subscribe_ID）とメッセージの内容（message）が記述される。
【０１１８】
図１８及び図１９は、受信装置４と連携端末５の間でセッションの識別子に基づきメッセージを送信する場合のシーケンス図である。
【０１１９】
図１８は、接続登録処理のシーケンスを示す。受信装置４のサービス実行部４２１は、接続登録メッセージを発行する（ステップＳ５０５）。サービス実行部４２１が発行した接続登録メッセージには、接続登録メッセージであることを示す「publish」が設定されたtype属性と、送信先のサービスの識別子が設定されたdst属性とが含まれる。送信元サービス設定部４２３５は、このメッセージに、送信元のサービスの識別子を設定したsrc属性を追加する。送信元サービス設定部４２３５は、src属性が追加された接続登録メッセージをメッセージ受信部４２３２に出力する（ステップＳ５１０）。
【０１２０】
メッセージ受信部４２３２は、接続登録メッセージに設定されている送信先のサービスの識別子及び送信元のサービスの識別子をメッセージ判定部４２３３に通知し（ステップＳ５１５）、接続登録メッセージ全体をメッセージ分配部４２３４に通知する（ステップＳ５２０）。メッセージ判定部４２３３は、送信先と送信元のサービスの識別子が同一であるため、連携端末５にメッセージを送信するようメッセージ分配部４２３４に通知する（ステップＳ５２５）。メッセージ分配部４２３４は、接続登録メッセージを端末連携部４１２に出力し（ステップＳ５３０）、端末連携部４１２は、メッセージ分配部４２３４から受信した接続登録メッセージを、通信入出力部４０６を介して連携端末５に送信する。
【０１２１】
連携端末５の通信入出力部５１１は、受信装置４からメッセージを受信し、端末連携部５３１に出力する（ステップＳ５３５）。メッセージ受信部５３４２は、端末連携部５３１からメッセージを受信する（ステップＳ５４０）。メッセージ受信部５３４２は、受信したメッセージをメッセージ判定部５３４３に出力する（ステップＳ５４５）。メッセージ判定部５３４３は、受信したメッセージのtype属性により接続登録メッセージであると判断すると、subscribe_IDを発行し、送信元及び送信先のサービスの識別子と対応付けて記憶する。なお、接続が解除される度に新規のsubscribe_IDを発番してもよく、送信元と送信先のペアに対して予め決定したsubscribe_IDを割り当てても構わない。さらに、メッセージ判定部５３４３は、接続登録確認メッセージを生成する。接続登録確認メッセージには、接続登録確認メッセージを示す「subscribe」が設定されたtype属性と、発行したsubscribe_IDと、接続登録メッセージに設定されていたdst属性及びsrc属性とが含まれる。メッセージ判定部５３４３は、生成した接続登録確認メッセージをメッセージ分配部５３４４に通知し、受信装置４へ送信するよう指示する（ステップＳ５５０）。
【０１２２】
メッセージ分配部５３４４は、接続登録確認メッセージを端末連携部５３１に出力し（ステップＳ５５５）、端末連携部５３１は、接続登録確認メッセージを、通信入出力部５１１を介して受信装置４に送信する（ステップＳ５６０）。
【０１２３】
受信装置４の通信入出力部４０６は、連携端末５から受信したメッセージを端末連携部４１２に出力する。メッセージ受信部４２３２は、端末連携部４１２からメッセージを受信する（ステップＳ５６５）。メッセージ受信部４２３２は、受信したメッセージのtype属性から接続登録確認メッセージであると判断する。メッセージ受信部４２３２は、接続登録確認メッセージから取得したsubscribe_IDと、送信元及び送信先のサービスの識別子をメッセージ判定部４２３３に出力する（ステップＳ５７０）。メッセージ判定部４２３３は、subscribe_IDと、送信元及び送信先のサービスの識別子とを対応付けて登録する。さらに、メッセージ受信部４２３２は、接続登録確認メッセージを、送信先のサービスの識別子により特定される放送マネージドアプリを実行しているサービス実行部４２１にsubscribe_IDを通知する（ステップＳ５７５）。
【０１２４】
図１９は、メッセージ送信処理のシーケンスを示す。受信装置４のサービス実行部４２１は、メッセージ本体を設定したメッセージを発行する（ステップＳ６０５）。メッセージには、メッセージ本体であることを示す「body」が設定されたtype属性と、送信先のサービスに応じたsubscribe_IDと、メッセージ内容とが含まれる。送信元サービス設定部４２３５は、サービス実行部４２１から受信したメッセージに送信元のサービスの識別子を設定する。なお、送信元のサービスの識別子の設定は行わなくてもよい。送信元サービス設定部４２３５は、送信元のサービスの識別子が設定されたメッセージを、メッセージ受信部４２３２に出力する（ステップＳ６１０）。
【０１２５】
メッセージ受信部４２３２は、メッセージに設定されているsubscribe_IDをメッセージ判定部４２３３に通知し（ステップＳ６１５）、メッセージ全体をメッセージ分配部４２３４に通知する（ステップＳ６２０）。メッセージ判定部４２３３は、subscribe_IDに対応して記憶される送信先及び送信元のサービスの識別子が同一であるため、連携端末５にメッセージを送信するようメッセージ分配部４２３４に通知する（ステップＳ６２５）。メッセージ分配部４２３４は、メッセージを端末連携部４１２に出力し（ステップＳ６３０）、端末連携部４１２は、メッセージ分配部４２３４から受信したメッセージを、通信入出力部４０６を介して連携端末５に送信する。
【０１２６】
連携端末５の通信入出力部５１１は、受信装置４から受信したメッセージを端末連携部５３１に出力する（ステップＳ６３５）。メッセージ受信部５３４２は、端末連携部５３１からメッセージを受信する（ステップＳ６４０）。メッセージ受信部５３４２は、受信したメッセージのtypeによりメッセージ本体であると判断すると、メッセージから読み出したsubscribe_IDをメッセージ判定部５３４３に出力し（ステップＳ６４５）、メッセージをメッセージ分配部５３４４に出力する（ステップＳ６５０）。メッセージ判定部５３４３は、subscribe_IDに対応した送信元及び送信先のサービスの識別子が同じであるため、送信先のサービスの識別子により特定されるサービスを実行しているサービス実行部５３２へメッセージを出力するようメッセージ分配部５３４４に指示する（ステップＳ６５５）。メッセージ分配部５３４４は、メッセージ判定部５３４３に指示されたサービス実行部５３２へメッセージを出力する（ステップＳ６６０）。
【０１２７】
図１８及び図１９では、受信装置４から連携端末５へのメッセージの送信例を示したが、連携端末５から受信装置４へのメッセージ送信も同様の手順で実行できる。
【０１２８】
図２０は、連携端末５のウェブアプリ間でセッションの識別子に基づきメッセージを送信する場合のメッセージの記述例を示す図である。図２０（ａ）は、接続登録メッセージＭ４１を、図２０（ｂ）は接続登録確認メッセージＭ４２を、図２０（ｃ）は接続解除メッセージＭ４３を、図２０（ｄ）は接続解除確認メッセージＭ４４を、図２０（ｅ）はメッセージ本体が設定されたメッセージＭ４５を示す。Ｍ４１〜Ｍ４５のメッセージに含まれる属性はそれぞれ、図１７に示すＭ３１〜Ｍ３５のメッセージと同様である。
【０１２９】
すなわち、接続登録メッセージＭ４１、接続登録確認メッセージＭ４２、接続解除メッセージＭ４３、接続解除確認メッセージＭ４４、メッセージＭ４５には、type属性が含まれている。また、接続登録メッセージＭ４１、接続登録確認メッセージＭ４２、接続解除メッセージＭ４３、接続解除確認メッセージＭ４４には、送信元のサービスの識別子（src）及び送信先のサービスの識別子（dst）が設定され、接続登録確認メッセージＭ４２及び接続解除確認メッセージＭ４４には、さらに、確立したチャンネルに割当てられたセッションの識別子（subscribe_ID）が記述される。メッセージ本体（message）が設定されたメッセージＭ４５には、送信元及び送信先は設定されず、セッションの識別子（subscribe_ID）とメッセージの内容（message）が記述される。
【０１３０】
図２１及び図２２は、連携端末５のウェブアプリ間でセッションの識別子に基づきメッセージを送信する場合のシーケンス図である。このシーケンスは、図１８及び図１９に示すシーケンスと基本的な手順の差異はない。ただし、受信装置４と連携端末５との間でメッセージを送信する場合、連携端末５は、メッセージ分配部５３４４から端末連携部５３１を経由して送受信を行うが、ウェブアプリ間の場合は、メッセージ分配部５３４４から連携端末５内のメッセージ受信部５３４２にメッセージを送信し、以降、同様の処理が実行される。
【０１３１】
図２１は、連携端末５のウェブアプリ間の接続登録処理のシーケンスを示す。連携端末５のサービス実行部５３２−１は、接続登録メッセージを発行する（ステップＳ７０５）。サービス実行部５３２−１が発行した接続登録メッセージには、接続登録メッセージであることを示す「publish」が設定されたtype属性と、サービス実行部５３２−２により実行される送信先のサービスの識別子が設定されたdst属性とが含まれる。送信元サービス設定部５３４５は、このメッセージに、送信元のサービスの識別子を設定したsrc属性を追加する。送信元サービス設定部５３４５は、src属性が追加された接続登録メッセージをメッセージ受信部５３４２に出力する（ステップＳ７１０）。
【０１３２】
メッセージ受信部５３４２は、接続登録メッセージに設定されている送信先のサービスの識別子及び送信元のサービスの識別子をメッセージ判定部５３４３に通知し（ステップＳ７１５）、接続登録メッセージ全体をメッセージ分配部５３４４に通知する（ステップＳ７２０）。メッセージ判定部５３４３は、送信先と送信元のサービスの識別子が異なるため、メッセージ受信部５３４２にメッセージを送信するようメッセージ分配部５３４４に通知する（ステップＳ７２５）。メッセージ分配部５３４４は、接続登録メッセージをメッセージ受信部５３４２に出力する（ステップＳ７３０）。
【０１３３】
メッセージ受信部５３４２は、受信したメッセージをメッセージ判定部５３４３に出力する（ステップＳ７３５）。メッセージ判定部５３４３は、受信したメッセージのtypeにより接続登録メッセージであると判断すると、subscribe_IDを発行し、送信元及び送信先のサービスの識別子と対応付けて記憶する。さらに、メッセージ判定部５３４３は、接続登録確認メッセージを生成する。メッセージ判定部５３４３は、生成した接続登録確認メッセージをメッセージ分配部５３４４に通知し、メッセージ受信部５３４２へ送信するよう指示する（ステップＳ７４０）。メッセージ分配部５３４４は、接続登録確認メッセージをメッセージ受信部５３４２に出力する（ステップＳ７４５）。
【０１３４】
メッセージ受信部５３４２は、受信した接続登録確認メッセージから取得したsubscribe_IDと、送信元及び送信先のサービスの識別子をメッセージ判定部５３４３に出力する（ステップＳ７５０）。メッセージ判定部５３４３は、subscribe_IDと、送信元及び送信先のサービスの識別子とを対応付けて登録する。さらに、メッセージ受信部５３４２は、接続登録確認メッセージを、送信先のサービスの識別子により特定されるウェブアプリを実行しているサービス実行部５３２−１にsubscribe_IDを通知する（ステップＳ７５５）。
【０１３５】
図２２は、連携端末５のウェブアプリ間のメッセージ送信処理のシーケンスを示す。連携端末５のサービス実行部５３２−１は、メッセージ本体を設定したメッセージを発行する（ステップＳ８０５）。送信元サービス設定部５３４５は、サービス実行部５３２−１から受信したメッセージに送信元のサービスの識別子を設定する。なお、送信元のサービスの識別子の設定は行わなくてもよい。送信元サービス設定部５３４５は、送信元のサービスの識別子が設定されたメッセージを、メッセージ受信部５３４２に出力する（ステップＳ８１０）。
【０１３６】
メッセージ受信部５３４２は、メッセージに設定されているsubscribe_IDをメッセージ判定部５３４３に通知し（ステップＳ８１５）、メッセージ全体をメッセージ分配部５３４４に通知する（ステップＳ８２０）。メッセージ判定部５３４３は、subscribe_IDに対応して記憶される送信先及び送信元のサービスの識別子が異なるため、送信先のサービスの識別子により特定されるウェブサービスを実行しているサービス実行部５３２−２にメッセージを送信するようメッセージ分配部５３４４に通知する（ステップＳ８２５）。メッセージ分配部５３４４は、メッセージ判定部５３４３に指示されたサービス実行部５３２−２へメッセージを出力する（ステップＳ８３０）。
【０１３７】
図２１及び図２２では、連携端末５のウェブアプリ間でメッセージを送信する場合ついて示しているが、受信装置４において放送マネージドアプリにより実行されるサービス間でのメッセージ送信についても同様の手順で実行できる。
【０１３８】
以上説明した実施形態によれば、放送通信連携システム１は、受信装置４と、連携端末５（端末装置）とを有する。受信装置４は、放送信号に含まれるコンテンツデータを出力する処理と、放送信号と連携した動作により複数のサービスを提供するアプリケーション（放送マネージドアプリ）を実行する処理とを実行する。連携端末５は、通信入出力部５１１（通信部）と、複数のサービス実行部５３２と、サービス実行管理部５３３と、メッセージ制御部５３４と、ログ管理部５５４とを備える。通信入出力部５１１は、受信装置４と通信する。サービス実行部５３２はそれぞれ、個別のサービスを提供するアプリケーションであるサービスアプリケーション（ウェブアプリ）を、受信したメッセージを用いて実行する。サービス実行管理部５３３は、複数のサービス実行部５３２を並列動作させる。メッセージ制御部５３４は、受信装置４において実行されているアプリケーションから発行され、通信入出力部５１１が受信したメッセージを宛先のサービス実行部５３２に出力する処理と、サービス実行部５３２から発行されたメッセージを受信装置４又は他のサービス実行部５３２に出力する処理との少なくとも一方を行う。ログ管理部５５４は、メッセージ制御部５３４における処理の対象となったメッセージに関するログデータを取得する。
【０１３９】
また、ログ管理部５５４は、通信入出力部５１１が受信したメッセージから得られた、受信装置４において受信中の放送サービスに関する情報を取得する。放送サービスに関する情報は、例えば、イベント、視聴履歴などである。また、ログ管理部５５４は、センサー５１２（センサー部）による連携端末５の状態又は連携端末５の環境に関する情報の検出結果に関するログデータ、受信装置４との接続状態に関するログデータ、サービス実行部５３２によるサービスアプリケーションの実行状態に関するログデータ、サービス実行部５３２がサービスアプリケーションを実行することにより行ったアクセスの履歴に関するログデータを取得する。また、連携端末５は、ユーザ操作に従って受信装置４に対する制御信号を、通信入出力部５１１を介して出力するリモコン部５５３を備えており、ログ管理部５５４は、リモコン部５５３に行われたユーザ操作に関するログデータを取得する。また、ログ管理部５５４は、ユーザ操作により受信が指示された放送サービスに関するログデータを取得する。
【０１４０】
ログ管理部５５４は、取得したログデータを、連携端末５が備えるログ記憶部５５４２に蓄積する処理と、ログデータを蓄積するログ記憶部を備えた外部装置であるログサーバ６に通信入出力部５１１を介して送信する処理との少なくとも一方を行う。ログ管理部５５４は、ログサーバ６に送信するログデータには、利用者の識別情報を付加する。連携端末５は、サービス実行部５３２から取得が指示されたログデータを、ログ記憶部５５４２又はログサーバ６から読み出して返送するログアクセス制御部５５５をさらに備えてもよい。
【０１４１】
以上説明した実施形態によれば、ハイブリッドキャストなどの放送通信連携サービスを行う連携端末において、各種ログを取得し、管理することができる。連携端末は、受信装置との連携時に、受信装置側の放送マネージドアプリや、連携端末のリモコン機能を利用し、視聴ログとして受信中の放送のチャンネルや番組の識別子をなどの視聴履歴を取得することができる。加えて、連携端末は、受信装置と非連携時にも、受信装置との接続状態や、ＧＰＳなどのハードウェアのセンサーのデータを取得できる。よって、受信装置との連携状態の有無に関わらず、連携端末の利用者の行動履歴を取得することができる。これにより、連携端末のウェブアプリと受信装置の放送マネージドアプリとの双方が動作しているときに限らず、連携端末の利用者の行動履歴を永続的に利用可能となる。そして、収集したログから得られる利用者の状況に応じて、放送と関連したコンテンツや情報のターゲティングをすることが可能になる。
【０１４２】
なお、上述の受信装置４及び連携端末５は、内部にコンピュータシステムを有している。そして、受信装置４及び連携端末５の一部の動作の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータシステムが読み出して実行することによって、上記処理が行われる。ここでいうコンピュータシステムとは、ＣＰＵ及び各種メモリやＯＳ、周辺機器等のハードウェアを含むものである。
【０１４３】
また、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよい。
【符号の説明】
【０１４４】
１…放送通信連携システム
２…放送送出装置
３…サービスサーバ
４…受信装置
５…連携端末
６…ログサーバ
５１…ハードウェア部
５２…ＯＳ部
５３…連携アプリ実行制御部
５４…他アプリ実行制御部
４０１…放送受信部
４０２…分離部
４０３…映像復号部
４０４…音声復号部
４０５…データ放送実行部
４０６…通信入出力部
４０７…リモコン入力制御部
４０８…電源制御部
４０９…アプリ実行部
４１０…アプリ制御部
４１１…放送通信連携部
４１２…端末連携部
４１３…映像合成部
４１４…映像表示部
４１５…音声合成部
４１６…音声出力部
４２１…サービス実行部
４２２…サービス実行管理部
４２３…メッセージ制御部
５１１…通信入出力部
５１２、５１２−１、５１２−ｎ…センサー
５３１…端末連携部
５３２−１〜５３２−３…サービス実行部
５３３…サービス実行管理部
５３４…メッセージ制御部
５５１…ＩＤ管理部
５５２…接続状態管理部
５５３…リモコン部
５５４…ログ管理部
５５５…ログアクセス制御部
５５６…ユーザポリシー設定部
５５７…事業者ポリシー設定部
４２３１…サービス識別管理部
４２３２…メッセージ受信部
４２３３…メッセージ判定部
４２３４…メッセージ分配部
４２３５…送信元サービス設定部
５３４１…サービス識別管理部
５３４２…メッセージ受信部
５３４３…メッセージ判定部
５３４４…メッセージ分配部
５３４５…送信元サービス設定部
５５４１…ログデータベース部
５５４２…ログ記憶部
５５４３…放送サービス判定部
５５４４…ログアクセス用ＡＰＩ提供部
５５４５…外部管理インターフェース部
５５６１…ユーザポリシー記憶部
５５７１…事業者ポリシー記憶部
【図１】
2018078380.tif 000003
【図２】
2018078380.tif 000004
【図３】
2018078380.tif 000005
【図４】
2018078380.tif 000006
【図５】
2018078380.tif 000007
【図６】
2018078380.tif 000008
【図７】
2018078380.tif 000009
【図８】
2018078380.tif 000010
【図９】
2018078380.tif 000011
【図１０】
2018078380.tif 000012
【図１１】
2018078380.tif 000013
【図１２】
2018078380.tif 000014
【図１３】
2018078380.tif 000015
【図１４】
2018078380.tif 000016
【図１５】
2018078380.tif 000017
【図１６】
2018078380.tif 000018
【図１７】
2018078380.tif 000019
【図１８】
2018078380.tif 000020
【図１９】
2018078380.tif 000021
【図２０】
2018078380.tif 000022
【図２１】
2018078380.tif 000023
【図２２】
2018078380.tif 000024