(57)【要約】【課題】連携アプリによる放送通信連携サービスと他アプリによるサービスとのサービス間連携を促進する。【解決手段】連携アプリケーション実行制御部は、所定のサービスを提供するアプリケーションであるサービスアプリケーションを実行させる。他アプリケーション実行制御部は、連携アプリケーションとは別個のアプリケーションである他アプリケーションの実行を制御する。サービス実行管理部は、サービスアプリケーションを実行するサービス実行部から、他アプリケーションの起動を示す他アプリケーション起動コマンドを取得する。アプリケーション間連携処理部は、他アプリケーション起動コマンドの形式を他アプリケーション実行制御部において処理可能なアプリケーション間連携形式に変換する。アプリケーション間連携通信部は、アプリケーション間連携形式の他アプリケーション起動コマンドを他アプリケーション実行制御部に送信する。【選択図】図５
2018078384.tif 000002
【特許請求の範囲】
【請求項１】
所定のサービスを提供するアプリケーションであるサービスアプリケーションを実行させる連携アプリケーション実行制御部と、
受信装置と連携して動作する連携アプリケーションとは別個のアプリケーションである他アプリケーションの実行を制御する他アプリケーション実行制御部とを備え、
前記連携アプリケーション実行制御部は、
前記サービスアプリケーションを実行するサービス実行部と、
前記サービス実行部から、前記他アプリケーションの起動を示す他アプリケーション起動コマンドを取得するサービス実行管理部と、
前記他アプリケーション起動コマンドの形式を前記他アプリケーション実行制御部において処理可能なアプリケーション間連携形式に変換するアプリケーション間連携処理部と、
前記アプリケーション間連携形式の他アプリケーション起動コマンドを前記他アプリケーション実行制御部に送信するアプリケーション間連携通信部と、を備える
ことを特徴とする端末装置。
【請求項２】
前記アプリケーション間連携通信部は、
前記他アプリケーション実行制御部から前記サービスアプリケーションの起動を示すサービス起動コマンドを受信し、
前記アプリケーション間連携処理部は、
前記サービス起動コマンドの形式を前記連携アプリケーション実行制御部において処理可能なアプリ内連携形式に変換し、
前記連携アプリケーション実行制御部は、
前記アプリ内連携形式のサービス起動コマンドが示すサービスに係るサービスアプリケーションを起動させるサービス実行管理部を備える
ことを特徴とする請求項１に記載の端末装置。
【請求項３】
前記連携アプリケーション実行制御部は、
少なくとも前記他アプリケーションと前記サービス起動コマンドが示すサービスのいずれかに基づいて、前記サービス起動コマンドが示すサービスに係るサービスアプリケーションの起動の可否を判定するアプリケーション間連携条件管理部を備える
ことを特徴とする請求項２に記載の端末装置。
【請求項４】
前記連携アプリケーション実行制御部は、
受信した放送信号と連携して所定のサービスを提供するアプリケーションを実行する受信装置との間で接続を確立させる端末連携部を備え、
前記サービス実行管理部は、
前記受信装置から他アプリケーション起動コマンドを取得する
ことを特徴とする請求項１から請求項３のいずれか一項に記載の端末装置。
【請求項５】
コンピュータに、
所定のサービスを提供するアプリケーションであるサービスアプリケーションを実行させる連携アプリケーション実行制御部と、
受信装置と連携して動作する連携アプリケーションとは別個のアプリケーションである他アプリケーションの実行を制御する他アプリケーション実行制御部とを備え、
前記連携アプリケーション実行制御部は、
前記サービスアプリケーションを実行するサービス実行部と、
前記サービス実行部から、前記他アプリケーションの起動を示す他アプリケーション起動コマンドを取得するサービス実行管理部と、
前記他アプリケーション起動コマンドの形式を前記他アプリケーション実行制御部において処理可能なアプリケーション間連携形式に変換するアプリケーション間連携処理部と、
前記アプリケーション間連携形式の他アプリケーション起動コマンドを前記他アプリケーション実行制御部に送信するアプリケーション間連携通信部と、を備える
ことを特徴とする端末装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、端末装置及びプログラムに関する。
【背景技術】
【０００２】
近年、放送通信連携サービスを実現するためのシステムに関する研究開発が盛んに行われている。ハイブリッドキャストは、日本の代表的な放送通信連携サービスの一つであり、その技術仕様が策定されている（例えば、非特許文献1、2参照）。この技術仕様の規格に則り、２０１３年よりハイブリッドキャストのサービスが開始されている。例えば、ＨＴＭＬ（Hypertext Markup Language）５を用いて記述された放送マネージドアプリケーションによるサービスが、複数の放送局より提供されている。「アプリケーション」とは、アプリケーションプログラムの略称であり、以下では、「アプリ」とも記載する。放送マネージドアプリは、放送送信側から送信される放送サービスの制御信号を用いて、起動、終了、強制終了などのライフサイクルが制御されるアプリである。
【０００３】
ハイブリッドキャストでは、テレビなどの受信装置と、スマートフォンやタブレットなどの端末装置とが連携する機能を利用することが可能である。以下では、受信装置と連携する端末装置を連携端末とも記載する。連携機能の具体的な一例として、テレビで実行される放送マネージドアプリと、端末装置にインストールされたコンパニオンアプリ上で動作するＷｅｂ（ウェブ）アプリとの間で、テキストメッセージを相互に送受信することができる。
【０００４】
また、テレビ及び連携端末において、複数の放送外マネージドアプリを実行する技術がある（例えば、特許文献１参照）。放送外マネージドアプリとは、ユーザの操作によって、ライフサイクルが制御されるアプリである。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１５−１４６４７８号公報
【非特許文献】
【０００６】
【非特許文献１】“ＩＰＴＶ規定  放送通信連携システム仕様  ＩＰＴＶＦＪ  ＳＴＤ−００１０  ２．１版”、一般社団法人  ＩＰＴＶフォーラム、２０１６年３月７日
【非特許文献２】“ＩＰＴＶ規定  ＨＴＭＬ５ブラウザ仕様  ＩＰＴＶＦＪ  ＳＴＤ−００１１  ２．２版”、一般社団法人  ＩＰＴＶフォーラム、２０１６年３月７日
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、現行のハイブリッドキャスト（登録商標）の放送マネージドアプリケーション規格においては、テレビジョン受信装置（以下、受信装置と呼ぶ）と連携端末において同時に実行可能なアプリケーション（以下、アプリと呼ぶ）が１つずつである。そのうえ、双方のアプリを同一のサービス事業者が提供する場合でしか連携することができない。そのため、既存技術においては、連携端末で実行されるアプリのサービス提供者が複数あるなど、連携端末で実行されるアプリが複数個である場合に、テレビで実行される1個のアプリと、連携端末で実行される複数個のアプリとが連携することについては考慮されていなかった。
【０００８】
また、アプリの制作者は、受信装置上で動作するアプリと連携して連携端末上で動作するアプリ（以下、連携アプリと呼ぶ）では実行できない機能を、連携端末上の別のアプリ（以下、他アプリと呼ぶ、外部アプリとも呼ばれる）の実行により実現させたいと考えることがある。しかし、既存技術では、他アプリを起動することについて考慮されていなかった。また、他アプリの制作者が、他アプリから連携アプリを起動させることや、その際に他アプリとの連携機能を制限させたいと考えることがある。しかしながら、既存技術では、他アプリから連携アプリを起動することや、連携機能を制限することは考慮されていなかった。
【０００９】
本発明は上記の点に鑑みてなされたものであり、連携アプリの実行により提供される放送通信連携サービスと他アプリの実行により提供されるサービスとのサービス間連携を促進することができる端末装置及びプログラムを提供することを課題とする。
【課題を解決するための手段】
【００１０】
本発明は上記の課題を解決するためになされたものであり、本発明の一態様は、所定のサービスを提供するアプリケーションであるサービスアプリケーションを実行させる連携アプリケーション実行制御部と、受信装置と連携して動作する連携アプリケーションとは別個のアプリケーションである他アプリケーションの実行を制御する他アプリケーション実行制御部とを備え、前記連携アプリケーション実行制御部は、前記サービスアプリケーションを実行するサービス実行部と、前記サービス実行部から、前記他アプリケーションの起動を示す他アプリケーション起動コマンドを取得するサービス実行管理部と、前記他アプリケーション起動コマンドの形式を前記他アプリケーション実行制御部において処理可能なアプリケーション間連携形式に変換するアプリケーション間連携処理部と、前記アプリケーション間連携形式の他アプリケーション起動コマンドを前記他アプリケーション実行制御部に送信するアプリケーション間連携通信部と、を備えることを特徴とする端末装置である。
【００１１】
また、本発明の一態様は、上述の端末装置において、前記アプリケーション間連携通信部は、前記他アプリケーション実行制御部から前記サービスアプリケーションの起動を示すサービス起動コマンドを受信し、前記アプリケーション間連携処理部は、前記サービス起動コマンドの形式を前記連携アプリケーション実行制御部において処理可能なアプリ内連携形式に変換し、前記連携アプリケーション実行制御部は、前記アプリ内連携形式のサービス起動コマンドが示すサービスに係るサービスアプリケーションを起動させるサービス実行管理部を備えることを特徴とする。
【００１２】
また、本発明の一態様は、上述の端末装置において、前記連携アプリケーション実行制御部は、少なくとも前記他アプリケーションと前記サービス起動コマンドが示すサービスのいずれかに基づいて、前記サービス起動コマンドが示すサービスに係るサービスアプリケーションの起動の可否を判定するアプリケーション間連携条件管理部を備えることを特徴とする。
【００１３】
また、本発明の一態様は、上述の端末装置において、前記連携アプリケーション実行制御部は、受信した放送信号と連携して所定のサービスを提供するアプリケーションを実行する受信装置との間で接続を確立させる端末連携部を備え、前記サービス実行管理部は、前記受信装置から他アプリケーション起動コマンドを取得することを特徴とする。
【００１４】
また、本発明の一態様は、コンピュータに、所定のサービスを提供するアプリケーションであるサービスアプリケーションを実行させる連携アプリケーション実行制御部と、受信装置と連携して動作する連携アプリケーションとは別個のアプリケーションである他アプリケーションの実行を制御する他アプリケーション実行制御部とを備え、前記連携アプリケーション実行制御部は、前記サービスアプリケーションを実行するサービス実行部と、前記サービス実行部から、前記他アプリケーションの起動を示す他アプリケーション起動コマンドを取得するサービス実行管理部と、前記他アプリケーション起動コマンドの形式を前記他アプリケーション実行制御部において処理可能なアプリケーション間連携形式に変換するアプリケーション間連携処理部と、前記アプリケーション間連携形式の他アプリケーション起動コマンドを前記他アプリケーション実行制御部に送信するアプリケーション間連携通信部と、を備えることを特徴とする端末装置として機能させるためのプログラムである。
【発明の効果】
【００１５】
本発明によれば、連携アプリの実行により提供される放送通信連携サービスと他アプリの実行により提供されるサービスとのサービス間連携を促進することができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の一実施形態による放送通信連携システムの全体構成図である。
【図２】同実施形態による受信装置及び連携端末のスタック図である。
【図３】同実施形態による受信装置の内部構成を示す機能ブロック図である。
【図４】同実施形態によるアプリ実行部の詳細な構成を示す機能ブロック図である。
【図５】同実施形態による連携端末の構成を示す機能ブロック図である。
【図６】同実施形態によるメッセージ制御部の詳細な構成を示す機能ブロック図である。
【図７】同実施形態による放送マネージドアプリの記述例を示す図である。
【図８】同実施形態によるメッセージの設定例を示す図である。
【図９】同実施形態によるメッセージ制御部の処理フローを示す図である。
【図１０】同実施形態によるメッセージ制御部の処理フローを示す図である。
【図１１】同実施形態による受信装置と連携端末の間でメッセージを送信する場合のシーケンス図である。
【図１２】同実施形態によるウェブサービス間でメッセージを送信する場合のシーケンス図である。
【図１３】同実施形態によるメッセージの設定例を示す図である。
【図１４】同実施形態による受信装置と連携端末の間でセッションの識別子に基づきメッセージを送信する場合のシーケンス図である。
【図１５】同実施形態による受信装置と連携端末の間でセッションの識別子に基づきメッセージを送信する場合のシーケンス図である。
【図１６】同実施形態によるメッセージの設定例を示す図である。
【図１７】同実施形態による連携端末のウェブアプリ間でセッションの識別子に基づきメッセージを送信する場合のシーケンス図である。
【図１８】同実施形態による連携端末のウェブアプリ間でセッションの識別子に基づきメッセージを送信する場合のシーケンス図である。
【図１９】同実施形態による端末連携部、サービス実行管理部及びアプリ間連携部の関係を示す図である。
【図２０】同実施形態によるアプリ間連携部の詳細な構成を示す機能ブロック図である。
【図２１】同実施形態による連携条件データの一例を示す図である。
【図２２】同実施形態による連携アプリ実行制御部のサービス実行部からの他アプリの起動に係る処理フローを示す図である。
【図２３】同実施形態による他アプリ実行制御部からの連携アプリ実行制御部におけるウェブアプリの起動に係る処理フローを示す図である。
【発明を実施するための形態】
【００１７】
以下、図面を参照しながら本発明の実施形態を詳細に説明する。以下では、「アプリケーションプログラム」を、「アプリケーション」又は「アプリ」とも記載する。また、以下の説明では、アプリに記述された命令で指定される処理を実行することを、単に「アプリを実行」又は「アプリの実行」と呼ぶことがある。
【００１８】
図1は、本実施形態の一実施形態による放送通信連携システム１の全体構成図である。放送通信連携システム１は、放送送出装置２と、サービスサーバ３と、受信装置４と、連携端末５とを有する。放送送出装置２及びサービスサーバ３は送信側の装置であり、受信装置４及び連携端末５は、受信側の装置である。
【００１９】
放送送出装置２は、放送信号を送出する。サービスサーバ３は、アプリ本体やアプリで利用するコンテンツデータを、インターネットを介して受信側の装置へ配信する。アプリ本体とは、アプリケーションのプログラムである。受信装置４は、例えば、ハイブリッドキャスト対応テレビである。連携端末５は、例えば、スマートフォンやタブレット端末などの端末装置である。受信装置４及び連携端末５は、インターネットを介してサービスサーバ３と相互に通信できる。また、受信装置４と連携端末５は、無線ＬＡＮ（Local Area Network）等のローカルネットワークを介して接続する。
【００２０】
放送通信連携サービスの形態は複数存在するが、本実施形態の放送通信連携システム１では、ハイブリッドキャスト技術仕様（非特許文献１、２）に基づき、受信装置４において、デジタル放送サービスとインターネットサービスとが連携動作することを想定する。受信装置４が、放送またはインターネットにより配信されるアプリを実行することで、インターネット上のコンテンツを取得できるようになり、ユーザが放送通信連携サービスを利用できるようになる。さらに、ハイブリッドキャスト技術仕様に則り、受信装置４と連携端末５にインストールした端末側連携アプリとが連携動作する。
【００２１】
なお、本実施形態においては、受信装置４において動作するアプリは、放送事業者が配信する放送マネージドアプリとする。放送マネージドアプリは、放送送出装置２から送信される放送サービスの制御信号に基づいて、起動、終了、強制終了などのライフサイクルが制御される。
【００２２】
連携端末５に実装される端末側連携アプリは、通信により接続される他の装置である受信装置４と連携して動作するコンパニオンアプリである。端末側連携アプリは、受信装置４により実行される放送マネージドアプリと連携動作する1以上のサービスアプリを実行する。
【００２３】
放送マネージドアプリとサービスアプリとは連携動作することにより、ユーザへ提供するサービスを実行する。サービスとは、ユーザが連携端末５に行った操作に従って動作した結果の画像、映像、音声を、連携端末５に、又は、受信装置４及び連携端末５に出力することである。サービスの実行には、受信装置４が有する受信機機能から取得した情報などが利用される。受信機機能は、放送信号を受信し、ユーザにより選択されたチャンネルの番組映像や音声などのコンテンツデータを放送信号から取得し、デコードして出力する一連の機能である。ユーザに提供するサービスは任意であるが、一例として、ＳＮＳ（ソーシャルネットワークサービス）、天気予報やニュースなどの情報の提供、外国語字幕の提供、テレビ映像とは異なる角度からの映像の提示などがある。
【００２４】
本実施形態では、端末側連携アプリにおいて実行されるサービスアプリがウェブアプリである場合を例に説明する。ウェブアプリとは、ウェブブラウザにより実行されるアプリである。ウェブアプリは、任意の手段により連携端末５に実装される。例えば、ウェブアプリは、放送マネージドアプリから取得が指示されたアプリでもよく、ユーザ操作により取得したアプリでもよく、連携端末５に予め実装されたアプリでもよい。放送マネージドアプリ及びウェブアプリのプログラムは、例えば、ＨＴＭＬ（Hypertext Markup Language）により記述される。
【００２５】
図２は、受信装置４及び連携端末５のスタック図である。受信装置４は、ハードウェア、ＯＳ（Operation System）、レジデント及びアプリ実行部の４層から構成される。アプリ実行部は、例えばＨＴＭＬ５ブラウザであり、放送マネージドアプリを実行する。ＯＳ上で実行されるレジデントには、メモリに常駐するソフトウェアによる放送の受信機機能が搭載される。アプリ実行部で実行される放送マネージドアプリは、非特許文献1により規定される拡張ＡＰＩ（Application Program Interface）を通してレジデントの受信機機能にアクセスすることができる。ハードウェアは、ＣＰＵ（central processing unit）、各種メモリ、チューナー、デコーダ、通信装置、表示装置、入力装置などを含む。
【００２６】
連携端末５は、ハードウェア、ＯＳ及びネイティブアプリ実行部の３層から構成される。ネイティブアプリ実行部は、ｉＯＳ（登録商標）やＡｎｄｒｏｉｄ（登録商標）など端末のＯＳが提供するアプリを実行する。ネイティブアプリ実行部では、複数のネイティブアプリが動作可能である。ネイティブアプリは、特定のＯＳやプラットフォームで実行可能なプログラムである。本実施形態における端末側連携アプリはネイティブアプリであり、ネイティブアプリ実行部において動作する。なお、端末側連携アプリは、ネイティブアプリでなくてもよい。例えば、端末側連携アプリは、ネイティブアプリから、ネイティブアプリではないブラウザを呼び出し、ブラウザによりウェブアプリを実行させてもよい。ハードウェアは、ＣＰＵ、各種メモリ、通信装置、表示装置、入力装置などを含む。
【００２７】
ハイブリッドキャストにおける端末連携機能は、受信装置４のアプリ実行部で動作する放送マネージドアプリと、連携端末５のネイティブアプリ実行部が実行する端末側連携アプリの内部で動作するウェブアプリの間で実現される。放送マネージドアプリとウェブアプリとの間では、非特許文献1で規定される拡張ＡＰＩを用いてテキストメッセージを送信する。テキストメッセージには、任意のメッセージ内容を記述することができる。例えば、メッセージ内容は、アプリに対する各種の実行命令や、アプリが動作する際に用いられる付加的な情報などでもよい。
【００２８】
図３は、受信装置４の内部構成を示すブロック図であり、本実施形態と関係する機能ブロックのみを抽出して示してある。同図に示す受信装置４は、放送受信部４０１、分離部４０２、映像復号部４０３、音声復号部４０４、データ放送実行部４０５、通信入出力部４０６、リモコン入力制御部４０７、電源制御部４０８、アプリ実行部４０９、アプリ制御部４１０、放送通信連携部４１１、端末連携部４１２、映像合成部４１３、映像表示部４１４、音声合成部４１５及び音声出力部４１６を備えて構成される。
【００２９】
放送受信部４０１は、チューナーであり、放送送出装置２から送出された放送信号を受信し、復調する。分離部４０２は、放送受信部４０１が受信し、復調した放送信号を、映像データ、音声データなどのコンテンツデータや、コンテンツデータ以外のデータに分離する。コンテンツ以外のデータには、例えば、データ放送や、受信チャンネル、番組情報が記述されたＳＩ（Service Information）や、イベントメッセージなどが含まれる。映像復号部４０３は、映像データを復号する。音声復号部４０４は、音声データを復号する。データ放送実行部４０５は、ＢＭＬ（Broadcast Markup Language）ブラウザであり、データ放送を実行する。
【００３０】
通信入出力部４０６は、通信ネットワークに接続するためのインターフェースである。通信入出力部４０６は、インターネットなどを介してアプリマーケット、アカウント管理サーバ、アプリ配信サーバなどのサービスサーバ３と接続する。また、通信入出力部４０６は、無線ＬＡＮなどのローカルネットワークを介して連携端末５と接続する。リモコン入力制御部４０７は、リモコン（リモートコントローラ）からユーザがリモコンに行った操作を示すデータを受信する。電源制御部４０８は、受信装置４の電源の制御を行う。
【００３１】
アプリ実行部４０９は、放送マネージドアプリを実行するウェブ（Ｗｅｂ）ブラウザである。放送マネージドアプリは、１以上のサービスの機能を提供する。アプリ制御部４１０は、放送信号から分離されたデータに含まれる情報に基づいて、放送マネージドアプリの起動や終了などの制御を行う。例えば、アプリ制御部４１０は、現在選択されている放送事業者（チャンネル）の放送マネージドアプリを、放送信号から分離されたＡＩＴに設定されている情報などに基づいて制御する。アプリ制御部４１０は、起動した放送マネージドアプリの識別情報を端末連携部４１２に通知する。
【００３２】
放送通信連携部４１１は、放送マネージドアプリにおいて放送又は通信により取得したコンテンツを連携動作させるために、アプリ実行部４０９に対して拡張ＡＰＩで規定される機能を提供する。具体的には、放送通信連携部４１１は、受信中の放送信号に含まれるＳＩやイベントメッセージなどの情報や受信装置４が備える機能などへのアクセス手段を提供する。端末連携部４１２は、連携端末５とのペアリング処理と、受信装置４の放送マネージドアプリと連携端末５のウェブアプリ間の通信を仲介する処理とを行う。端末連携部４１２は、後述する図５に示す連携端末５の端末連携部５３１とペアで動作する。端末連携部４１２は、起動された放送マネージドアプリの識別情報を連携端末５に通知する。
【００３３】
映像合成部４１３は、映像復号部４０３が復号した放送番組の映像データと、データ放送実行部４０５やアプリ実行部４０９の処理結果に基づき出力された映像データとを合成し、映像表示部４１４に出力する。映像表示部４１４は、一般的なディスプレイであり、映像合成部４１３が合成した映像データの映像を表示する。
【００３４】
音声合成部４１５は、音声復号部４０４が復号した放送番組の音声データと、データ放送実行部４０５やアプリ実行部４０９の処理結果に基づき出力された音声データとを合成し、音声出力部４１６に出力する。音声出力部４１６は、一般的なスピーカーであり、音声合成部４１５が合成した音声データを音声により出力する。
【００３５】
図４は、アプリ実行部４０９の詳細な構成を示す機能ブロック図である。アプリ実行部４０９は、サービス実行部４２１、サービス実行管理部４２２及びメッセージ制御部４２３を有する。なお、アプリ実行部４０９は複数のサービス実行部４２１を備え得るが、同時に動作する放送マネージドアプリは一つのみとする。同図では、アプリ実行部４０９が備える複数のサービス実行部４２１をそれぞれ、サービス実行部４２１−１、４２１−２、４２１−３、…と記載している。
【００３６】
サービス実行部４２１は、アプリ制御部４１０による制御に基づき、放送マネージドアプリに含まれるサービス機能を実行する。サービス実行管理部４２２は、各サービス実行部４２１の起動及び終了の制御や状態管理を行い、複数のサービス実行部４２１を並列に実行させる。
【００３７】
メッセージ制御部４２３は、サービス実行部４２１が実行する放送マネージドアプリのサービス機能と連携端末５が実行するウェブアプリとの間のメッセージを適切に送受信するための制御を行う。メッセージ制御部４２３は、サービス識別管理部４２３１、メッセージ受信部４２３２、メッセージ判定部４２３３、メッセージ分配部４２３４及び送信元サービス設定部４２３５を有する。
【００３８】
サービス識別管理部４２３１は、サービス実行部４２１の識別子と、そのサービス実行部４２１により実行されるサービスの識別子との対応表を例えばリスト形式で管理する。サービスの識別子は、予め決められる。なお、各放送マネージドアプリは、プレフィックスを付加することなどにより、送信先のアドレスとして、サービス毎に予め決められた識別子を、メッセージの一部に付加して送受信を行う。
【００３９】
メッセージ受信部４２３２は、連携端末５からのメッセージ、及び、サービス実行部４２１からのメッセージを受信する。メッセージ受信部４２３２は、受信したメッセージを、メッセージ判定部４２３３及びメッセージ分配部４２３４に送信する。なお、メッセージ受信部４２３２は、メッセージ判定部４２３３に宛先の判定に必要な情報のみを送信してもよい。
【００４０】
メッセージ判定部４２３３は、メッセージ受信部４２３２から受信したメッセージに付加されたサービスの識別子と、サービス識別管理部４２３１に記憶される対応表とを照合してメッセージの送信先を決定し、メッセージ分配部４２３４に通知する。メッセージ判定部４２３３は、メッセージに付加された送信元のサービスの識別子と送信先のサービスの識別子とが同一の場合は連携端末５を送信先とし、異なる場合はサービス実行部４２１を送信先とする。また、メッセージ判定部４２３３は、実施形態によっては、サービス間の通信チャンネルを確立するための識別子の発行や、その識別子に基づいたメッセージの送信先の決定を行う。
【００４１】
メッセージ分配部４２３４は、メッセージ受信部４２３２から受信したメッセージを、メッセージ判定部４２３３が決定した送信先に送信する。送信元サービス設定部４２３５は、サービス実行部４２１が連携端末５または他のサービス実行部４２１に対して送信するメッセージに、そのサービス実行部４２１において実行中の放送マネージドアプリのサービスの識別子を付加する。
【００４２】
図５は、連携端末５の構成を示す機能ブロック図であり、本実施形態と関係する機能ブロックのみを抽出して示してある。同図においては、端末側連携アプリを中心とした機能構成を示す。連携端末５は、ハードウェア部５１、ＯＳ部５２、連携アプリ実行制御部５３及び他アプリ実行制御部５４を有する。
【００４３】
ハードウェア部５１は、ＣＰＵ、各種メモリ、通信装置、ディスプレイ（表示装置）、ユーザ操作を入力するための入力デバイス（入力装置）などの各種ハードウェアからなる。ディスプレイがタッチパネルである場合、入力デバイスは、タッチパネルに配されたタッチセンサである。ハードウェア部５１は、通信装置により実現される通信入出力部５１１を有する。
【００４４】
通信入出力部５１１は、通信ネットワークに接続するためのインターフェースである。通信入出力部５１１は、インターネットなどを介してサービスサーバ３と接続する。また、通信入出力部５１１は、無線ＬＡＮなどのローカルネットワークを介して受信装置４と接続する。ＯＳ部５２は、ＯＳにより実現され、端末全体を制御し、連携アプリ実行制御部５３及び他アプリ実行制御部５４に、ハードウェア部５１へのインターフェースを提供する。
【００４５】
連携アプリ実行制御部５３は、ＣＰＵがメモリに記憶された端末側連携アプリを読み出して実行することにより実現される。連携アプリ実行制御部５３は、端末連携部５３１、サービス実行部５３２、サービス実行管理部５３３、メッセージ制御部５３４及びアプリ間連携部５３５を有する。複数のサービス実行部５３２をそれぞれ、サービス実行部５３２−１、５３２−２、５３２−３、…と記載することで区別する。
【００４６】
端末連携部５３１は、受信装置４とのペアリング処理と、受信装置４の放送マネージドアプリと連携端末５のウェブアプリ間の通信を仲介する処理とを行う。端末連携部５３１は、受信装置４の端末連携部４１２とペアで動作する。
【００４７】
サービス実行部５３２は、個々のサービスを提供するためのウェブアプリを実行する。サービス実行部５３２の実装方法としては、Ａｎｄｒｏｉｄ（登録商標）搭載端末におけるＷｅｂＶｉｅｗ、ｉＯＳ搭載端末におけるＵＩＷｅｂＶｉｅｗなどが挙げられる。サービス実行部５３２は複数存在することを前提としており、各サービス実行部５３２には一意の識別子が割り当てられ、サービスの識別子としても用いられる。各サービス実行部５３２は、以下のようなウェブアプリを実行する。
【００４８】
（１）現在実際にサービスが提供されている受信装置４の放送マネージドアプリと連携したウェブアプリ。なお、このウェブアプリを実行するのは一つのサービス実行部５３２である。
（２）複数の放送局が配信する放送マネージドアプリと連携して共通に利用することができるウェブアプリ。
（３）受信装置４と連携しないウェブアプリ。
なお、サービス実行部５３２は、動作中に他アプリ起動コマンドを発行することがある。他アプリ起動コマンドとは、起動対象の他アプリの起動を指示するためのコマンドである。
【００４９】
サービス実行管理部５３３は、各サービス実行部５３２、又は、サービス実行部５３２上で実行されるウェブアプリの起動及び終了の制御や状態管理を行い、複数のサービス実行部５３２を並列に実行させる。サービス実行管理部５３３は、受信装置４からの指示又はユーザ操作に基づいて、サービス実行部５３２の起動及び終了の制御や、フォアグラウンドでの動作又はバックグラウンドでの動作など状態の変更を行う。また、サービス実行管理部５３３は、他アプリ実行制御部５４の起動の制御及び起動中の他アプリ実行制御部５４からの指示に基づくサービス実行部５３２の起動の制御を行う。
【００５０】
ハイブリッドキャストでは、受信装置４と連携端末５との間でテキストメッセージを送受信するためのＡＰＩが規定されている。メッセージ制御部５３４は、受信装置４が実行する放送マネージドアプリと連携端末５の各サービス実行部５３２が実行するウェブアプリとの間、および、サービス実行部５３２の間のメッセージを適切に送受信するための制御を行う。
【００５１】
アプリ間連携部５３５は、サービス実行部５３２と他アプリ実行制御部５４とを連携させる。アプリ間連携部５３５は、サービス実行部５３２が発行した他アプリ起動コマンド、又は受信装置４から受信した他アプリ起動コマンドで指定される他アプリを他アプリ実行制御部５４に起動させる。サービス実行部５３２は、発行した他アプリ起動コマンドをサービス実行管理部５３３に出力する。
他方、アプリ間連携部５３５は、他アプリ実行制御部５４が発行したサービス起動コマンドをサービス実行管理部５３３に出力する。サービス起動コマンドとは、提供対象のサービスを提供するためのウェブアプリの起動を指示するためのコマンドである。サービス実行管理部５３３は、アプリ間連携部５３５から入力されたサービス起動コマンドで指定されるサービスを提供するウェブアプリを特定し、特定したウェブアプリを起動させる。
【００５２】
他アプリ実行制御部５４は、ＣＰＵがメモリに記憶された他アプリを読み出して実行することにより実現される。他アプリ実行制御部５４は、アプリ間連携部５３５から入力される他アプリ起動コマンドで指示される他アプリ、又は入力デバイスから入力される操作信号で指示される他アプリを起動する。他アプリ実行制御部５４は、他アプリの実行中においてサービス起動コマンドを発行することがある。他アプリ実行制御部５４は、発行したサービス起動コマンドをアプリ間連携部５３５に出力する。
【００５３】
次に、メッセージ制御部５３４の詳細を、図６を用いて説明する。
図６は、メッセージ制御部５３４の詳細な構成を示す機能ブロック図である。メッセージ制御部５３４は、サービス識別管理部５３４１、メッセージ受信部５３４２、メッセージ判定部５３４３、メッセージ分配部５３４４及び送信元サービス設定部５３４５を有する。
【００５４】
サービス識別管理部５３４１は、サービス実行部５３２の識別子と、そのサービス実行部５３２が実行するウェブアプリにより提供されるサービスであるウェブサービスの識別子との対応表を例えばリスト形式で管理する。ウェブサービスの識別子は、予め決められる。なお、各ウェブサービスは、プレフィックスを付加することなどにより、送信先のアドレスとして、ウェブサービス毎に予め決められた識別子を、メッセージの一部に付加して送受信を行う。
【００５５】
メッセージ受信部５３４２は、受信装置４からのメッセージ、及び、各サービス実行部５３２からのメッセージを受信する。メッセージ受信部５３４２は、受信したメッセージを、メッセージ判定部５３４３及びメッセージ分配部５３４４に送信する。なお、メッセージ受信部５３４２は、メッセージ判定部５３４３に宛先の判定に必要な情報のみを送信してもよい。
【００５６】
メッセージ判定部５３４３は、メッセージ受信部５３４２から受信したメッセージに付加されたサービスの識別子と、サービス識別管理部５３４１に記憶される対応表とを照合してメッセージの送信先を決定し、メッセージ分配部５３４４に通知する。メッセージ判定部５３４３は、メッセージに付加された送信元のサービスの識別子と送信先のサービスの識別子とが同一の場合は受信装置４を送信先とし、異なる場合はサービス実行部５３２を送信先とする。また、メッセージ判定部５３４３は、実施形態によっては、サービス間の通信チャンネルを確立するための識別子の発行や、その識別子に基づいたメッセージの送信先の決定を行う。
【００５７】
メッセージ分配部５３４４は、メッセージ受信部５３４２から受信したメッセージを、メッセージ判定部５３４３が決定した送信先に送信する。送信元サービス設定部５３４５は、サービス実行部５３２が受信装置４または他のサービス実行部５３２に対して送信するメッセージに、送信元のサービス実行部５３２の識別子を付加する。
【００５８】
上述したように、受信装置４で実行される放送マネージドアプリは一つである。そこで、複数のサービスを一つの放送マネージドアプリで実行するために、一つのＨＴＭＬ文書（アプリケーションプログラム）内に複数のサービスそれぞれを実行させるためのプログラムを記述する。例えば、放送局Ａが提供する現行の放送マネージドアプリでのサービスＡに加え、放送局Ａと放送局Ｂとが共通に提供するサービスＸを同時に運用することを想定する。このとき、放送局Ａが提供するサービスＡのＨＴＭＬ文書内と、放送局Ｂが提供する放送マネージドアプリのサービスＢのＨＴＭＬ文書内に、サービスＸの機能をJavaScript（登録商標）等で記述する。さらに、複数のサービスで個々にデバイス間でメッセージを送受信するため、連携端末５のサービス実行管理部５３３と同等の機能を有するサービス実行管理部４２２の機能、連携端末５のメッセージ制御部５３４と同等の機能を有するメッセージ制御部４２３の機能を、サービスＡとサービスＢの両方のサービスのＨＴＭＬ文書内にサービスＸの機能と同様に記述する。サービス実行管理部４２２の機能には、サービス実行部４２１の起動や終了などの制御、サービスごとに画面に表示するか否かの制御が含まれる。
【００５９】
次に、放送マネージドアプリの記述例について説明する。図７は、放送マネージドアプリの記述例を示す図である。同図は、放送局Ａの放送マネージドアプリを、ＨＴＭＬ文書として記述した例である。同図に示すように、divでサービスＡ、サービスＸのそれぞれ表示する要素をグループ化し、idを指定する（serviceA、common_serviceX）。サービス実行部４２１で実行される各サービスの機能は、JavaScript（登録商標）で記述し、head部分にインクルードする（serviceA.js、common_serviceX）。さらに、サービス実行管理部４２２によるサービス実行部４２１の起動や終了などの制御機能（common_appcontrol.js）、メッセージ制御部４２３の機能（common_messaging.js）、及び、サービス実行管理部４２２によるサービス毎の表示の制御機能（common_viewcontrol.js）も同様にインクルードする。このようにＨＴＭＬ文書として記述された放送マネージドアプリをアプリ実行部４０９が実行することにより、アプリ実行部４０９は、サービス実行部４２１、サービス実行管理部４２２及びメッセージ制御部４２３として動作する。これにより、受信装置４上の放送マネージドアプリと、連携端末５上のコンパニオンアプリ双方に同等の機能が導入されるため、複数のサービスを一対の受信装置４と連携端末５上で利用できるようになる。
なお、サービス実行管理部４２２、メッセージ制御部４２３及びサービス実行部４２１として動作する機能部が、予め受信装置４のアプリ実行部４０９に実装されていてもよい。
【００６０】
連携端末５のサービス実行管理部５３３は、受信装置４からの指示、又は、連携端末５にユーザが入力した指示に従って、サービス実行部５３２によるウェブアプリの起動又は停止を行う。具体的には、受信装置４のアプリ実行部４０９が実行している放送マネージドアプリからサービス起動指示が出力されると、端末連携部４１２は連携端末５を送信先とし、通信入出力部４０６を介してサービス起動指示を送信する。サービス起動指示には、起動対象のウェブアプリを特定する情報が含まれる。連携端末５の端末連携部５３１は、通信入出力部５１１を介して受信したサービス起動指示をサービス実行管理部５３３へ出力する。サービス実行管理部５３３は、受信したサービス起動指示により起動が指示されたウェブアプリを起動する。あるいは、連携端末５の入力デバイスによりユーザが起動対象のウェブアプリの情報を入力すると、サービス実行管理部５３３は、その起動対象のウェブアプリを起動する。これにより、連携アプリ実行制御部５３において、サービス実行部５３２が動作する。
【００６１】
図８は、メッセージの例を示す。
図８（ａ）は、受信装置４において放送マネージドアプリのサービスＰの機能を実行しているサービス実行部４２１から、連携端末５の端末側連携アプリにおいてサービスＰのウェブアプリを実行しているサービス実行部５３２へ送信されるメッセージＭ１１を示す。図８（ｂ）は、連携端末５の端末側連携アプリにおいてサービスＰのウェブアプリを実行しているサービス実行部５３２から、同じく端末側連携アプリにおいてサービスＱのウェブアプリを実行しているサービス実行部５３２に送信されるメッセージＭ２１を示す。メッセージＭ１１は、放送マネージドアプリのサービスＰの機能を実行しているサービス実行部４２１により記述されるメッセージであり、メッセージＭ１２は、サービスＰのウェブアプリを実行しているサービス実行部５３２において記述されるメッセージである。メッセージＭ１１、Ｍ２１には、送信先のサービスの識別子（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に対応して記憶される送信先及び送信元のサービスの識別子が異なるため、送信先のサービスの識別子により特定されるウェブサービスを実行しているサービス実行部５３２−２にメッセージを送信するようメッセージ分配部５３４４に通知する（ステップＳ８２５）。メッセージ分配部５３４４は、メッセージ判定部５３４３に指示されたサービス実行部５３２−２へメッセージを出力する（ステップＳ８３０）。
【０１０２】
図１７及び図１８では、連携端末５のウェブアプリ間でメッセージを送信する場合ついて示しているが、受信装置４において放送マネージドアプリから他のアプリへのメッセージ送信についても同様の手順で実行できる。
【０１０３】
次に、端末連携部５３１、サービス実行管理部５３３及びアプリ間連携部５３５の関係について説明する。図１９は、端末連携部５３１、サービス実行管理部５３３及びアプリ間連携部５３５の関係を示す図である。
【０１０４】
端末連携部５３１は、受信装置４とのペアリング処理を実行して、受信装置４との接続を確立する。ペアリング処理において、例えば、ＩＥＥＥ８０２．１１、ＩＥＥＥ８０２．１５．１などに規定された通信方式が利用可能である。受信装置４のサービス実行部４２１は、動作中において他アプリ起動コマンドを発行することがある。端末連携部５３１は、受信装置４から他アプリ起動コマンドを受信するとき、受信した他アプリ起動コマンドをサービス実行管理部５３３に出力する。
【０１０５】
サービス実行管理部５３３には、サービス実行部５３２又は端末連携部５３１から他アプリ起動コマンドが入力されることがある。サービス実行管理部５３３は、入力されるコマンドのうち、他アプリを示す識別情報として、所定のURL(Uniform Resource Locator)スキーム（例えば、extra app//:…）が含まれるコマンドを他アプリ起動コマンドとして識別する。サービス実行管理部５３３は、他アプリ起動コマンドをアプリ間連携部５３５に出力する。
【０１０６】
サービス実行管理部５３３には、アプリ間連携部５３５からサービス起動コマンドが入力されることがある。サービス実行管理部５３３は、サービス起動コマンドが示すサービスを提供するためのウェブアプリを、起動対象のウェブアプリとして特定する。サービス起動コマンドには、実行対象のサービスを示すサービス識別子が含まれてもよい。サービス実行管理部５３３は、特定したウェブアプリを起動し、そのウェブアプリを実行するサービス実行部５３２を生成する。
【０１０７】
アプリ間連携部５３５は、サービス実行管理部５３３から入力される他アプリ起動コマンドのデータ形式を、連携アプリ内形式からアプリ間連携形式に変換する。連携アプリ内形式とは、連携アプリ実行制御部５３の各構成部において処理可能とするデータ形式である。連携アプリ内形式として、上述したメッセージ（例えば、図１６）と同様の形式が用いられてもよい。アプリ間連携形式とは、他アプリ実行制御部５４において処理可能とするデータ形式である。連携アプリ内形式のコマンドは、他アプリ実行制御部５４がその処理を行う際に利用可能な形式のコマンドである。従って、アプリ間連携形式は、他アプリの仕様に依存する。アプリ間連携部５３５は、変換により得られた他アプリ起動コマンドを他アプリ実行制御部５４に出力する。他アプリ実行制御部５４は、他アプリ起動コマンドで指定される他アプリを起動させる。他アプリ実行制御部５４は、他アプリの実行中において、サービス起動コマンドを発行することがある。他アプリ実行制御部５４は、発行したサービス起動コマンドをアプリ間連携部５３５に送信する。アプリ間連携部５３５は、他アプリ実行制御部５４から入力されるサービス起動コマンドのデータ形式を、アプリ間連携形式から連携アプリ内形式に変換する。アプリ間連携部５３５は、変換により得られたサービス起動コマンドをサービス実行管理部５３３に出力する。
【０１０８】
次に、アプリ間連携部５３５の詳細を、図２０を用いて説明する。
図２０は、アプリ間連携部５３５の詳細な構成を示す機能ブロック図である。
アプリ間連携部５３５は、アプリ間連携処理部５３５１、アプリ間連携条件管理部５３５２及びアプリ間連携通信部５３５３を有する。
【０１０９】
アプリ間連携処理部５３５１は、サービス実行管理部５３３から入力される他アプリ起動コマンドの形式を、連携アプリ内形式からアプリ間連携形式に変換する。アプリ間連携処理部５３５１は、例えば、他アプリ起動コマンドを解釈し、起動対象の他アプリを特定するURLスキーム 「extra app://…」と起動条件を示すパラメータ「params」を検出する。パラメータとして、例えば、他アプリ又はその動作に用いるデータの所在を示すURLが指定される。アプリ間連携処理部５３５１は、検出した他アプリと起動条件の情報を含んだアプリ間連携形式のコマンドを変換後のコマンドとして構成する。アプリ間連携処理部５３５１は、変換した他アプリ起動コマンドをアプリ間連携通信部５３５３に出力する。
【０１１０】
アプリ間連携処理部５３５１は、アプリ間連携通信部５３５３から入力されるサービス起動コマンドの形式を、アプリ間連携形式から連携アプリ内形式に変換する。アプリ間連携処理部５３５１は、サービス起動コマンドを解釈し、送信元の他アプリを示す識別子と起動対象のサービスを示すサービス識別子を検出する。アプリ間連携処理部５３５１は、検出したサービス識別子を含む連携アプリ内形式のコマンドを変換後のコマンドとして構成する。アプリ間連携処理部５３５１は、変換した連携アプリ内形式のサービス起動コマンドをサービス実行管理部５３３に出力する。
【０１１１】
また、アプリ間連携処理部５３５１は、アプリ間連携条件管理部５３５２にサービス起動コマンドで指示されるサービスを提供するウェブアプリの起動の可否を照会してもよい。その際、アプリ間連携処理部５３５１は、そのサービス起動コマンドで指示されるサービス及び他アプリについて起動可否判定リクエストを生成する。アプリ間連携処理部５３５１は、生成した起動可否判定リクエストをアプリ間連携条件管理部５３５２に出力する。アプリ間連携処理部５３５１は、起動可否判定リクエストに対する応答として実行可否判定がアプリ間連携条件管理部５３５２から入力される。起動可否判定が起動可を示すとき、アプリ間連携処理部５３５１は、変換後のサービス起動コマンドをサービス実行管理部５３３に出力する。起動可否判定が起動不可を示すとき、アプリ間連携処理部５３５１は、所定のエラー処理をサービス実行管理部５３３に実行させる。サービス実行管理部５３３は、エラー処理として、例えば、エラー画面をディスプレイに表示させる。エラー画面には、エラーの事由を示すエラーメッセージが表されてもよい。サービス実行管理部５３３は、エラー処理として、予め設定したサービス（デフォルトサービス）を提供するためのアプリを起動してもよい。
【０１１２】
アプリ間連携条件管理部５３５２は、連携条件データ（条件管理表）を管理する。連携条件データは、サービス実行部５３２で実行するウェブアプリと他アプリとの連携の可否を示すデータである。より具体的には、連携条件データは、サービス起動コマンドの送信元の他アプリ毎のウェブアプリの起動の可否と、起動可とするサービスの範囲（アクセス条件）を示すデータである。アプリ間連携条件管理部５３５２には、アプリ間連携処理部５３５１から起動可否判定リクエストが入力される。アプリ間連携条件管理部５３５２は、自部が記憶している連携条件データを参照して、起動可否判定リクエストで指示される他アプリとサービスについて、そのサービスを提供するウェブアプリの起動の可否を判定する。アプリ間連携条件管理部５３５２は、その判定結果である起動可否判定をアプリ間連携処理部５３５１に出力する。連携条件データの例については、後述する。
【０１１３】
アプリ間連携通信部５３５３は、アプリ間連携処理部５３５１から入力された他アプリ起動コマンドを他アプリ実行制御部５４に送信する。また、アプリ間連携通信部５３５３は、他アプリ実行制御部５４から受信したサービス起動コマンドをアプリ間連携処理部５３５１に出力する。
【０１１４】
次に、連携条件データの例について説明する。図２１は、連携条件データの一例を示す図である。図２１に示す例では、連携条件データは、送信元アプリ毎に連携の可否（連携認可）を示すデータである。送信元アプリの項目において、サービス起動コマンドの送信元である他アプリ実行制御部５４で実行している他アプリが示される。連携認可の項目において、起動可否判定リクエストで指定されるサービスを提供するウェブアプリの実行の可否が示される。連携認可の項目に設定された情報が、連携可、つまりウェブアプリの起動可（OK）を示す場合には、さらにアクセス条件の項目が対応付けられていることがある。アクセス条件の項目には、ウェブアプリを起動可(OK)とするサービスを示す情報が設定される。
【０１１５】
図２１の第２行は、送信元アプリ「AppX」に対応付けて、連携認可の項目に「NG」が設定されていることを示す。この「NG」は、送信元アプリ「AppX」からのサービス起動コマンドで指定されるウェブアプリについて起動不可であることを示す。従って、アプリ間連携条件管理部５３５２は、送信元アプリ「AppX」からのサービス起動コマンドで指示されるサービスを提供するウェブアプリについて起動不可と判定する。図２１の第３行は、送信元アプリ「AppY」に対応付けて、連携認可の項目に「OK」が設定され、アクセス条件の項目に「Service A」が設定されていることを示す。従って、アプリ間連携条件管理部５３５２は、送信元アプリ「AppX」からのサービス起動コマンドで指示されるサービスAを提供するウェブアプリについて起動可（OK）と判定する。アプリ間連携条件管理部５３５２は、送信元アプリ「AppX」からのサービス起動コマンドで指定されるサービスA以外のサービス(例えば、サービスB)を提供するウェブアプリについては起動不可（NG）と判定する。図２１の第４行は、送信元アプリ「AppZ」に対応付けて、連携認可の項目に「OK」が設定され、アクセス条件の項目に「Service A」と「Service B」が設定されていることを示す。従って、アプリ間連携条件管理部５３５２は、送信元アプリ「AppX」からのサービス起動コマンドで指示されるサービスA又はサービスBを提供するウェブアプリについて起動可（OK）と判定する。アプリ間連携条件管理部５３５２は、送信元アプリ「AppX」からのサービス起動コマンドで指示されるサービスA,B以外のサービス(例えば、サービスC)を提供するウェブアプリについて起動不可（NG）と判定する。
【０１１６】
なお、図２１に示す例では、「NG」が設定されている連携認可の項目に対応付けてアクセス条件の情報が設定されていない。ここで、起動不可(NG)とする送信元アプリからのサービス起動コマンドについて、アプリ間連携条件管理部５３５２は、サービスに関わらずウェブアプリを起動不可(NG)と判定し、起動不可(NG)を示す起動可否判定をアプリ間連携処理部５３５１に出力する。この起動可否判定が入力されるとき、アプリ間連携処理部５３５１は、エラー処理起動コマンドを発行しサービス実行管理部５３３に出力する。サービス実行管理部５３３は、アプリ間連携条件管理部５３５２からエラー処理起動コマンドが入力されるとき、エラー処理として、例えば、所定のエラー画面を表示させるためのサービスアプリを起動させる。また、「OK」が設定されている送信元アプリとする送信元アプリからのサービス起動コマンドについて、連携認可の項目に対応付けてアクセス条件の情報が設定されていない場合、アプリ間連携条件管理部５３５２は、アプリ間連携条件管理部５３５２は、起動不可(NG)と判定する。これに対し、アプリ間連携条件管理部５３５２に、全てのサービスへのアクセスを許可し、ウェブアプリを起動可（OK）と判定させるためには、連携認可の項目に「OK」を設定するとともに、アクセス条件の項目に、例えば「ALL」のような全アクセス許可用の識別子を設定しておけばよい。
【０１１７】
次に、連携アプリ実行制御部５３のサービス実行部５３２からの他アプリの起動に係る処理フローについて説明する。図２２は、連携アプリ実行制御部５３のサービス実行部５３２からの他アプリの起動に係る処理フローを示す図である。
サービス実行管理部５３３は、サービス実行部５３２から入力されるコマンドが他アプリ起動コマンドであるか否かを判定する。サービス実行管理部５３３は、他アプリ起動コマンドと判定したコマンドをアプリ間連携処理部５３５１に出力する（ステップＳ９０５）。アプリ間連携処理部５３５１は、サービス実行管理部５３３から入力された他アプリ起動コマンドを解釈し、アプリ間連携情報として起動対象の他アプリと起動条件の情報を検出する（ステップＳ９１０）。アプリ間連携処理部５３５１は、検出したアプリ間連携情報を含むように、他アプリ起動コマンドの形式を連携アプリ内形式からアプリ間連携形式に変換する（ステップＳ９１５）。アプリ間連携処理部５３５１は、変換した他アプリ起動コマンドをアプリ間連携通信部５３５３に出力する（ステップＳ９２０）。アプリ間連携通信部５３５３は、アプリ間連携処理部５３５１から入力された他アプリ起動コマンドを他アプリ実行制御部５４に送信する。他アプリ実行制御部５４は、アプリ間連携処理部５３５１から入力された他アプリ起動コマンドのアプリ間連携情報で指示される他アプリを、そのアプリ間連携情報で指示される起動条件に従って起動する（ステップＳ９２５）。
【０１１８】
次に、他アプリ実行制御部５４からの連携アプリ実行制御部５３におけるウェブアプリの起動に係る処理フローについて説明する。図２３は、他アプリ実行制御部５４からの連携アプリ実行制御部５３におけるウェブアプリの起動に係る処理フローを示す図である。
アプリ間連携通信部５３５３は、他アプリ実行制御部５４からサービス起動コマンドを受信する（ステップＳ１００５）。アプリ間連携通信部５３５３は、受信したサービス起動コマンドをアプリ間連携処理部５３５１に出力する（ステップＳ１０１０）。アプリ間連携処理部５３５１は、アプリ間連携通信部５３５３から入力されたサービス起動コマンドを解釈し、送信元アプリの識別子と対象サービスのサービス識別子を検出する（ステップＳ１０１５）。アプリ間連携処理部５３５１は、検出した送信元アプリと対象サービスについて、そのサービスを提供するウェブアプリの起動の可否をアプリ間連携条件管理部５３５２に照会する（ステップＳ１０２０）。
【０１１９】
アプリ間連携条件管理部５３５２が起動可（OK）と判定するとき（ステップＳ１０２５  ＯＫ）、アプリ間連携処理部５３５１は、検出したサービスを示すサービス識別子を含む連携アプリ内形式のサービス起動コマンドを生成する（ステップＳ１０３０）。アプリ間連携処理部５３５１は、生成した連携アプリ内形式のサービス起動コマンドをサービス実行管理部５３３に出力する（ステップＳ１０３５）。そして、サービス実行管理部５３３は、アプリ間連携処理部５３５１から入力されたサービス起動コマンドからサービス識別子を検出する。サービス実行管理部５３３は、検出したサービス識別子で指定されるサービスを提供するウェブアプリを起動する。
他方、アプリ間連携条件管理部５３５２が起動不可（NG）と判定するとき（ステップＳ１０２５  ＮＧ）、サービス実行管理部５３３に所定のエラー処理を実行させる（ステップＳ１０４０）。
【０１２０】
以上説明した実施形態によれば、放送通信連携システム１は、受信装置４と、連携端末５（端末装置）とを有する。受信装置４は、放送信号に含まれるコンテンツデータを出力する処理と、放送信号と連携した動作により複数のサービスを提供するアプリケーション（放送マネージドアプリ）を実行する処理とを実行する。連携端末５は、個別のサービスを提供するアプリケーションであるサービスアプリケーション（サービスアプリ、ウェブアプリ）を複数並列で実行させる。受信装置４が実行するアプリケーションに含まれるサービスの機能と、サービスアプリケーションにより提供されるサービスの機能とが連携して、ユーザにサービスを提供する。
【０１２１】
連携端末５は、連携アプリ実行制御部５３と他アプリ実行制御部５４とを備える。連携アプリ実行制御部５３は、所定のサービスを提供するアプリケーションであるサービスアプリケーションを実行させる。また、連携アプリ実行制御部５３は、サービス実行部５３２、サービス実行管理部５３３、アプリ間連携処理部５３５１及びアプリ間連携通信部５３５３を備える。サービス実行部５３２は、所定のサービスに係るアプリであるウェブアプリを実行する。サービス実行部５３２は、他アプリの起動を示す他アプリ起動コマンドを取得する。アプリ間連携処理部５３５１は、他アプリ起動コマンドの形式を他アプリ実行制御部において処理可能なアプリ間連携形式に変換する。アプリ間連携通信部５３５３は、アプリ間連携形式の他アプリ起動コマンドを他アプリ実行制御部５４に送信する。他アプリ実行制御部５４は、受信装置４と連携して動作する連携アプリとは別個のアプリケーションである他アプリケーションの実行を制御する。
【０１２２】
また、アプリ間連携通信部５３５３は、他アプリ実行制御部５４からサービスアプリケーションの起動を示すサービス起動コマンドを受信する。アプリ間連携処理部５３５１は、サービス起動コマンドの形式を連携アプリ実行制御部５３において処理可能なアプリ内連携形式に変換する。連携アプリ実行制御部５３は、サービス実行管理部５３３を備える。サービス実行管理部５３３は、アプリ内連携形式のサービス起動コマンドが示すサービスに係るアプリを起動させる。
【０１２３】
また、連携アプリ実行制御部５３は、さらにアプリ間連携条件管理部５３５２を備える。アプリ間連携条件管理部５３５２は、少なくとも他アプリ実行制御部５４において実行している他アプリとサービス起動コマンドが示すサービスのいずれかに基づいて、そのサービスに係るアプリの起動の可否を判定する。
【０１２４】
また、連携アプリ実行制御部５３は、さらに端末連携部５３１を備える。端末連携部５３１は、受信した放送信号と連携して所定のサービスを提供するウェブアプリを実行する受信装置４との間で接続を確立させる。サービス実行管理部５３３は、受信装置４から他アプリ起動コマンドを取得する。
【０１２５】
以上説明した実施形態によれば、ハイブリッドキャストなどの放送通信連携サービスにおいて、放送マネージドアプリのように受信装置で実行されるアプリが1個（サービス提供者が一つ）、連携端末で実行されるアプリが複数個（サービス提供者が複数）ある場合でも、受信装置において実行される1個のアプリに対して連携端末において実行される複数個のアプリが連携することができる。これにより、現行のハイブリッドキャストの運用において、受信装置の実装を変えることなく、連携端末に実装するコンパニオンアプリ（連携アプリ）を改修するだけで、複数のマルチスクリーンサービスを並列して実行することが可能になる。
【０１２６】
また、放送通信連携サービスにおいて、コンパニオンアプリ上で提供されるサービスに係るアプリ又は受信装置上で提供されるサービスに係るアプリから、連携端末において既に存在している外部アプリ（他アプリ）を起動させることができる。そのため、サービス間の連携が促進される。
また、外部アプリからコンパニオンアプリ上で提供されるサービスに係るアプリを起動させることができる。起動したアプリは、受信装置上で提供されるサービスに係るアプリと連携可能であるので、サービス間の連携がさらに促進される。
さらに、外部アプリからのアプリを起動させる際、外部アプリもしくはアプリ起動コマンドで指定されたサービスに応じて、そのアプリの起動の可否が判定される。そのため、アプリの制作者の意図に沿った外部アプリとの連携が実現する。
【０１２７】
なお、上述の受信装置４及び連携端末５は、内部にコンピュータシステムを有している。そして、受信装置４及び連携端末５の一部の動作の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータシステムが読み出して実行することによって、上記処理が行われる。ここでいうコンピュータシステムとは、ＣＰＵ及び各種メモリやＯＳ、周辺機器等のハードウェアを含むものである。
【０１２８】
また、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよい。
【符号の説明】
【０１２９】
１…放送通信連携システム
２…放送送出装置
３…サービスサーバ
４…受信装置
５…連携端末
５１…ハードウェア部
５２…ＯＳ部
５３…連携アプリ実行制御部
５４…他アプリ実行制御部
４０１…放送受信部
４０２…分離部
４０３…映像復号部
４０４…音声復号部
４０５…データ放送実行部
４０６…通信入出力部
４０７…リモコン入力制御部
４０８…電源制御部
４０９…アプリ実行部
４１０…アプリ制御部
４１１…放送通信連携部
４１２…端末連携部
４１３…映像合成部
４１４…映像表示部
４１５…音声合成部
４１６…音声出力部
４２１…サービス実行部
４２２…サービス実行管理部
４２３…メッセージ制御部
５１１…通信入出力部
５３１…端末連携部
５３２−１〜５３２−３…サービス実行部
５３３…サービス実行管理部
５３４…メッセージ制御部
５３５…アプリ間連携部
４２３１…サービス識別管理部
４２３２…メッセージ受信部
４２３３…メッセージ判定部
４２３４…メッセージ分配部
４２３５…送信元サービス設定部
５３４１…サービス識別管理部
５３４２…メッセージ受信部
５３４３…メッセージ判定部
５３４４…メッセージ分配部
５３４５…送信元サービス設定部
５３５１…アプリ間連携処理部
５３５２…アプリ間連携条件管理部
５３５３…アプリ間連携通信部
【図１】
2018078384.tif 000003
【図２】
2018078384.tif 000004
【図３】
2018078384.tif 000005
【図４】
2018078384.tif 000006
【図５】
2018078384.tif 000007
【図６】
2018078384.tif 000008
【図７】
2018078384.tif 000009
【図８】
2018078384.tif 000010
【図９】
2018078384.tif 000011
【図１０】
2018078384.tif 000012
【図１１】
2018078384.tif 000013
【図１２】
2018078384.tif 000014
【図１３】
2018078384.tif 000015
【図１４】
2018078384.tif 000016
【図１５】
2018078384.tif 000017
【図１６】
2018078384.tif 000018
【図１７】
2018078384.tif 000019
【図１８】
2018078384.tif 000020
【図１９】
2018078384.tif 000021
【図２０】
2018078384.tif 000022
【図２１】
2018078384.tif 000023
【図２２】
2018078384.tif 000024
【図２３】
2018078384.tif 000025