JPWO2016067988A1 - 受信装置、送信装置、およびデータ処理方法 - Google Patents

受信装置、送信装置、およびデータ処理方法 Download PDF

Info

Publication number
JPWO2016067988A1
JPWO2016067988A1 JP2016556516A JP2016556516A JPWO2016067988A1 JP WO2016067988 A1 JPWO2016067988 A1 JP WO2016067988A1 JP 2016556516 A JP2016556516 A JP 2016556516A JP 2016556516 A JP2016556516 A JP 2016556516A JP WO2016067988 A1 JPWO2016067988 A1 JP WO2016067988A1
Authority
JP
Japan
Prior art keywords
data
service
token
service worker
file
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2016556516A
Other languages
English (en)
Other versions
JP6583281B2 (ja
Inventor
山岸 靖明
靖明 山岸
五十嵐 卓也
卓也 五十嵐
典史 吉川
典史 吉川
義治 出葉
義治 出葉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Publication of JPWO2016067988A1 publication Critical patent/JPWO2016067988A1/ja
Application granted granted Critical
Publication of JP6583281B2 publication Critical patent/JP6583281B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H60/00Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
    • H04H60/09Arrangements for device control with a direct linkage to broadcast information or to broadcast space-time; Arrangements for control of broadcast-related services
    • H04H60/14Arrangements for conditional access to broadcast information or to broadcast-related services
    • H04H60/15Arrangements for conditional access to broadcast information or to broadcast-related services on receiving information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H60/00Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
    • H04H60/09Arrangements for device control with a direct linkage to broadcast information or to broadcast space-time; Arrangements for control of broadcast-related services
    • H04H60/13Arrangements for device control affected by the broadcast information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/907Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H20/00Arrangements for broadcast or for distribution combined with broadcast
    • H04H20/86Arrangements characterised by the broadcast information itself
    • H04H20/91Arrangements characterised by the broadcast information itself broadcasting computer programmes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H60/00Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
    • H04H60/35Arrangements for identifying or recognising characteristics with a direct linkage to broadcast information or to broadcast space-time, e.g. for identifying broadcast stations or for identifying users
    • H04H60/45Arrangements for identifying or recognising characteristics with a direct linkage to broadcast information or to broadcast space-time, e.g. for identifying broadcast stations or for identifying users for identifying users
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H60/00Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
    • H04H60/76Arrangements characterised by transmission systems other than for broadcast, e.g. the Internet
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • G06F16/9566URL specific, e.g. using aliases, detecting broken or misspelled links
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H40/00Arrangements specially adapted for receiving broadcast information
    • H04H40/18Arrangements characterised by circuits or components specially adapted for receiving
    • H04H40/27Arrangements characterised by circuits or components specially adapted for receiving specially adapted for broadcast systems covered by groups H04H20/53 - H04H20/95

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Multimedia (AREA)
  • Library & Information Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Small-Scale Networks (AREA)

Abstract

各々の受信装置に最適化したデータ管理を実行するサービスワーカー(SW)の選択取得および利用処理を可能とする装置、方法を提供する。受信装置において利用されるデータ管理プログラムであり、異なるデータ管理タイプを持つ複数のクラス対応のサービスワーカ(SW)から、特定クラスのSWを選択取得して利用可能とした。例えば、受信装置におけるアプリケーション利用状況に応じて選択されるクラス対応のSWの利用を実現する。受信装置は、特定クラスのSWのアクセス情報を効率的に検索可能とするためのトークンを記録したシグナリングデータを利用して特定クラスのSWのアクセス情報を取得してSWを取得する。

Description

本開示は、受信装置、送信装置、およびデータ処理方法に関する。さらに詳細には例えば放送波やネットワークを介したデータの送信または受信を実行する受信装置、送信装置、および通信データに対するデータ処理方法に関する。
放送局やコンテンツサーバ等、コンテンツを提供する送信装置から、テレビ、PC、携帯端末等の受信装置に対して、放送波等による一方向通信、あるいは、インターネット等のネットワークを介した双方向通信、一方向通信によって、放送番組等のコンテンツを送受信するシステムについての開発や規格化が、現在、盛んに進められている。
なお、放送波およびネットワークを介したデータ配信を実現するための技術を開示した従来技術して。例えば特許文献1(特開2014−057227号公報)がある。
放送波およびネットワークを介したデータ配信システムに関する規格の1つとしてATSC(Advanced Television System Committe)3.0の規格化が進められている。
ATSC3.0では、ダウンロード型のアプリケーション配信管理用のパッケージング方式、ならびに、オフラインのアプリケーション登録・更新管理方式がまだ検討段階にある。
一方、WWW(World Wide Web)利用技術の国際的標準化団体であるW3C(World Wide Web Consortium)は、クライアントにおける便利なアプリケーションの利用を実現するために利用する制御プログラム等からなるサービスワーカー(SW:Service Worker)の仕様を策定中である。
このサービスワーカー(SW)のフレームワークを、放送コンテンツの受信装置であるクライアントにおいて有効な利用を実現するためには、放送配信されるアプリケーションパーツや、サービスワーカー(SW)自体の配信管理を効果的に実装できるようにすることが課題となる。
特開2014−057227号公報
本開示は、上述したサービスワーカー(SW)のフレームワークを、放送コンテンツの受信装置であるクライアントにおいて有効な利用を実現する受信装置、送信装置、およびデータ処理方法を提供することを目的とする。
さらに、具体的には、受信装置(クライアント)の実行環境や記憶容量等の各種リソースの制約を考慮にいれて、受信装置側のユーザの嗜好情報や、記憶域容量他ランタイム環境制約、ローカルネットワーク負荷等のさまざまなクライアント環境属性を参照することにより、きめの細かなキャッシュ対象であるアプリケーション(パーツ)のキャッシュ制御を実現する受信装置、送信装置、およびデータ処理方法を提供することを目的とする。
本開示の第1の側面は、
受信装置において利用されるデータ管理プログラムであり、異なるデータ管理タイプを持つ複数のクラス対応のサービスワーカ(SW)から、特定クラスのサービスワーカー(SW)を選択取得して利用するデータ処理部を有する受信装置にある。
さらに、本開示の第2の側面は、
受信装置において利用されるデータ管理プログラムであり、異なるデータ管理タイプを持つ複数のクラス対応のサービスワーカ(SW)を送信する送信装置にある。
さらに、本開示の第3の側面は、
受信装置において実行するデータ処理方法であり、
前記受信装置のデータ処理部が、受信装置において利用されるデータ管理プログラムであり、異なるデータ管理タイプを持つ複数のクラス対応のサービスワーカ(SW)から、特定クラスのサービスワーカー(SW)を選択取得して利用するデータ処理方法にある。
さらに、本開示の第4の側面は、
送信装置において実行するデータ処理方法であり、
受信装置において利用されるデータ管理プログラムであり、異なるデータ管理タイプを持つ複数のクラス対応のサービスワーカ(SW)を送信するデータ処理方法にある。
本開示のさらに他の目的、特徴や利点は、後述する本開示の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
本開示の一実施例の構成によれば、各々の受信装置に最適化したデータ管理を実行するサービスワーカー(SW)の選択取得および利用処理を可能とする装置、方法が実現される。
具体的には、例えば、受信装置において利用されるデータ管理プログラムであり、異なるデータ管理タイプを持つ複数のクラス対応のサービスワーカ(SW)から、特定クラスのSWを選択取得して利用可能とした。例えば、受信装置におけるアプリケーション利用状況に応じて選択されるクラス対応のSWの利用を実現する。受信装置は、特定クラスのSWのアクセス情報を効率的に検索可能とするためのトークンを記録したシグナリングデータを利用して特定クラスのSWのアクセス情報を取得してSWを取得する。
本構成により、各々の受信装置に最適化したデータ管理を実行するサービスワーカー(SW)の選択取得および利用処理を可能とする装置、方法が実現される。
なお、本明細書に記載された効果はあくまで例示であって限定されるものではなく、また付加的な効果があってもよい。
本開示の処理を実行する通信システムの一構成例について説明する図である。 送信装置の送信データについて説明する図である。 送信装置および受信装置のプロトコルスタックの例を示す図である。 サービスワーカー(SW)を利用した処理の具体例(ユースケース)について説明する図である。 サービスワーカー(SW)を利用した処理の具体例(ユースケース)について説明する図である。 サービスワーカー(SW)を利用した処理の一例を説明する図である。 受信装置の構成例について説明する図である。 アプリケーションの取得および実行、さらにサービスワーカー(SW)の取得と登録処理のシーケンスについて説明する図である。 アプリケーションの取得および実行、さらにサービスワーカー(SW)の取得と登録処理のシーケンスについて説明する図である。 アプリケーションの取得および実行、さらにサービスワーカー(SW)の取得と登録処理のシーケンスについて説明する図である。 トークンを利用したデータ取得処理シーケンスについて説明する図である。 トークンを利用したデータ取得処理シーケンスについて説明する図である。 シグナリングデータ(メタデータ)の構成例について説明する図である。 シグナリングデータ(メタデータ)の構成例について説明する図である。 シグナリングデータ(メタデータ)に対するトークン設定例について説明する図である。 シグナリングデータ(メタデータ)に対するトークン設定例について説明する図である。 シグナリングデータ(メタデータ)に対するトークン設定例について説明する図である。 サービスワーカー(SW)の更新処理シーケンスについて説明する図である。 サービスワーカー(SW)の更新処理シーケンスについて説明する図である。 サービスワーカー(SW)による受信装置の記憶部(永続キャッシュ)の制御処理シーケンスについて説明する図である。 サービスワーカー(SW)による受信装置の記憶部(永続キャッシュ)の制御処理シーケンスについて説明する図である。 プッシュ型のトークン適用データ選択取得処理シーケンスについて説明する図である。 プッシュ型のトークン適用データ選択取得処理シーケンスについて説明する図である。 プッシュ型処理におけるサービスワーカー更新処理シーケンスについて説明する図である。 送信装置から送信されるシグナリングデータ(メタデータ)の構成例を示す図である。 サービス・フラグメント(Service Fragment)の構成例について説明する図である。 USD(ユーザサービスディスクリプション)の全体構成例について説明する図である。 シグナリングデータを構成するUSD(ユーザサービスバンドルディスクリプション)以下の階層構成例を示す図である。 スケジュールディスクリプション(Schedule Description)要素以下のシグナリングデータ構成を示す図である。 フィルタディスクリプションリファレンス(filter Description Reference)によって特定されるフィルタディスクリプション(filter Description)要素のデータ構成について説明する図である。 シグナリングデータを構成するUSD(ユーザサービスバンドルディスクリプション)以下の階層構成例を示す図である。 ファイル転送をFLUTEプロトコルに従って実行する場合に、デリバリメソッド(deliveryMethod)要素に設定されるFLUTEへの参照情報の例を示す図である。 ファイル転送をFLUTEプロトコルに従って実行する場合に、デリバリメソッド(deliveryMethod)要素に設定されるFLUTEへの参照情報の例を示す図である。 ファイル転送をROUTEプロトコルに従って実行する場合に、デリバリメソッド(deliveryMethod)要素に設定されるFLUTEへの参照情報の例を示す図である。 ファイル転送をROUTEプロトコルに従って実行する場合に、デリバリメソッド(deliveryMethod)要素に設定されるFLUTEへの参照情報の例を示す図である。 FDT−Instance要素の属性、もしくは、File要素の属性にトークンを記録する構成について説明する図である。 FDTインスタンス対応のアトリビュート(属性)(Attribute)と、ファイル対応のアトリビュート(属性)(Attribute)の詳細構成を説明する図である。 ROUTEで規定しているLSID以下のデータ構成を示す図である。 EFDT要素単位のアトリビュート(属性)(Attribute)データ要素、ファイル(File)単位のアトリビュート(属性)(Attribute)データ要素の詳細について説明する図である。 サービスワーカー(SW)による受信装置の記憶部(永続キャッシュ)の制御処理シーケンスについて説明する図である。 サービスワーカー(SW)による受信装置の記憶部(永続キャッシュ)の制御処理シーケンスについて説明する図である。 通信装置である送信装置と受信装置の構成例について説明する図である。 通信装置である送信装置と受信装置のハードウェア構成例について説明する図である。
以下、図面を参照しながら本開示の受信装置、送信装置、およびデータ処理方法の詳細について説明する。なお、説明は以下の項目に従って行なう。
1.通信システムの構成例について
2.データ通信プロトコルFLUTE、およびROUTEについて
3.送信装置と受信装置の実行する通信処理例について
4.サービスワーカー(SW)について
5.受信装置におけるアプリケーションの取得および実行例について
6.サービスワーカー(SW)のクラス分類と、クラス分類されたサービスワーカー(SW)の選択取得用情報の通知(シグナリング)処理につい
7.サービスワーカー(SW)の配信とキャッシュ制御処理について(ポーリング型の処理例)
7.1.放送ストリーム付随アプリケーションからのサービスワーカー(SW)の取得、登録処理について
7.2.サービスワーカー(SW)に対するクラス設定について
7.3.トークンを適用して特定クラスのサービスワーカー(SW)の取得処理を効率化した構成について
7.4.サービスワーカー(SW)の更新処理について
7.5.サービスワーカー(SW)による受信装置の記憶部(永続キャッシュ)の制御処理について
8.サービスワーカー(SW)の配信とキャッシュ制御処理について(プッシュ型の処理例)
8.1.放送ストリーム付随アプリケーションからのサービスワーカー(SW)の取得、登録処理について
8.2.トークンを適用して受信装置のデータ取得処理を効率化した構成について
8.3.サービスワーカー(SW)の更新処理について
8.4.サービスワーカー(SW)による受信装置の記憶部(永続キャッシュ)の制御処理について
9.トークンを記述するシグナリングデータ(メタデータ)の構成について
9.1.シグナリングデータ(メタデータ)を構成するOMA−ESGに対するトークン記録例について
9.2.シグナリングデータ(メタデータ)を構成するUSDに対するトークン記録例について
9.3.シグナリングデータ(メタデータ)を構成するFLUTE(ROUTE)パラメータレイヤに対するトークン記録例について
10.サービスワーカー(SW)の利用可能なAPIによるキャッシングの最適化処理例について
11.送信装置と受信装置の構成例について
12.本開示の構成のまとめ
[1.通信システムの構成例について]
まず、図1を参照して本開示の処理を実行する通信システムの一構成例について説明する。
図1に示すように、通信システム10は、画像データや音声データ等のコンテンツを送信する通信装置である送信装置20と、送信装置20の送信するコンテンツを受信する通信装置である受信装置30を有する。
送信装置20は、具体的には、例えば放送局21やコンテンツサーバ22等、コンテンツを提供する側の装置である。
一方、受信装置30は、一般ユーザのクライアント装置であり、具体的には、例えばテレビ31、PC32、携帯端末33等によって構成される。
送信装置20と受信装置30間のデータ通信は、インターネット等のネットワークを介した双方向通信、一方向通信、あるいは、放送波等による一方向通信の少なくともいずれか、あるいは両者を利用した通信として行われる。
送信装置20から受信装置30に対するコンテンツ送信は、例えばアダプティブ(適応型)ストリーミング技術の規格であるMPEG−DASH規格に従って実行する。
MPEG−DASH規格には、以下の2つの規格が含まれる。
(a)動画や音声ファイルの管理情報であるメタデータを記述するためのマニフェスト・ファイル(MPD:Media Presentation Description)に関する規格、
(b)動画コンテンツ伝送用のファイル・フォーマット(セグメント・フォーマット)に関する規格、
送信装置20から、受信装置30に対するコンテンツ配信は、上記のMPEG−DASH規格に従って実行する。
送信装置20は、コンテンツデータを符号化し、符号化データおよび符号化データのメタデータを含むデータファイルを生成する。符号化処理は、例えばMPEGにおいて規定されるMP4ファイルフォーマットに従って行われる。なお、送信装置20がMP4形式のデータファイルを生成する場合の符号化データのファイルは「mdat」、メタデータは「moov」や「moof」等と呼ばれる。
送信装置20が受信装置30に提供するコンテンツは、例えば音楽データや、映画、テレビ番組、ビデオ、写真、文書、絵画および図表などの映像データや、ゲームおよびソフトウェアなど、様々なデータである。
送信装置20の送信データについて図2を参照して説明する。
MPEG−DASH規格に従ってデータ送信を実行する送信装置20は、図2に示すように、大きく分けて以下の複数種類のデータの送信を行う。
(a)シグナリングデータ50
(b)AVセグメント60
(c)その他のデータ(ESG,NRTコンテンツ等)70
AVセグメント60は、受信装置において再生する画像(Video)や、音声(Audio)データ、すなわち例えば放送局の提供する番組コンテンツ等によって構成される。例えば、上述したMP4符号化データ(mdat)や、メタデータ(moov,moof)によって構成される。
一方、シグナリングデータ50は、番組表等の番組予定情報や、番組取得に必要となるアドレス情報(URL(Uniform Resource Locator)等)、さらにコンテンツの再生処理に必要な情報、例えばコーデック情報(符号化方式など)などからなる案内情報、制御情報によって構成される。
受信装置30は、このシグナリングデータ50を、再生対象となる番組コンテンツを格納したAVセグメント60の受信に先行して受信することが必要となる。
このシグナリングデータ50は、例えばXML(Extensible Markup Language)形式のデータとして、スマホやテレビ等のユーザ端末である受信装置(クライアント)に送信される。
前述したように、シグナリングデータは、随時、繰り返し送信される。例えば100msec毎など、頻繁に繰り返し送信される。
これは、受信装置(クライアント)が、いつでも、即座にシグナリングデータを取得することを可能とするためである。
クライアント(受信装置)は、随時、受信可能なシグナリングデータに基づいて、必要な番組コンテンツのアクセス用アドレスの取得や、コーデック設定処理など、番組コンテンツの受信および再生に必要な処理を遅滞なく実行することが可能となる。
その他のデータ70は、例えばESG(Electronic Service Guide)、NRTコンテンツ等が含まれる。
ESGは、電子サービスガイド(Electronic Service Guide)であり、例えば番組表等の案内情報である。
NRTコンテンツはノンリアルタイム型のコンテンツである。
NRTコンテンツには、例えば、クライアントである受信装置30のブラウザ上で実行される様々なアプリケーションファイル、動画、静止画等のデータファイル等が含まれる。
後述するアプリケーション等の制御プログラムとして利用されるサービスワーカー(Service Worker)も、NRTコンテンツに含まれる。
図2に示す以下のデータ、すなわち、
(a)シグナリングデータ50
(b)AVセグメント60
(c)その他のデータ(ESG,NRTコンテンツ等)70
これらのデータは、例えば、データ通信プロトコル:FLUTE(File Delivery over Uni−directional Transport)に従って送信される。
[2.データ通信プロトコルFLUTE、およびROUTEについて]
データ通信プロトコル:FLUTE(File Delivery over Uni−directional Transport)はマルチキャストにより伝送するコンテンツのセッション管理を行うプロトコルである。
例えば送信装置であるサーバ側で生成されるファイル(URLとバージョンで識別される)は、FLUTEプロトコルに従って、受信装置であるクライアントに送信される。
受信装置(クライアント)30は、例えば受信装置(クライアント)30の記憶部(クライアントキャッシュ)に、受信ファイルのURLおよびバージョンとファイルを対応付けて蓄積する。
同じURLでバージョンが異なるものはファイルの中身が更新されているものとみなす。FLUTEプロトコルは一方向ファイル転送制御のみを行うもので、クライアントにおけるファイルの選択的なフィルタリング機能はないが、FLUTEで転送制御するファイルをそのファイルに紐づけられるメタデータを利用して、クライアント側で取捨選択することにより、選択的なフィルタリングを実現し、ユーザの嗜好を反映したローカルキャッシュを構成・更新管理することが可能となる。
なお、メタデータは、FLUTEプロトコルに拡張して組み込むこともできるし、別途ESG(Electronic Service Guide)等のプロトコルで記述することもできる。
なお、FLUTEは、当初マルチキャストにおけるファイル転送プロトコルとして仕様化された。FLUTEは、FDTと、ALCと呼ばれるスケーラブルなファイルオブジェクトのマルチキャストプロトコル、具体的にはそのビルディングブロックであるLCTやFECコンポーネント、の組み合わせにより構成される。
従来のFLUTEは、主に非同期型のファイル転送に利用するために開発されたが、現在、放送波およびネットワークを介したデータ配信システムに関する規格化団体であるATSC(Advanced Television System Committe)において、ブロードキャストライブストリーミングにも適用しやすくするための拡張を行っている。このFLUTEの拡張仕様がROUTE(Real−Time Object Delivery over Unidirectional Transport)と呼ばれる。
放送波およびネットワークを介したデータ配信システムに関する規格の1つとして現在、標準化が進められている規格としてATSC(Advanced Television System Committe)3.0がある。このATSC3.0は、ROUTEを従来のFLUTEプロトコルに置き換えて、シグナリングデータや、ESG、あるいは非同期ファイル、同期型ストリーム等の送信に採用したスタック構成を規定している。
[3.送信装置と受信装置の実行する通信処理例について]
次に、送信装置と受信装置の実行する通信処理例について説明する。
図3は、送信装置および受信装置のプロトコルスタックの例を示す図である。
図3に示す例は、以下の2つの通信データの処理を行なうための2つのプロトコルスタックを有する。
(a)ブロードキャスト(マルチキャストも含む)通信(例えば放送型データ配信)
(b)ユニキャスト(ブロードバンド)通信(例えばHTTP型のP2P通信)
図3の左側が(a)ブロードキャスト通信(例えば放送型データ配信)に対応するプロトコルスタックである。
図3の右側が、(b)ユニキャスト(ブロードバンド)通信(例えばHTTP型のP2P通信)に対応するプロトコルスタックである。
図3左側に示す(a)ブロードキャスト通信(例えば放送型データ配信)に対応するプロトコルスタックは、下位レイヤから順に、以下のレイヤを持つ。
(1)ブロードキャスト物理レイヤ(Broadcast PHY)
(2)IPマルチキャストレイヤ(IP Multicast)
(3)UDPレイヤ
(4)ROUTE(=拡張型FLUTE)レイヤ
(5)ESG,NRTcontent,DASH(ISO BMFF)およびVideo/Audio/CC
(6)アプリケーションレイヤ(Applications(HTML5))
なお、(2)IPマルチキャストレイヤ(IP Multicast)の上位レイヤとしてSignaling(シグナリング)レイヤが設定される。
シグナリングレイヤは、先に図2を参照して説明したシグナリングデータ50の送受信に適用されるレイヤである。シグナリングデータには、番組表等の番組予定情報や、番組取得に必要となるアドレス情報(URL等)、さらにコンテンツの再生処理に必要な情報、例えばコーデック情報(符号化方式など)などからなる案内情報、制御情報などが含まれる。
なお、(1)ブロードキャスト物理レイヤ(Broadcast PHY)の上位レイヤとして将来の新たなプロトコルの利用許容レイヤ(Future Extensibility)が設定されている。
(1)ブロードキャスト物理レイヤ(Broadcast PHY)は、ブロードキャスト通信を実行するための例えば放送系の通信部を制御する通信制御部によって構成される物理レイヤである。
(2)IPマルチキャストレイヤ(IP Multicast)は、IPマルチキャストに従ったデータ送受信処理を実行するレイヤである。
(3)UDPレイヤは、UDPパケットの生成、解析処理レイヤである。
(4)ROUTEレイヤは、拡張型FLUTEプロトコルであるROUTEプロトコルにしたがって転送データの格納や取り出しを行うレイヤである。
ROUTEは、FLUTEと同様、ALCと呼ばれるスケーラブルなファイルオブジェクトのマルチキャストプロトコルであり、具体的にはそのビルディングブロックであるLCTやFECコンポーネントの組み合わせにより構成される。
(5)ESG,NRTcontent,DASH(ISO BMFF)およびVideo/Audio/CCは、ROUTEプロトコルに従って転送されるデータである。
DASH規格に従った同報型配信サービスは、MBMS(Multimedia Broadcast Multicast Service)と呼ばれる。このMBMSをLTEで効率的に実現させる方式としてeMBMS(evolved Multimedia Broadcast Multicast Service)がある。
MBMSやeMBMSは、同報型配信サービスであり、特定のエリア内に位置する受信装置である複数のユーザ端末(UE)に対して共通のベアラで一斉に同一データ、例えば映画コンテンツなどを配信するサービスである。MBMSやeMBMSに従った同報配信により、配信サービス提供エリアに位置する多数のスマホやPC、あるいはテレビ等の受信装置に、同じコンテンツを同時に提供することができる。
MBMS、およびeMBMSは、3GPPファイルフォーマット(ISO−BMFFファイル、MP4ファイル)に従ったファイルを、転送プロトコルROUTE、またはFLUTEに従ってダウンロードする処理について規定している。
先に図2を参照して説明した以下のデータ、すなわち、
(a)シグナリングデータ50
(b)AVセグメント60
(c)その他のデータ(ESG、NRTコンテンツ等)70
これらのデータの多くはROUTEプロトコル、またはFLUTEプロトコルに従って送信される。
(5)ESG,NRTcontent,DASH(ISO BMFF)およびVideo/Audio/CCは、ROUTEプロトコルに従って転送されるデータである。
ESGは、電子サービスガイド(Electronic Service Guide)であり、例えば番組表等の案内情報である。
NRTcontentはノンリアルタイム型のコンテンツである。
前述したように、NRTコンテンツには、例えば、クライアントである受信装置のブラウザ上で実行される様々なアプリケーションファイル、動画、静止画等のデータファイル等が含まれる。さらに、後述するアプリケーション等の制御プログラムとして利用されるサービスワーカー(Service Worker(SW))も、NRTコンテンツに含まれる。
Video/Audio/CCは、DASH規格に従って配信されるビデオやオディオ等、再生対象となる実データである。
(6)アプリケーションレイヤ(Applications(HTML5))は、ROUTEプロトコルに従って転送するデータの生成、あるいは解析、その他、様々なデータの出力制御等を実行するアプリケーションレイヤであり、例えばHTML5を適用したデータ生成、解析、出力処理等を行う。
一方、図3の右側に示す、(b)ユニキャスト(ブロードバンド)通信(例えばHTTP型のP2P通信)に対応するプロトコルスタックは、下位レイヤから順に、以下のレイヤを持つ。
(1)ブロードバンド物理レイヤ(Broaband PHY)
(2)IPユニキャストレイヤ(IP Unicast)
(3)TCPレイヤ
(4)HTTPレイヤ
(5)ESG,Signaling,NRTcontent,DASH(ISO BMFF)およびVideo/Audio/CC
(6)アプリケーションレイヤ(Applications(HTML5))
(1)ブロードバンド物理レイヤ(Broaband PHY)は、ブロードバンド通信を実行する例えばネットワークカード等の通信部を制御するデバイスドライバ等の通信制御部によって構成される物理レイヤである。
(2)IPユニキャストレイヤ(IP Unicast)は、IPユニキャスト送受信処理を実行するレイヤである。
(3)HTTPレイヤは、HTTPパケットの生成、解析処理レイヤである。
この上位レイヤは、図3左側の(a)ブロードキャスト通信(例えば放送型データ配信)のスタック構成と同様である。
なお、送信装置(サーバ)20、受信装置(クライアント)30は、図3の2つの処理系、すなわち、
(a)ブロードキャスト通信(例えば放送型データ配信)
(b)ユニキャスト(ブロードバンド)通信(例えばHTTP型のP2P通信)
これら2つの通信プロトコルスタックの少なくともいずれかに従った処理を行なう。
図3に示すプロトコルスタックにおいて、ROUTE(FLUTE)に従ってマルチキャスト転送されるファイル群の属性(ファイルの識別子であるURLを含む)は、ROUTE(FLUTE)の制御ファイル内に記述することもできれば、ファイル転送セッションを記述するシグナリング(Signaling)データ中に記述することもできる。また、ファイル転送セッションのさらなる詳細属性を(エンドユーザへの提示用途にも適用可能な)ESGにより記述することもできる。
[4.サービスワーカー(SW)について]
次に、送信装置(サーバ)20が提供し、主に受信装置(クライアント)30において利用されるサービスワーカー(SW:Service Worker)について説明する。
サービスワーカー(SW)は、放送サーバ21や、データ配信サーバ22等の送信装置20から受信装置に提供される。
サービスワーカー(SW)は、受信装置(クライアント)30において実行されるアプリケーション(=アプリケーションプログラム)や、アプリケーションの実行時に利用されるデータファイル等の取得処理や、記憶部(キャッシュ)に対する格納処理、さらに更新処理、削除処理等を実行するプログラムである。具体的には、例えばJavaScript(登録商標)によって構成される。
サービスワーカー(SW)は、例えば放送サーバ21や、データ配信サーバ22等の送信装置20が提供する放送番組(放送コンテンツ)に対応して設定され、送信装置20から受信装置30に提供されるアプリケーションの制御および管理プログラムとして、受信装置30に提供される。
サービスワーカー(SW)、アプリケーション、およびアプリケーションの実行時に利用されるデータファイル、これらは、例えば先に図2、図3を参照して説明したNRTコンテンツ(ノンリアルタイムコンテンツ)として、送信装置20から受信装置30に提供される。
あるいは、放送番組を配信するサーバとは別のデータ提供サーバが、サービスワーカー(SW)、アプリケーション、およびアプリケーションの実行時に利用されるデータファイルを受信装置30に提供する構成としてもよい。
サービスワーカー(SW)は、例えば、受信装置30においてWebページ等の閲覧処理を実行するために利用されるプログラムであるブラウザを利用して情報表示を実行するアプリケーション等の管理(取得、保持、更新、削除等)処理などを実行する。
サービスワーカー(SW)を利用した処理の具体例(ユースケース)について、図4、図5を参照して説明する。
図4は、受信装置30が、放送サーバ21等の送信装置20から、ある番組コンテンツを受信し、受信装置30の表示部に表示している状態を示している。
放送サーバ21等の送信装置20は、番組配信に併せて、NRTコンテンツ(ノンリアルタイムコンテンツ)として、天気情報を表示するアプリケーション、およびこの天気情報表示アプリケーションに利用される様々なデータファイル、例えば動画、静止画、音声等の様々なデータを含むデータファイルを受信装置30に提供する。
以下では、これらのアプリケーションおよびデータファイルを「リソース」と呼ぶ。
放送サーバ21は、さらに、これらの「リソース」を管理するリソース管理プログラムとして、サービスワーカー(SW)を、やはりNRTコンテンツ(ノンリアルタイムコンテンツ)として受信装置30に提供する。
受信装置30は、送信装置20から受信した「リソース」、すなわちアプリケーションおよびデータファイルを利用して、図4に示すように、番組表示に併せて、天気情報の表示を行うことができる。
このような、アプリケーションを利用したデータ表示は、これまでのデータ配信構成では、アプリケーションの提供される番組の終了とともに実行できなくなってしまう。
これは、天気情報表示アプリケーション等のリソースは、番組受信中は、受信装置30において利用可能な設定、例えば、一時記憶キャッシュに格納され、利用可能な状態に設定されるが、番組終了、あるいはユーザがチャンネルを切り替えると、これらのキャッシュデータが消去、あるいはアクセス不可能な状態に設定されてしまうためである。
サービスワーカー(SW)は、このような番組対応のアプリケーションやデータを、番組終了後や、チャンネル切り替え後、あるいは放送の非受信状態、ネットワーク非接続状態等のオフライン状態であっても利用可能とするためのリソース管理プログラムとして機能する。
図5に示すように、天気情報表示アプリケーションを、このアプリを提供した番組の終了後や、他のチャンネルに切り換え後、あるいはデータ受信を実行していないオフライン状態であっても、利用することが可能となる。すなわち天気情報を受信装置30の表示部に表示して閲覧することが可能となる。
なお、天気情報表示アプリケーションは、例えばブラウザ上で表示されるプログラムである。
この天気情報表示アプリケーションは、サービスワーカー(SW)の制御によって、受信装置30の記憶部(永続キャッシュ)に格納される。例えばユーザによる表示要求等のリクエスト(イベント)があると、サービスワーカー(SW)の制御によって、の記憶部(永続キャッシュ)から読み出され、表示部に表示される。
なお、アプリケーション等のリソースを格納する記憶部(永続キャッシュ)は、受信装置30の電源がオフとなっても格納データが消去されない不揮発性メモリとすることが好ましい。
このように、サービスワーカー(SW)を利用することで、様々な番組対応アプリケーションを、番組の表示、非表示と無関係に利用することが可能となる。
なお、サービスワーカー(SW)は、例えばある番組対応のリソース(アプリケーション、およびアプリ関連データ)単位ごとに設定され、リソースに併せて、あるいはリソース送信に前後して送信装置20から受信装置30に提供される。
サービスワーカー(SW)は、各番組対応の設定とすることもできるが、複数番組を含む特定のチャンネル対応のリソースに対して、共通に利用可能としたサービスワーカー(SW)を設定することもできる。
サービスワーカー(SW)と、サービスワーカー(SW)によって管理されるリソース(アプリケーションおよびアプリ関連データ)は、受信装置30の記憶部(永続キャッシュ)に格納される。
図6は、サービスワーカー(SW)を利用した処理の一例を説明する図である。
図6には、受信装置30が送信装置20からリソースとしてのWebページ(例えば図4、図5に示す天気情報表示ページ)を取得して受信装置30の記憶部(永続キャッシュ)に格納して利用するシーケンスの一例を示している。
なお、Webページは、所定のWebページ表示アプリケーションと、表示用データによって構成されるリソースを利用して表示される。
図6には、受信装置内出力制御部90の構成要素として表示処理部91、サービスワーカー(SW)92、キャッシュ(記憶部)93を示している。
ステップS101〜S102は、受信装置30による送信装置20に対する初回アクセス処理によるリソース(Webページ)取得処理である。
これは、例えば放送サーバ等の送信するNRTコンテンツから取得される。
この取得処理後、表示処理部91によって、Webページ95が、受信装置30の表示部に表示される。この表示は、このWebページを提供している番組に併せて表示されている状態であり、先に図3を参照して説明した表示状態に相当する。
この表示期間において、例えばユーザによる指示としてリソース(Webページ)の登録(インストール)要求がなされると、ステップS103において、サービスワーカー(SW)92が、リソース(Webページ)の登録(インストール)処理を開始する。
具体的には、ステップS104に示すようにリソースをキャッシュ93に渡し、記憶部(永続キャッシュ)に格納する処理を行なう。
その後、番組終了後、あるいはチャンネル切り替え後、あるいはオフライン設定状態において、ステップS105において、ユーザがWebペーシの閲覧要求を行う。
サービスワーカー(SW)92は、この閲覧要求の入力をフェッチイベントとして検出し、フェッチイベント検出に応じて、ステップS106において、リソース(Webページ)を記憶部(永続キャッシュ)から取得する。
表示処理部91は、ステップS107において、Webページ96を表示する。
このWebページ表示処理は、番組終了後、あるいはチャンネル切り替え後、あるいはオフライン設定状態における表示処理であり、先に図5を参照して説明した表示状態に相当する。
このように、サービスワーカー(SW)を利用することで、様々な番組対応アプリケーションを、番組の表示、非表示と無関係に利用することが可能となり、例えば、番組付属の表示情報として設定されたWebページを番組と無関係に、任意のタイミングで表示する等の処理が可能となる。
このように、サービスワーカー(SW)は、例えば、Webページ、HTMLページ、JavaScript(登録商標)等を構成要素としたアプリケーションや、アプリケーションに利用されるデータ等からなるリソースの取得、保存、更新、削除等の、リソース管理を実行する。
リソースの保存される記憶部(キャッシュ)は、格納データを永続的に保存する記憶部(キャッシュ)であり、通常のローカル/テンポラリなキャッシュとは異なり、アプリケーションが稼働していなくても、データが保存される。
Webページ表示プログラムであるブラウザに一種のプロキシサーバが実装され、いつでも、必要なときにプロキシサーバをアクセスしてWebページを取得して表示可能としたイメージである。
なお、サービスワーカー(SW)自身も永続キャッシュに格納(インストール)される。サービスワーカー(SW)が、受信装置にインストールされると、このサービスワーカー(SW)の管理対象とするリソースについて、様々な制御が可能となる。
例えば、リソースへのアクセスリクエスト(リソースへのフェッチリクエスト)に応じて、ブラウザ側の処理(ローカルキャッシュやネットワークからのリソースの取得)がはじまる前に、サービスワーカー(SW)の処理が開始され、永続キャッシュからのリソースの提供が行われる。
また、サービスワーカー(SW)は、JavaScirpt(登録商標)で提供されるため、さまざまな手続きを組み込むことが可能であり、永続キャッシュのリソースの一部の更新等キャッシュ制御についての柔軟な処理記述が可能となっている。
なお、サービスワーカー(SW)自身も更新可能である。サービスワーカー(SW)は、送信装置20から提供されるが、このサービスワーカー(SW)のヘッダ情報(HTTP Cache−Control)に更新日時情報や更新データのアクセス情報等、更新処理に必要となる各種情報が記録され、このヘッダ情報に基づいて更新処理が実行される。
例えば、ヘッダに設定された使用期限等に基づいて、使用期限が来ると、受信装置30は、新しいバージョンのサービスワーカ(SW)の取得処理を実行して、キャッシュに格納された旧バージョンのSWを置き換える更新処理を行なう。
[5.受信装置におけるアプリケーションの取得および実行例について]
上述したように、受信装置30は、サービスワーカー(SW)を利用して、任意のタイミングで、例えば図4、図5を参照して説明したような天気情報表示アプリケーション等のアプリケーション、すなわちサービスワーカ(SW)の管理対象てあるアプリケーションを実行することが可能となる。
受信装置30側のユーザは、任意タイミングでアプリケーションを実行することで、天気情報表示ページや、様々なWebページをいつでも閲覧することが可能となる。
図7を参照して、受信装置30におけるアプリケーション実行構成について説明する。
図7には、例えば天気情報表示アプリケーション等のサービスワーカー(SW)管理アプリケーションを実行する受信装置30の一部構成として、主にアプリケーションの取得や実行に適用する構成例を示している。
図7に示すように、受信装置30はミドルウェア110、HTTPプロキシサーバ120、出力制御部130を有する。
ミドルウェア110は、放送サーバ21の提供データを受信し、解析する。
ミドルウェア110は、通信部(PHY/MAC)111、シグナリングデータを取得するシグナリング取得部112、シグナリングデータを解析するシグナリング解析部113、シグナリングデータ、および、映像、音声等の番組コンテンツデータや、アプリケーション等のNRTコンテンツ等のデータファイルを取得するファイル取得部114を有する。
ミドルウェア110が受信したデータは、プロキシサーバ120のキャッシュ部(プロキシキャッシュ)121に格納される。プロキシサーバ120は、さらにネットワーク経由でデータ配信サーバ22から取得したデータをキャッシュ部(プロキシキャッシュ)122に格納する。
プロキシサーバ120は、出力制御部130からのデータ要求をアドレス解決部123に入力し、要求されたデータをキャッシュ部(プロキシキャッシュ)121,122、または外部から取得して提供する。
出力制御部130は、例えば天気情報表示アプリケーション等のサービスワーカー(SW)管理アプリケーションを実行するデータ処理部である。例えばブラウザ上でWebページの表示処理等を実行する。
出力制御部130は、表示データ(HTML/JavaScript(登録商標)等)取得&解析部131、表示処理部(Renderer)132を有する。
出力制御部130は、プロキシサーバ(Client Local HTTP Proxy Server)120を介して、放送系受信スタックが実装されたミドルウェア(Client Local ATSC Middleware)110か、もしくは、ネット系送受信処理を行う通常のネットワークスタックを介してアプリケーション、およびパーツ(HTMLページやJavaScript)を取得して提示する。
なお、受信装置30にLAN等のネットワークを介して接続された外部装置150の出力制御部141においてアプリケーション、およびパーツ(HTMLページやJavaScript)を転送して、外部装置140においてアプリケーションを実行することも可能である。
出力制御部130は、記憶部(永続キャッシュ)133に前述したサービスワーカー(SW)や、サービスワーカー(SW)の管理対象となるリソース(アプリケーション、およびアプリ関連データ)を格納し、任意タイミングで記憶部(永続キャッシュ)に格納されたサービスワーカー(SW)やリソースを利用した処理を実行することができる。
例えば先に図4、図5を参照して説明したように、任意タイミングでアプリケーションを利用した様々なデータ出力を行うことができる。また、出力制御部130は、必要に応じて、サービスワーカー(SW)や、リソース(アプリケーション、およびアプリ関連データ)の更新処理や削除処理などを行う。
外部装置140の出力制御部141も同様であり、外部装置140の記憶部(永続キャッシュ)142にサービスワーカー(SW)や、リソース(アプリケーション、およびアプリ関連データ)を格納し、任意タイミングでサービスワーカー(SW)やアプリケーションを利用した様々なデータ処理を行う。また、必要に応じて、サービスワーカー(SW)や、リソース(アプリケーション、およびアプリ関連データ)の更新処理や削除処理などを行う。
なお、図7に示すモデルでは、出力制御部130,140は外部とのアクセスを行う場合、必ずプロキシサーバ120を介してアクセスするため、アプリケーション等のリソースを放送経由で取得しているのか、ネット経由で取得しているのかを区別することがない。すなわちネットワーク透過性が提供される。
出力制御部130からのデータ要求に応じたデータ取得、提供処理例について説明する。
例えば、出力制御部130が、アプリケーションを構成するHTMLページもしくはJavaScript(登録商標)の取得を要求すると(HTTPリクエスト)、それを受けたプロキシサーバ120は、アドレス解決部(Broadcast/Broadband Address Resolver)123において放送受信スタックを介して取得するか、ネット経由で取得するかの判断を行う。
この判断の材料となる情報は、シグナリング解析部113によるシグナリングデータの解析結果から得られる。
シグナリング解析部(Signaling Parser)113は、シグナリング取得部(Signaling Retriever)112に対して、ATSC3.0のシグナリングデータに含まれるメタデータであるUSBD(USD,SDP等)の取得要求を行う。
シグナリング解析部(Signaling Parser)113は、通信部(ATSCチューナー:ATSC3.0PHY/MAC)111を介して放送受信するシグナリングデータ格納LCTパケットによって転送されるシグナリングデータに含まれるメタデータを抽出する。
さらに、シグナリング解析部(Signaling Parser)113は、アプリケーション構成要素(パーツ)の取得要求に含まれるURLに基づいて、シグナリングデータ(メタデータ)から、要求ファイルを取得するための放送配信アドレス情報を解決する。アプリケーション構成要素(パーツ)が放送配信対象データであると判定されると、その放送配信アドレス情報をもとに、ファイル取得部(File Retriever)114が所望のファイルが格納されたファイル格納LCTパケットを放送ストリームから取得し、キャッシュ部(プロキシキャッシュ)121内に格納する。
プロキシサーバ120は、キャッシュされたファイルを出力制御部130に(HTTPのレスポンスとして)返す。アプリケーションパーツの取得要求に含まれるURLが、シグナリングデータに含まれるメタデータに設定されていなければ、プロキシサーバ120は、通常のネットスタックを介して、データ配信サーバ22からファイルを取得する。
[6.サービスワーカー(SW)のクラス分類と、クラス分類されたサービスワーカー(SW)の選択取得用情報の通知(シグナリング)処理について]
先に説明したように、サービスワーカー(SW)は、送信装置20から受信装置30に提供され、受信装置(クライアント)30において実行されるアプリケーションや、アプリケーションの実行時に利用されるデータファイル等の取得処理や、記憶部(キャッシュ)に対する格納処理、さらに更新処理、削除処理等を実行するプログラムである。
サービスワーカー(SW)は、例えば番組対応のアプリケーションやデータを、番組終了後や、チャンネル切り替え後、あるいは放送の非受信状態、ネットワーク非接続状態等のオフライン状態であっても利用可能とするリソース管理プログラムとして機能する。
さらに、サービスワーカー(SW)を適用することで、サービスワーカー(SW)管理データとして設定された新規のあるいは更新されたアプリケーションや、動画、静止画等のデータファイルを、随時取得する処理が可能である。
すなわち、サービスワーカー(SW)は受信装置30において取得可能な様々なデータの取得制御も実現する。
このサービスワーカー(SW)をクラス分類し、受信装置が、複数クラスのサービスワーカー(SW)の1つを選択して取得し、これを適用することで、例えば受信装置側のユーザ嗜好等に応じたサービスワーカー管理データ(リソース)の取得(キャッシング)を実現することが可能である。
すなわち、受信装置は、異なるデータ管理タイプを持つ複数のクラス対応のサービスワーカ(SW)から、特定クラスのサービスワーカー(SW)を選択取得して利用する。
例えば、受信装置におけるデータ処理状況に応じて特定クラスのサービスワーカー(SW)を選択取得して利用する。データ処理状況は、例えば、受信装置におけるアプリケーションまたはデータの利用状況である。
このように、複数クラスのサービスワーカー(SW)から特定クラスのサービスワーカー(SW)を選択取得して利用可能とすることで、クラス(種類)によって異なる複数のキャッシングポリシーを反映した処理が可能となる。
受信装置30は、同時に配信される複数のクラスのサービスワーカー(SW)の中から、受信装置30にとって最適なクラスのサービスワーカ(SW)を選択して取得する。
この処理のためには、例えば受信装置30のブラウザ上で稼働するクライアントアプリケーションが最適なサービスワーカー(SW)を選択して、登録できるようにすることが必要となる。
上記処理を実現させる1つの構成として、サービスワーカー(SW)に設定されたクラスの各々が、どのようなデータを選択取得する設定であるか、すなわち、どのようなキャッシングポリシーを反映したクラスのサービスワーカー(SW)であるかを受信装置30に通知するためのシグナリングデータ(メタデータ)を利用する構成がある。
例えば、シグナリングデータの1つであるUSDを適用してSWのクラス(キャッシングポリシーを反映するクラス)を通知する。
なお、ここでいうキャッシングポリシーのクラスとは、例えば、受信装置30側のエンドユーザのアプリケーション実行履歴等から解析される嗜好を反映したクラス等である。具体的には例えば以下のようなクラスを設定して、受信装置にそのクラスのサービスワーカー(SW)を選択取得させて適用させる構成が可能である。
(1)ネットワーク負荷や料金が高価になっても高画質版ストリームを好むユーザの場合、
キャッシュ対象のストリームの候補が複数ある場合(高画質、中画質、低画質版等)、高画質版ストリームのみをキャッシュするよう記述されたサービスワーカー(SW)を選択できるようにする。
(2)再生品質にこだわりがあり鮮度が失われても高画質版を好むユーザの場合、
キャッシュ対象のストリームが、当日の夕方までは、ネット経由の低品質版で配信され、夜まで待つとさらに高画質版が放送配信される場合に、放送配信高画質版をキャッシュするよう記述されたクラスのサービスワーカー(SW)を選択できるようにする。
(3)逆に、品質にはこだわりがなく、とにかく早く観たがる傾向のあるユーザの場合、
このケースの場合、ネット経由の低品質版をキャッシュするよう記述されたクラスのサービスワーカー(SW)を選択できるようにする。
クラス別のサービスワーカー(SW)を選択取得して利用することで、受信装置(クライアント)の実行環境や記憶容量等の各種リソースの制約なども考慮した最適なデータ取得、管理を実現することができる。受信装置側のユーザの嗜好情報や、記憶域容量他ランタイム環境制約、ローカルネットワーク負荷等のさまざまなクライアント環境属性を参照して利用するサービスワーカー(SW)のクラスを決定することにより、きめの細かなキャッシュ対象であるアプリケーション(パーツ)のキャッシュ制御が実現される。
なお、クラス分類されたサービスワーカー(SW)を選択取得するためには、シグナリングデータが利用される。
例えば、USD等のシグナリングデータを用いて、サービスワーカー(SW)のクラスを受信装置30に通知し、受信装置30がシグナリングデータに基づいて、自装置に最適なサービスワーカー(SW)を選択取得することで、上記のように、受信装置30側の状況やユーザの嗜好に応じた最適なデータを受信装置30が取得(キャッシング)することが可能となる。
[7.サービスワーカー(SW)の配信とキャッシュ制御処理について(ポーリング型の処理例)]
次に、サービスワーカー(SW)の配信とキャッシュ制御処理について説明する。
サービスワーカー(SW)、あるいはサービスワーカー(SW)の管理対象となるアプリケーションやアプリケーションに適用するデータからなるリソースは、例えば受信装置30に実装されたブラウザからの取得要求を契機としてポーリング型で取得処理を行なう構成と、ブラウザからの取得要求に関わらず取得してブラウザに提供するプッシュ型の2つの態様がある。
以下、これらの処理態様、すなわち、
(A)ポーリング型のデータ取得処理例
(B)プッシュ型のデータ取得処理例
上記(A),(B)の2つの処理態様について、順次、説明する。
まず、ポーリング型のデータ取得処理を行なう場合の処理例について説明する。
[7.1.放送ストリーム付随アプリケーションからのサービスワーカー(SW)の取得、登録処理について]
まず、サービスワーカー(SW)を、送信装置20から受信装置30に送信される放送ストリームに付随するアプリケーションを利用して取得し、登録する処理例について説明する。
受信装置(クライアント)30は、受信装置30において実行中の放送ストリーム再生アプリケーション(ブラウザもしくはネイティブの環境で実行される)の処理によって、取得対象とするアプリケーションのURLを取得する。
例えば、特定の番組の放送ストリームには、アプリケーションを起動するためのURL通知するトリガー情報が含まれ、再生アプリケーションは、このトリガー情報に基づいてアプリケーションを取得するためのURLを取得することができる。
受信装置30は、このURLを利用して放送ストリームの中からURLによって特定されるアプリケーションを抽出するか、もしくは、ネット経由でアプリケーションを取得し、ブラウザ上でそのアプリケーションを実行する。
アプリケーションは、このアプリケーション自身を管理対象として設定したサービスワーカー(SW)[SW.js]の取得処理と登録処理を行う。SW.jsのjsはJavaScript(登録商標)を意味する。
このアプリケーションの取得および実行、さらにサービスワーカー(SW)の取得と登録処理のシーケンスについて、図8〜図10に示すシーケンス図を参照して説明する。
図8〜図10には、左から、以下の各構成要素を示している。
(a)送信装置20である放送サーバ
(b)送信装置20であるデータ配信サーバ
(c)受信装置30の構成要素であるミドルウェア
(d)受信装置30の構成要素であるプロキシサーバ
(e)受信装置30の構成要素である出力制御部
図8〜図10のシーケンス図に示す各ステップの処理について、順次、説明する。
なお、図8〜図10の処理シーケンスの開始前に、受信装置30の出力制御部では、ネイティブのストリーム再生アプリケーション、もしくは、ブラウザ上のストリーム再生アプリケーションが起動されているものとする。
(ステップS211)
まず、受信装置30の構成要素である出力制御部は、放送コンテンツストリームのDASHストリーミングの制御ファイルであるMPDに記述されたコンテンツ格納セグメントのアクセス情報であるセグメントURLを取得して、取得したセグメントURLを用いて放送コンテンツを格納したコンテンツセグメントファイルの取得要求を実行する。
前述したように、送信装置20から受信装置30に対するコンテンツ送信は、例えばアダプティブ(適応型)ストリーミング技術の規格であるMPEG−DASH規格に従って実行される。
MPEG−DASH規格に従ってデータ送信を実行する送信装置20は、先に図2を参照して説明したように、大きく分けて以下の複数種類のデータの送信を行う。
(a)シグナリングデータ50
(b)AVセグメント60
(c)その他のデータ(ESG,NRTコンテンツ等)70
AVセグメント60は、受信装置において再生する画像(Video)や、音声(Audio)データ、すなわち例えば放送局の提供する番組コンテンツ等によって構成される。例えば、上述したMP4符号化データ(mdat)や、メタデータ(moov,moof)によって構成される。
シグナリングデータ50は、番組表等の番組予定情報や、番組取得に必要となるアドレス情報(URL等)、さらにコンテンツの再生処理に必要な情報、例えばコーデック情報(符号化方式など)などからなる案内情報、制御情報によって構成される。
その他のデータ70は、例えばESG(Electronic Service Guide)、NRTコンテンツ等が含まれる。
ESGは、電子サービスガイド(Electronic Service Guide)であり、例えば番組表等の案内情報である。
NRTコンテンツはノンリアルタイム型のコンテンツである。
NRTコンテンツには、例えば、クライアントである受信装置のブラウザ上で実行される様々なアプリケーションファイル、動画、静止画等のデータファイル等が含まれる。サービスワーカー(SW)も、NRTコンテンツに含まれる。
(MPD:Media Presentation Description)は、動画や音声ファイルの管理情報であるメタデータを記述するためのマニフェスト・ファイルである。具体的には、例えば、放送局が配信する番組コンテンツの配信開始時間情報や、AVセグメントに対するアクセス情報などが記録される。
受信装置30の出力制御部は、ステップS211において、放送コンテンツストリームのDASHストリーミングの制御ファイルであるMPDに記述されたコンテンツ格納セグメントのアクセス情報であるセグメントURLを取得して、取得したセグメントURLを用いてコンテンツセグメントファイルの取得要求をプロキシサーバに対して実行する。
(ステップS212〜S213)
次に、受信装置30のプロキシサーバは、ステップS212において、セグメントURLで識別されるコンテンツセグメントファイルがプロキシサーバの管理するキャッシュに格納されていれば、キャッシュからコンテンツセグメントファイルを取得して取得したファイルをレスポンスとして出力制御部に返す。
一方、受信装置30のプロキシサーバは、ステップS213において、セグメントURLで識別されるコンテンツセグメントファイルがプロキシサーバの管理するキャッシュに格納されていないと判定した場合は、コンテンツセグメントファイルの取得要求をミドルウェアに出力する。
(ステップS214)
ステップS214の処理は、放送サーバ21によって継続的に実行される処理を示している。放送サーバ21は、番組コンテンツの配信に併せて、配信コンテンツに関する制御情報、管理情報等からなるシグナリングデータ(メタデータ等)を受信装置30に継続的に提供する。
(ステップS215)
ステップS215の処理は、ステップS213において、プロキシサーバからコンテンツセグメントファイルの要求が発生した場合に、ミドルウェアが実行する。
ミドルウェアは、放送サーバ21から受信するシグナリングデータ(メタデータ)に基づいて、プロキシサーバから取得要求のあったコンテンツセグメントファイルが放送によって受信可能か否かを判定し、判定情報をプロキシサーバに通知する。
(ステップS216)
プロキシサーバは、ミドルウェアからコンテンツセグメントファイルが放送によって受信可能であるとの通知を受けると、セグメントファイルのプロキシサーバ管理キュャッシュへの展開(格納)を待機する。
一方、ミドルウェアからコンテンツセグメントファイルが放送によって受信不可能であるとの通知を受けると、セグメントファイルのネット経由での取得要求をデータ配信サーバ22に対して実行する。
(ステップS217〜S218)
ステップS217〜S218の処理は、プロキシサーバから取得要求のあったコンテンツセグメントファイルが放送によって受信可能である場合に実行される処理である。
この場合、放送サーバ21は、ステップS217において、コンテンツセグメントファイルを放送波によって送信する。
受信装置30のミドルウェアは、ステップS218において、放送サーバ21から送信されたセグメントファイルを受信して、プロキシサーバの管理キャッシュに展開(格納)する。
(ステップS219)
ステップS219の処理は、プロキシサーバから取得要求のあったコンテンツセグメントファイルが放送によって受信不可能である場合に実行される処理である。
この場合、データ配信サーバ22は、ステップS219において、受信装置30から要求されたコンテンツセグメントファイルを受信装置30に対して送信する。
受信装置30のプロキシサーバは、送信されたセグメントファイルを受信して、プロキシサーバの管理キャッシュに展開(格納)する。
(ステップS220)
放送サーバ21、またはデータ配信サーバ22から取得されプロキシサーバ管理キャッシュ内に格納されたコンテンツセグメントファイルは、ステップS220において、プロキシサーバから、出力制御部に提供される。
(ステップS221)
ステップS221において、受信装置30の出力制御部は、プロキシサーバから取得したコンテンツの再生を開始する。
さらに、コンテンツ再生時にコンテンツに含まれるトリガー情報を取得し、トリガー情報に記録されたコンテンツ対応のアプリケーションのアクセス情報であるアプリケーションURLをトリガー情報から取得して、取得したアプリケーションURLを適用したアプリケーション取得要求をプロキシサーバに対して実行する。
(ステップS223)
ステップS223の処理は、ステップS221において再生中のコンテンツ(例えば放送番組)に対して設定されたアプリケーションの取得と実行処理である。
ステップS223では、ステップS212〜S219の処理(処理(A−1〜2))と同様の処理を、アプリケーションファイルに対して実行する。
すなわち、ステップS212〜S219の処理中に示す「セグメントファイル」を「アプリケーションファイル」に置き換えた処理を実行し、放送サーバ21、またはデータ配信サーバ22からアプリケーションファイルを取得してプロキシサーバの管理キャッシュに格納する。なお、すでにプロキシサーバの管理キャッシュに目的のアプリケーションファイルが展開(格納)されている場合は、新たな取得処理は不要である。
(ステップS224)
放送サーバ21、またはデータ配信サーバ22から取得されプロキシサーバ管理キャッシュ内に格納されたアプリケーションファイルは、ステップS224において、プロキシサーバから、出力制御部に提供される。
(ステップS225)
ステップS225において、受信装置30の出力制御部は、プロキシサーバから取得したアプリケーションを実行する。
例えば、番組コンテンツの表示に併せてWebページの表示処理等が実行される。なお、処理内容は、アプリケーションに応じて異なるものであり、必ずしもデータ表示が実行されるとは限らない。
(ステップS226)
ステップS226の処理は、ステップS225において実行中のアプリケーションの制御の下で実行される処理であり、サービスワーカー(SW)の取得と実行処理である。
ステップS226では、ステップS212〜S219の処理(処理(A−1〜2))と同様の処理を、サービスワーカー(SW)ファイルに対して実行する。
すなわち、ステップS212〜S219の処理中に示す「セグメントファイル」を「サービスワーカーファイル」に置き換えた処理を実行し、放送サーバ21、またはデータ配信サーバ22からサービスワーカーファイルを取得してプロキシサーバの管理キャッシュに格納する。なお、すでにプロキシサーバの管理キャッシュに目的のサービスワーカーファイルが展開(格納)されている場合は、新たな取得処理は不要である。
(ステップS227)
放送サーバ21、またはデータ配信サーバ22から取得されプロキシサーバ管理キャッシュ内に格納されたサービスワーカーファイルは、ステップS227において、プロキシサーバから、出力制御部に提供される。
(ステップS228)
ステップS228において、受信装置30の出力制御部は、プロキシサーバから取得したサービスワーカーの登録処理を実行する。
具体的には、サービスワーカー(SW)を記憶部(永続キャッシュ)に格納する処理を実行する。
[7.2.サービスワーカー(SW)に対するクラス設定について]
前述したようにサービスワーカー(SW)をクラス分類して、受信装置において所定クラスのサービスワーカー(SW)を選択取得して適用することにより、例えば、受信装置30側のユーザ嗜好に応じたアプリケーションやデータを取得し実行、再生することが可能となる。
送信装置20は、様々な異なるクラスのサービスワーカー(SW)を同時に並列配信し、受信装置30は、これらの複数クラスのサービスワーカー(SW)から1つのクラスのサービスワーカー(SW)を選択取得するフィルタリング処理を行なうことになる。
受信装置30において実行されるアプリケーション、あるいはサービスワーカー(SW)が、受信装置30のミドルウェアに対して、新規取得するサービスワーカー(SW)に対するフィルタリング情報を設定する。すなわちどのクラスのサービスワーカー(SW)を取得すべきかのサービスワーカー(SW)クラス設定を行う。
受信装置30のミドルウェアは、サービスワーカー(SW)クラス設定情報に基づいて、フィルタリング処理を実行し、送信比装置20の送信する様々なクラスのサービスワーカー(SW)から指定されたクラスのサービスワーカー(SW)のみを選択取得する。
サービスワーカー(SW)クラスのセットは、例えば、プロキシサーバ上のサーバサイドスクリプトに対してajaxを用いて要求を投げられるようにする等により実装される。
なお、シグナリングデータ(メタデータ)に記録されたすべてのファイルURLの中から所望のファイルURLを検索し、選択取得する処理が煩雑(負荷のかかる処理となる可能性がある)となるため、プリフィルタリング処理を行なうことが望ましい。
プリフィルタリングとは、例えば目的とするファイル(例えば指定クラスのサービスワーカー(SW))ファイル)のURLをシグナリングデータの中から検索する際の検索範囲の特定(スコープ(scoping))する処理等である。
具体的には、例えば、特定のアプリケーションの提供元のチャンネル提供者(放送局)のシグナリングデータのみから目的のファイルURLを探せるようにしておく等の処理である。
この処理には、後述する検索スコープトークンが利用される。
サービスワーカー(SW)クラスのセットがなされた後、放送シグナリングデータを受信したミドルウェアは、設定されたサービスワーカー(SW)クラスに基づいて、シグナリングデータの中に該当するサービスワーカー(SW)クラスに対応するファイル配信セッションがあるか否かを判定する。さらに、受信スケジュールリングを行い、指定されたサービスワーカー(SW)が放送経由で配信されると、フィルタリングモジュールにより、サービスワーカー(SW)を自動的に選択取得してローカルプロキシサーバのキャッシュに展開することが可能となる。これらプロキシーサーバキャッシュに展開されたファイルについては、クライアントのアプリケーションからの要求に対して即座に応答することが可能となる。
図11〜図12に示すシーケンス図を参照して、サービスワーカー(SW)のクラス設定処理と、サービスワーカー(SW)取得処理シーケンスについて説明する。
図11〜図12には、左から、以下の各構成要素を示している。
(a)送信装置を構成する放送サーバ
(b)送信装置を構成するデータ配信サーバ
(c)受信装置のミドルウェア
(d)受信装置の出力制御部で実行されるサービスワーカー
(e)受信装置の出力制御部で実行されるアプリケーション
図11〜図12のシーケンス図に示す各ステップの処理について、順次、説明する。
(ステップS251)
ステップS251の処理は、受信装置の出力制御部で実行されるアプリケーションによって実行される。
アプリケーションが、サービスワーカー(SW)クラスの設定要求をミドルウェアに対して実行する。
具体的には、例えば図7に示すミドルウェア110のシグナリング解析部113に対して、シグナリングデータに含まれるどのクラスのサービスワーカー(SW)アクセス情報検出すべきかを示すトークン情報を通知して、シグナリング解析部113に検出すべきクラスのサービスワーカー(SW)アクセス情報を判別可能な状態に設定する。
なお、アプリケーションは、例えば、受信装置(クライアント)の環境属性(状態情報)や、アプリケーションや再生データの利用履歴の統計情報に基づいて、最適なクラスを決定する。このクラス決定アルゴリズムは、アプリケーション自身が保持してもよいし、アプリケーションが利用可能なプログラムやAPIを利用して取得する構成としてもよい。
(ステップS252〜S253)
ステップS252〜S253の処理は、受信装置の出力制御部で実行されるアプリケーションおよびサービスワーカーによって実行される。
ミドルウェアに対するサービスワーカー(SW)クラスの設定処理は、ステップS251で説明したように、アプリケーションの処理として実行してもよいが、サービスワーカー(SW)の処理として実行してもよい。
ステップS252〜S253の処理は、ミドルウェアに対するサービスワーカー(SW)クラスの設定処理をサービスワーカー(SW)の処理として実行する場合に行われる。
まず、ステップS252において、アプリケーションが、サービスワーカー(SW)の登録処理を実行し、サービスワーカー(SW)の処理を開始する。
登録処理によってサービスワーカー(SW)は、記憶部(永続キャッシュ)に格納され、いつでも利用可能な状態になる。
次に、登録されたサービスワーカー(SW)が、サービスワーカー(SW)クラスの設定要求をミドルウェアに対して実行する。
サービスワーカー(SW)クラスの設定は、ステップS251の処理と同様の処理である。すなわち、例えば図7に示すミドルウェア110のシグナリング解析部113に対して、シグナリングデータに含まれるどのクラスのサービスワーカー(SW)アクセス情報検出すべきかを示すトークン情報を通知して、シグナリング解析部113に検出すべきクラスのサービスワーカー(SW)アクセス情報を判別可能な状態に設定する。
(ステップS254)
ステップS254の処理は、放送サーバによって継続的に実行されているシグナリングデータの送信処理である。
このシグナリングデータには、例えば、様々なクラス対応のサービスワーカー(SW)を取得するためのアクセス情報が記録されている。
(ステップS255)
ステップS255の処理は、受信装置30のミドルウェアの処理である。すなわちデータ受信および受信データの解析等の処理を行なうミドルウェアの処理である。ミドルウェアは、アプリケーションまたはサービスワーカー(SW)から通知されたサービスワーカー(SW)クラスを設定し、設定したサービスワーカー(SW)クラスに基づいて、シグナリングデータから設定されたクラスのサービワーカー(SW)のアクセス情報検出を行う。
(ステップS256)
さらに、受信装置30のミドルウェアは、ステップS256において、シグナリングデータから取得したアクセス情報に基づいて、取得対象ファイルの配信スケジュール情報を取得し、これらを用いたサービスワーカー(SW)格納ファイル取得処理を開始する。
(ステップS257)
ステップS257の処理は、放送サーバによって継続的に実行されている各種ファイルの送信処理である。
送信ファイルには、アプリケーション、アプリケーション実行時に利用されるデータファイル等のアプリケーション関連データ、さらにサービスワーカー(SW)などが含まれる。
(ステップS258)
ステップS255の処理は、受信装置30のミドルウェアの処理である。ミドルウェアは、放送サーバの送信ファイルから、取得対象となるファイルを選択取得し、取得ファイルをプロキシサーバの管理キャッシュに展開(格納)する。
このように、受信装置のミドルウェアに取得すべきサービスワーカー(SW)のクラス設定を実行することで、設定されたクラス対応のサービスワーカー(SW)を選択的に取得することが可能となる。
[7.3.トークンを適用して特定クラスのサービスワーカー(SW)の取得処理を効率化した構成について]
次に、受信装置における取得データの取得、選択処理を効率化した構成について説明する。
具体的には、トークンを適用して特定クラスのサービスワーカー(SW)の取得処理を効率化した構成について説明する。
送信装置20から送信されるサービスワーカー(SW)は様々なクラスのサービスワーカー(SW)であり、受信装置30は、これらの多数のクラスのサービスワーカー(SW)から特定クラスのサービスワーカー(SW)のみを選択取得する処理が必要となる。
しかし、放送波を介して提供されるサービスワーカー(SW)や、アプリケーション、およびデータファイルは、個々の番組に対応して設定され、送信装置20の送信するファイル数は膨大な数となることが予想される。
受信装置30は、これらの膨大な数の送信ファイルから、自装置に最適なクラスのサービスワーカー(SW)を選択して取得する必要がある。
このファイル選択処理を効率的に実行するための構成について、以下説明する。
サービスワーカー(SW)は、例えばNRTコンテンツとして放送波を介して逐次、送信される。
さらに、サービスワーカー(SW)等のファイルを取得するために必要となるアクセス情報であるファイル対応のURLや各ファイルの送信タイミング情報等がシグナリングデータ(メタデータ)に記録されて受信装置30に提供される。
受信装置30は、シグナリングデータ(メタデータ)を解析して、取得すべきファイルのURLや送信タイミング等を知ることができる。
シグナリングデータ(メタデータ)は、例えば1つのチャンネルや1つの番組を1つのサービス単位として、各サービス単位の様々な情報(メタデータ)を記録する構成を有している。
例えば、図13に示すように、
サービスAの記述を持つメタデータ、
サービスBの記述を持つメタデータ、
サービスCの記述を持つメタデータ、
このようにサービス単位(番組単位やチャンネル単位)のメタデータが記述されている。
さらに、各サービス単位のメタデータは、下位のメタデータとしてファイル転送セッション単位のメタデータを有する。
ファイル転送セッション単位のメタデータには、各セッションにおいて転送されるファイルのアクセス情報が記録される。
受信装置30は、このアクセス情報を利用して、先に図7参照して説明したシグナリング解析部113、アドレス解決部123の処理によって取得し、必要なファイルのURLにマッチするファイルアクセス情報を取得して、ファイルを取得することができる。
しかし、受信装置30は、必要なファイルのアクセス情報が、シグナリングデータのどのメタデータに記録されているかを知ることができない。
従って、シナリングデータに記録されたアクセス情報をすべて検索対象として調べる必要があり、検索時間に多大な時間を要することになる。
この解決策として、シグナリングデータに検索範囲を限定するためのトークンやURLを記録する構成とした例について、図14を参照して説明する。
トークンやURLは、受信装置30の取得予定データに関するアクセス情報(メタデータ)を効率的に検索するための検索補助情報である。
例えば、特定のクラスのサービスワーカー(SW)や、特定のクラスのサービスワーカー(SW)の管理対象となるデータであるリソース(アプリケーションアプリ関連データ)に関するアクセス情報を効率的に検索するための検索補助情報である。
図14は、図13と同様のシグナリングデータ(メタデータ)の構成例を示している。前述したように、シグナリングデータ(メタデータ)は、例えば1つのチャンネルや1つの番組を1つのサービス単位として、各サービス単位の様々な情報(メタデータ)を記録する構成を有している。
図14に示すように、
サービスAの記述を持つメタデータ、
サービスBの記述を持つメタデータ、
サービスCの記述を持つメタデータ、
このようにサービス単位(番組単位やチャンネル単位)のメタデータが記述されている。
さらに、各サービス単位のメタデータは、下位のメタデータとしてファイル転送セッション単位のメタデータを有する。
図14に示す例では、サービスAの記述を持つメタデータ151に、トークン<SW−Scope>の記述が含まれる。
また、メタデータ151に含まれる下位のセッション単位のメタデータであるファイル転送セッション2の記述を持つメタデータ152と、ファイル転送セッション3の記述を持つメタデータ154には、トークン<SW−Class>とファイルURLの記述が含まれる。
また、メタデータ151に含まれる下位のセッション単位のメタデータであるファイル転送セッション1の記述を持つメタデータ153には、ファイルURLの記述が含まれる。
これら、<SW−Scope>、<SW−Class>やファイルURLが、受信装置において取得ファイルのアクセス情報を効率化するために適用されるトークンとして記述されるデータである。
メタデータ151に記録されるトークン<SW−Scope>は、検索対象とするアクセス情報を記録したメタデータの検索範囲を限定するために利用されるトークンであり、
「サービスワーカー(SW)検索スコープトークン」
である。
また、メタデータ152に記録されるトークン<SW−Class>は、特定のSWの管理、または更新対象となるファイル(キャッシュ対象ファイル)に関するURL情報がまとめて記録されていることを示すトークンであり、
「サービスワーカー(SW)クラス指定トークン」
である。
なお、これらのトークンは、いずれも特定のサービスワーカー(SW)対応のトークンとして設定されている。
「サービスワーカー(SW)検索スコープトークン<SW−Scope>」は、取得すべき特定クラスのサービスワーカー(SW)のファイルアクセス情報が、このトークンの記録されたメタデータ、またはその下位のメタデータ中に記録されていることを示すトークンである。
受信装置30は、このトークンの記録されたメタデータを選択し、このメタデータ、およびこのメタデータの下位のメタデータを検索範囲として検索を行えば、受信装置の取得すべきクラスのサービスワーカー(SW)ファイルのアクセス情報を効率的に取得することができる。
すなわち、その他のメタデータを検索対象から除外することが可能となり、検索範囲を限定することで、検索効率を高めることが可能となる。
また、「サービスワーカー(SW)クラス指定トークン<SW−Class>」は、例えば、受信装置の取得対象となるクラスのサービスワーカー(SW)ファイルのアクセス情報が、このトークンの記録されたメタデータ中にまとめて記録されていることを示す特定のサービスワーカー(SW)の管理対象ファイル群(グループ)を示すトークンである。
受信装置30は、このトークンの記録されたメタデータを選択し、このメタデータに記録されたアクセス情報のみを取得すれば、受信装置の取得すべきクラスのサービスワーカー(SW)ファイルのアクセス情報を効率的に取得することができる。
このように、トークンやURLは、受信装置30の取得予定データに関するアクセス情報(メタデータ)を効率的に検索するための検索補助情報として設定される。
なお、図14に示すように、サービスワーカー(SW)検索スコープトークンを、シグナリングデータのサービス単位の記述パートに配置し、サービスワーカー(SW)クラス指定トークンを、シグナリングデータのファイル転送セッションの記述パートに配置する構成が検索効率を高めるトークン設定例の1つである。
この構成をとることにより、受信装置(クライアント)においてシグナリングデータを受信した場合のアクセス情報取得をより効率的に行うことが可能となる。
受信装置30は、サービスワーカー(SW)検索スコープトークンを有するサービス記述群を選択的に抽出した後、それらに関連づけられるファイル転送セッション記述を抽出し、サービスワーカー(SW)クラス指定トークンもしくはファイルURLにマッチするファイル転送アドレス(放送ストリーム上で転送される実際のファイルを取得するのに必要なアドレスパラメーター)を検索して所望のファイルを取得する。
送信装置20から受信装置30に送信されるシグナリングデータ(メタデータ)は、図14に示すように階層構成を有するが、さらに具体的なシグナリングデータ(メタデータ)の構成例と、トークンの設定例について、図15〜図17を参照して説明する。
図15に示す(1)トークン設定例1に基づいて、送信装置20から受信装置30に送信されるシグナリングデータ(メタデータ)の階層構成設定例について説明する。
図15(1)に示すシグナリングデータ(メタデータ)は、最上位が番組やチャンネル単位で設定されるサービス単位のメタデータ(Service)である。
このサービス単位メタデータの下位にコンテンツ単位のメタデータ(Content)が設定される。
サービス単位のメタデータ(Service)、または、コンテンツ単位のメタデータ(Content)の下位には、配信スケジュールやアクセス情報を記述したメタデータ(Schedule&Access)が設定される。
さらに、メタデータ(Schedule&Access)の下位にUSD(ユーザサービスディスクリプション)メタデータが設定される。
なお、USDは、例えば配信メソッドに関する情報を格納し、例えば以下のシグナリングデータを含む。
SDP(セッションディスクリプション)
FDD(ファイルデリバリディスクリプション)
RFD(リペアフローディスクリプション)
SD(スケジュールディスクリプション)
さらに、USDは、コンテンツ(AVセグメント)に対応する様々な案内情報、制御情報を格納したマニフェスト・ファイルを持つシグナリングデータとして、
MPD(メディアプレゼンテーションディスクリプション)
を含む。
USDメタデータの下位に、ROUTEプロトコルに従って配信される具体的な配信データ情報、例えば、実際に配信されるファイル個別の転送パラメータ等を記録したROUTEメタデータが設定される。
図15(1)に示すトークン設定例1は、
サービスメタデータ161に、「サービスワーカー(SW)検索スコープトークン<SW−Scope>」を記録している。
受信装置30は、このトークンに従って取得予定クラスのサービスワーカー(SW)ファイルのURLやアクセス情報の検索範囲を限定することができる。すなわち、図の点線枠で示す検索範囲を設定して取得予定ファイルのURLやアクセス情報の検索を行うことができる。
さらに、最下層のROUTEメタデータ162,163に、「サービスワーカー(SW)クラス指定トークン<SW−Class>」が記録されている。
受信装置30は、このトークンに従って、このメタデータ162,163に特定クラスのサービスワーカー(SW)や、管理リソースファイルのURLやアクセス情報が記録されていることを知ることができる。
図15(2)に示すトークン設定例2は、
コンテンツメタデータ164に、「サービスワーカー(SW)検索スコープトークン<SW−Scope>」を記録している。
受信装置30は、このトークンに従って検索範囲を限定することができる。すなわち、図の点線枠で示す検索範囲を設定して取得予定ファイルのURLやアクセス情報の検索を行うことができる。
さらに、最下層のROUTEメタデータ165に、「サービスワーカー(SW)クラス指定トークン<SW−Class>」が記録されている。
受信装置30は、このトークンに従って、このメタデータ165に特定クラスのサービスワーカー(SW)や、管理リソースを構成するグループの取得予定ファイルのURLやアクセス情報が記録されていることを知ることができる。
図16(3)に示すトークン設定例3は、
スケジュール&アクセスメタデータ166に、「サービスワーカー(SW)検索スコープトークン<SW−Scope>」を記録している。
受信装置30は、このトークンに従って取得予定クラスのサービスワーカー(SW)ファイルのURLやアクセス情報の検索範囲を限定することができる。すなわち、図の点線枠で示す検索範囲を設定して検索を行うことができる。
さらに、最下層のROUTEメタデータ167に、「サービスワーカー(SW)クラス指定トークン<SW−Class>」が記録されている。
受信装置30は、このトークンに従って、このメタデータ167に特定クラスのサービスワーカー(SW)や管理リソースを構成するグループの取得予定ファイルのURLやアクセス情報が記録されていることを知ることができる。
図17(4)に示すトークン設定例4は、
USDメタデータの下位に設定されたスケジュールディスクリプションメタデータ168に、「サービスワーカー(SW)検索スコープトークン<SW−Scope>」を記録している。
受信装置30は、このトークンに従って検索範囲を限定することができる。すなわち、図の点線枠で示す検索範囲を設定して取得予定ファイルのURLやアクセス情報の検索を行うことができる。
さらに、最下層のROUTEメタデータ169に、「サービスワーカー(SW)クラス指定トークン<SW−Class>」が記録されている。
受信装置30は、このトークンに従って、このメタデータ169に特定のサービスワーカー(SW)や、管理リソースを構成するグループの取得予定ファイルのURLやアクセス情報が記録されていることを知ることができる。
図15〜図17を参照してシグナリングデータに対するトークンの設定例について複数の例を説明したが、この他にも様々な態様でのトークン設定が可能である。
受信装置30は、シグナリングデータに含まれるトークンに基づいて、取得すべきファイルのURLやアクセス情報を効率的に取得することが可能となる。
受信装置30は、例えば、放送データを受信するミドルウェアに、上述した検索範囲の限定や、検索対象ファイルのグループ特定等のフィルタリング処理に適用するトークンを検出するためのトークン検出用のトークン情報を通知(セット)し、セットされたトークン情報に従って、送信装置20から送信されるシグナリングデータを解析してトークンを検出し、検出したトークンを利用した効率的な検索処理を行ない、記憶部(永続キャッシュ)に格納するファイルの取得に必要なURL情報やアクセス情報、配信スケジュール情報等を取得する。なお、シグナリングデータにはファイルURLに併せて、各ファイルの配信スケジュール情報も記録されている。
ミドルウェアに対するトークン情報のセット処理は、例えば、プロキシサーバ上のサーバサイドスクリプトに対してajaxを用いて要求を出力することで実行できる。
なお、トークン情報のセット態様としては、以下の設定態様がある。
(1)サービスワーカー(SW)クラス指定トークン(SW−Class)
(2)サービスワーカー(SW)検索スコープトークン(SW−Scope)+)サービスワーカー(SW)クラス指定トークン(SW−Class)
なお、具体的な設定パラメータとしては、例えばサービスワーカー(SW)クラス識別子などが用いられる。また、特定クラス対応のサービスワーカー(SW)のファイルURLを用いてもよい。
また、特定クラスのサービスワーカー(SW)の管理データであるリソースの選択取得も併せて行う場合は、これらリソースのファイルURLをトークンに併せてパラメータ指定してもよい。
[7.4.サービスワーカー(SW)の更新処理について]
次に、受信装置30に格納されたサービスワーカー(SW)の更新処理について説明する。
受信装置30によって取得されたサービスワーカー(SW)は受信装置の記憶部(永続キャッシュ)に、サービスワーカー(SW)の管理対象となるリソース(アプリケーション、およびアプリ関連データ)とともに格納され、いつでも利用可能な設定となる。
このサービスワーカー(SW)には、利用期限を定めることができ、受信装置30は、必要に応じて、受信装置の保持する利用期限の来たサービスワーカー(SW)を新たなサービスワーカー(SW)に置き換えるサービスワーカー(SW)更新処理を行なうことができる。
サービスワーカー(SW)は、例えば所定のコンテンツ(番組)に対応して設定されたアプリケーションを用いた取得要求により、放送サーバ21、あるいはデータ配信サーバ22等の送信装置20から取得される。
例えば、この取得処理の際に(放送経由の場合もネット経由の場合も)、サービスワーカー(SW)の提供処理に際して送信装置20から受信装置30に対する通信データである「HTTPレスポンスヘッダ:Cache−control」にサービスワーカー(SW)自身の有効期限を指定することができる。
例えば、所定のコンテンツ(番組)に対応して設定されたアプリケーションの処理によって実行されるサービスワーカー登録処理によって、受信装置30の記憶部(永続キャッシュ)に格納されたサービスワーカー(SW)は、例えば受信装置の出力制御部において実行されるブラウザによって、有効期限の確認処理や、更新処理が実行される。
ブラウザは、受信装置30の記憶部(永続キャッシュ)に格納された複数のサービスワーカー(SW)各々について、有効期限を確認し、有効期限になると自動的にローカルプロキシサーバに対する取得リクエストを行い、中身が更新されていればサービスワーカー(SW)を再登録、すなわち更新処理を実行する。
もしくは、ブラウザの設定した一定期限(例えば1日に一回等)がすぎると自動的にサービスワーカー(SW)についてローカルプロキシサーバに対する取得リクエストを行い、中身が更新されていれば再登録する処理がなされる。
図18〜図19に示すシーケンス図を参照して、サービスワーカー(SW)の更新処理シーケンスについて説明する。
図18〜図19には、左から、以下の各構成要素を示している。
(a)送信装置を構成する放送サーバ
(b)送信装置を構成するデータ配信サーバ
(c)受信装置のミドルウェア
(d)受信装置の出力制御部で実行されるブラウザ
さらに、
(e)受信装置の出力制御部で実行されるブラウザ上で実行されるサービスワーカー(SW)
これらの各構成要素を示している。
図18〜図19のシーケンス図に示す各ステップの処理について、順次、説明する。
(ステップS271)
ステップS271の処理は、放送サーバによって継続的に実行されているシグナリングデータの送信処理である。
このシグナリングデータには、例えば、先に図14〜図17を参照して説明したトークンが設定されている。
(ステップS272)
ステップS272の処理は、受信装置30のミドルウェアの処理である。すなわちデータ受信および受信データの解析等の処理を行なうミドルウェアの処理である。ミドルウェアは、アプリケーションまたはサービスワーカー(SW)から通知されたトークン情報を設定し、設定したトークン情報に基づいて、シグナリングデータからのトークン(もしくはファイルURL)検出を実行する。
(ステップS273)
ステップS273の処理は、放送サーバによって継続的に実行されている各種ファイルの送信処理である。
送信ファイルには、アプリケーション、アプリケーション実行時に利用されるデータファイル等のアプリケーション関連データ、さらにサービスワーカー(SW)などが含まれる。
(ステップS274)
ステップS274の処理は、受信装置30のミドルウェアの処理である。ミドルウェアは、放送サーバの送信ファイルから、取得対象となるファイルを選択取得し、取得ファイルをプロキシサーバの管理キャッシュに展開(格納)する。
このキャッシュデータには、アプリケーション、アプリケーション実行時に利用されるデータファイル等のアプリケーション関連データ、さらにサービスワーカー(SW)などが含まれる。
サービスワーカー(SW)には、受信装置30が保持しているサービスワーカー(SW)の更新バージョンも含まれる。
(ステップS275)
ステップS275は、受信装置の出力制御部で実行されるブラウザの処理である。
ブラウザは、受信装置30の記憶部(永続キャッシュ)に格納された複数のサービスワーカー(SW)各々について、有効期限を確認し、有効期限になると自動的にローカルプロキシサーバに対する取得リクエストを行う。
もしくは、ブラウザの設定した一定期限(例えば1日に一回等)がすぎると自動的にサービスワーカー(SW)についてローカルプロキシサーバに対する取得リクエストを行う。
(ステップS276)
ステップS276の処理は、受信装置30のミドルウェアの処理である。ミドルウェアは、プロキシサーバの管理キャッシュに、ブラウザから取得要求のあった更新されたサービスワーカー(SW)の検索を行い、検出された場合、更新されたサービスワーカー(SW)をブラウザに出力する。
(ステップS277)
ステップS277は、受信装置の出力制御部で実行されるブラウザの処理である。
ブラウザは、プロキシサーバから受領した更新後のサービスワーカー(SW)を登録する。すなわち、記憶部(永続キャッシュ)に格納する。
(ステップS278)
ステップS278は、受信装置の出力制御部で実行されるサービスワーカー(SW)の処理である。ここでは、新たに登録された更新後のサービスワーカー(SW)の処理を示している。
更新後のサービスワーカー(SW)は、必要に応じて、トークン情報の設定要求をミドルウェアに対して実行する。
トークン情報の設定は、前述した図11のステップS251の処理と同様の処理である。すなわち、例えば図7に示すミドルウェア110のシグナリング解析部113に対して、シグナリングデータに含まれるどのクラスのサービスワーカー(SW)アクセス情報検出すべきかを示すトークン情報を通知して、シグナリング解析部113に検出すべきクラスのサービスワーカー(SW)のアクセス情報を判別可能な状態に設定する。
(ステップS279)
ステップS279の処理は、受信装置30のミドルウェアの処理である。すなわちデータ受信および受信データの解析等の処理を行なうミドルウェアの処理である。ミドルウェアは、更新後のサービスワーカー(SW)から通知されたトークン情報を設定し、設定したトークン情報に基づいて、シグナリングデータからのトークン(もしくはファイルURL)検出を実行する。
[7.5.サービスワーカー(SW)による受信装置の記憶部(永続キャッシュ)の制御処理について]
次に、受信装置30に格納されたサービスワーカー(SW)による受信装置の記憶部(永続キャッシュ)の制御処理について説明する。
受信装置30に格納されたサービスワーカー(SW)は、管理対象のリソース、すなわちアプリケーションやアプリケーション関連データを管理処理の1つとして、これらのリソースが格納された記憶部(永続キャッシュ)の制御、すなわちキャッシュ制御を実行する。
まず、サービスワーカー(SW)は、所定のイベント検出に応じて、自身を最初に起動したアプリケーションに必要なファイルを、受信装置30の記憶部(永続キャッシュ)に格納する。
サービスワーカー(SW)によるリソース格納のトリガーとなるイベントを受け取るタイミングは、サービスワーカー(SW)の登録処理、または再登録(更新)処理時である。これらの時点でサービスワーカー(SW)は、登録(install)イベントを受領する。
その他、アプリケーションがHTMLページやJavaScript(登録商標)を要求する時点(フェッチ(fetch)イベントを受領)、あるいは、サービスワーカー(SW)自身が生成したタイマーにより再起動される時点等に上記のリソース格納処理のトリガーとなるイベントを受領する。
サービスワーカー(SW)が記憶部(永続キャッシュ)に展開したアプリケーション(パーツ群)は、放送ストリームに付随(同時)して起動されるばかりではなく、放送ストリームとは独立してクライアントにインストールされたアプリケーション(オフラインアプリケーション)として起動することが可能となる。
図20〜図21に示すシーケンス図を参照して、サービスワーカー(SW)による受信装置の記憶部(永続キャッシュ)の制御処理シーケンスについて説明する。
図20〜図21には、左から、以下の各構成要素を示している。
(a)送信装置を構成する放送サーバ
(b)送信装置を構成するデータ配信サーバ
(c)受信装置のミドルウェア
(d)受信装置のプロキシサーバ
(e)受信装置の出力制御部で実行されるブラウザの管理下の記憶部(永続キャッシュ)
(f)受信装置の出力制御部の実行するブラウザ上で実行されるサービスワーカー(SW)
(g)受信装置の出力制御部の実行するブラウザ上で実行されるアプリケーション
(h)受信装置の出力制御部で実行されるネィティブアプリケーション
これらの各構成要素を示している。
なお、ネィティブアプリケーションは、受信装置30で実行されるアプリケーションであるが、サービスワーカー(SW)の管理下にあるアプリケーションではなく、例えばコンテンツ(番組)対応のアプリケーションの起動処理等に用いられるアプリケーションである。
図20〜図21のシーケンス図に示す各ステップの処理について、順次、説明する。
(ステップS301)
ステップS301の処理は、ネィティブアプリケーションによるコンテンツ(番組)対応のアプリケーションの起動処理である。
上述したように、ネィティブアプリケーションは、コンテンツ(番組)対応のアプリケーションの起動処理等に用いられるアプリケーションである。
コンテンツ(番組)対応のアプリケーションが、例えば、番組中に埋め込まれたトリガー情報に基づいて起動する設定の場合は、このネィティブアプリケーションによる起動処理は不要である。
(ステップS302)
ステップS302において、起動されたアプリケーションが、サービスワーカー(SW)の登録処理を実行する。
登録処理によってサービスワーカー(SW)は、記憶部(永続キャッシュ)に格納され、いつでも利用可能な状態になる。
このサービスワーカー(SW)登録処理は、サービスワーカー(SW)自身からは、登録(install)イベントの検出として把握され、サービスワーカー(SW)は、この登録(install)イベント検出を契機として、ステップS303のキャッシュ制御を開始する。
(ステップS303〜S305)
サービスワーカー(SW)は、登録(install)イベントを検出すると、ステップS303において、例えばスクリプト記述に従った記憶部(永続キャッシュ)の制御を開始する。
具体的には、特定クラスのサービスワーカー(SW)、または特定クラスのサービスワーカー(SW)の管理対象となるリソース(アプリケーションや、アプリ関連データ)の取得、キャッシュ展開(格納)処理を開始する。
なお、特定クラスのサービスワーカー(SW)、または特定クラスのサービスワーカー(SW)の管理対象となるリソース(アプリケーションや、アプリ関連データ)は、ステップS304において、放送サーバ、データ配信サーバ等の送信装置から継続的に送信される。
ステップS304では、先に図8〜図9を参照して説明したリソース送受信処理における図8〜9(A−1〜2)の各ステップのセグメントファイルに対する処理を、リソースに対する処理に置き換えた処理が実行される。
送信データは、ステップS305において、プロキシサーバの管理キャッシュを介して、記憶部(永続キャッシュ)に展開(格納)される。
(ステップS306〜S309)
ステップS306において、アプリケーションがアプリケーションパーツ、例えばアプリケーションの実行に必要となる動画ファイルや静止画ファイル、あるいはJavaScript(登録商標)プログラム、音声データ等のアプリ関連データをサービスワーカー(SW)に要求する。
この要求処理は、サービスワーカー(SW)におけるフェッチ(fetch)イベント検出に相当する。
ステップS307〜S309において、サービスワーカー(SW)は、要求されたパーツを記憶部(永続キャッシュ)から取得して、アプリケーションに提供する。
(ステップS310〜S311)
ステップS310〜S311の処理は、サービスワーカー(SW)によるアクティベート(activate)イベント検出時の処理である。
アクティベート(activate)イベントは、例えば、ユーザによるリソースの削除要求の入力が実行された場合、あるいはアプリケーションの有効期限が切れた場合などに検出される。
サービスワーカー(SW)が、アクティベート(activate)イベントを検出すると、例えばスクリプト記述に従った記憶部(永続キャッシュ)の制御を開始する。
具体的には、特定クラスのサービスワーカー(SW)、または特定クラスのサービスワーカー(SW)の管理対象となるリソース(アプリケーションや、アプリ関連データ)の削除処理等を行なう。
(ステップS312〜S315)
ステップS312〜S315の処理は、サービスワーカー(SW)によるタイマーイベント検出時の処理である。
タイマーイベントは、例えば、アプリケーションの有効期限が切れた場合、更新期限がきた場合などに検出される。
タイマーイベントに応じた処理としては、例えばキャッシュリソースの削除、あるいは更新リソースや追加リソースの取得処理などがある。
ステップS313は、タイマーイベントに応じたキャッシュリソースの削除処理のシーケンスである。
ステップS314〜S315は、タイマーイベントに応じた更新リソースや追加リソースの取得処理のシーケンスを示している。
なお、ステップS314では、先に図8〜図9を参照して説明したリソース送受信処理における図8〜9(A−1〜2)の各ステップのセグメントファイルに対する処理を、リソースに対する処理に置き換えた処理が実行される。
[8.サービスワーカー(SW)の配信とキャッシュ制御処理について(プッシュ型の処理例)]
前述したように、サービスワーカー(SW)、あるいはサービスワーカー(SW)の管理対象となるアプリケーションやアプリケーションに適用するデータからなるリソースは、例えば受信装置30に実装されたブラウザからの取得要求を契機としてポーリング型で取得処理を行なう構成と、ブラウザからの取得要求に関わらず取得してブラウザに提供するプッシュ型の2つの態様がある。
図8〜図21を参照して説明した処理は、受信装置30に実装されたブラウザからの取得要求を契機としてサービスワーカ(SW)やその管理リソース(アプリケーション、およびアプリ関連データ)の取得を行うポーリング型の処理例である。
以下、ブラウザからの取得要求に関わらず、サービスワーカ(SW)やその管理リソース(アプリケーション、およびアプリ関連データ)を取得してブラウザに提供するプッシュ型の処理例について説明する。
[8.1.放送ストリーム付随アプリケーションからのサービスワーカー(SW)の取得、登録処理について]
プッシュ型処理においても、放送サーバ21から提供されるコンテンツ(番組)対応のアプリケーションを利用したサービスワーカー(SW)の取得、登録シーケンスは、先に図8〜図10を参照して説明したポーリング型の処理例と同様の処理となる。
[8.2.トークンを適用して受信装置のデータ取得処理を効率化した構成について]
先に図11〜図12を参照して説明したポーリングン型のトークン利用処理では、コンテンツ付随アプリケーション、もしくはサービスワーカー(SW)が、取得すべきリソースやサービスワーカー(SW)を含むファイルをミドルウェアにおいてフィルタリング取得するためのトークン情報(もしくはファイルURL)をセットする処理を実行するものとして説明した。
このシナリオは、ミドルウェアに対してトークン情報(もしくはファイルURL)により特定されるファイルを、ローカルHTTPプロキシサーバのキャッシュに展開(格納)するように要求するものである。
しかし、トークン情報の設定要求をしたアプリケーションやサービスワーカー(SW)は、プロキシサーバのキャッシュに、トークンに従って選択されたファイルが展開(格納)されたかどうかを受動的に検知することができない。
すなわち、図11〜図12を参照して説明したシーケンスは、ブラウザ(アプリケーション)側からのポーリング型でアプリケーションパーツやサービスワーカー(SW)のプロキシサーバからの引き込みを行うモデルである。
前述のポーリング型の処理の説明では、サービスワーカー(SW)のキャッシュ有効期限や、タイマー、あらかじめ定めたポーリング周期等を、ポーリングを行う契機とする方法を説明した。
この処理は、キャッシュ有効期限/タイマー/ポーリング周期等が長いと、プロキシサーバのキャッシュで更新が行われたら即座にブラウザ側に引き込むというような、設定された時間間隔の粒度に依存しないような引き込みタイミング制御ができないという問題がある。
また、タイミング精度を上げるために時間間隔を短くすると、問い合わせ要求が頻繁になり、無駄な負荷を上げることとなる。
この問題を解消するために、以下に説明するプッシュ型処理では、ブラウザ側からトークン情報(もしくはファイルURL)の設定要求を行うと同時に、ミドルウェアの管理キャッシュに対するデータ展開(格納)が実行された場合に、キャッシュ展開をブラウザ側に通知させるプッシュAPI等を利用したプッシュ型イベント通知機構を利用した処理としている。
このプッシュ型のトークン適用データ選択取得処理シーケンスについて、図22〜図23のシーケンス図を参照して説明する。
図22〜図23には、左から、以下の各構成要素を示している。
(a)送信装置を構成する放送サーバ
(b)送信装置を構成するデータ配信サーバ
(c)受信装置のミドルウェア
(d)受信装置の出力制御部で実行されるサービスワーカー
(e)受信装置の出力制御部で実行されるアプリケーション
図22〜図23のシーケンス図に示す各ステップの処理について、順次、説明する。
(ステップS321)
ステップS321の処理は、受信装置の出力制御部で実行されるアプリケーションによって実行される。
アプリケーションが、トークン情報の設定要求をミドルウェアに対して実行する。
具体的には、例えば図7に示すミドルウェア110のシグナリング解析部113に対して、シグナリングデータに含まれるどのクラスのサービスワーカー(SW)アクセス情報検出すべきかを示すトークン情報を通知して、シグナリング解析部113に検出すべきクラスのサービスワーカー(SW)のアクセス情報を判別可能な状態に設定する。
具体的には、例えば、サービスワーカー(SW)識別子等をトークン情報として通知し、設定する。
このステップS321の処理に並行して、アプリケーション、ミドルウェア間、およびミドルウェアと送信装置(放送サーバ、データ配信サーバ)間において、ステップS321a,bに示すイベント登録、承諾処理を実行する。
これは、送信装置(放送サーバ、データ配信サーバ)から受信装置に送信されたデータ(アプリケーション、アブリケーション関連データ、サービスワーカ(SW)等)が、ミドルウェアのプロキシサーバ管理キャッシュに展開(格納)された場合に、アプリケーションに通知する処理の実行を各装置または構成部が承諾して実行することを確認する処理である。
(ステップS322〜S323)
ステップS322〜S323の処理は、受信装置の出力制御部で実行されるアプリケーションおよびサービスワーカーによって実行される。
ミドルウェアに対するトークン情報の設定処理は、ステップS321で説明したように、アプリケーションの処理として実行してもよいが、サービスワーカー(SW)の処理として実行してもよい。
ステップS322〜S323の処理は、ミドルウェアに対するトークン情報の設定処理をサービスワーカー(SW)の処理として実行する場合に行われる。
まず、ステップS322において、アプリケーションが、サービスワーカー(SW)の登録処理を実行し、サービスワーカー(SW)の処理を開始する。
登録処理によってサービスワーカー(SW)は、記憶部(永続キャッシュ)に格納され、いつでも利用可能な状態になる。
次に、登録されたサービスワーカー(SW)が、トークン情報の設定要求をミドルウェアに対して実行する。
トークン情報の設定は、ステップS321の処理と同様の処理である。すなわち、例えば図7に示すミドルウェア110のシグナリング解析部113に対して、シグナリングデータに含まれるどのクラスのサービスワーカー(SW)アクセス情報検出すべきかを示すトークン情報を通知して、シグナリング解析部113に検出すべきクラスのサービスワーカー(SW)のアクセス情報を判別可能な状態に設定する。
このステップS322〜S323の処理が実行される場合は、これらの処理に並行して、アプリケーション、ミドルウェア間、およびミドルウェアと送信装置(放送サーバ、データ配信サーバ)間において、ステップS323a,bに示すイベント登録、承諾処理を実行する。
これは、送信装置(放送サーバ、データ配信サーバ)から受信装置に送信されたデータ(アプリケーション、アブリケーション関連データ、サービスワーカ(SW)等)が、ミドルウェアのプロキシサーバ管理キャッシュに展開(格納)された場合に、アプリケーションに通知する処理の実行を各装置または構成部が承諾して実行することを確認する処理である。
(ステップS324)
ステップS324の処理は、放送サーバによって継続的に実行されているシグナリングデータの送信処理である。
このシグナリングデータには、例えば、先に図14〜図17を参照して説明したトークンが設定されている。
(ステップS325)
ステップS325の処理は、受信装置30のミドルウェアの処理である。すなわちデータ受信および受信データの解析等の処理を行なうミドルウェアの処理である。ミドルウェアは、アプリケーションまたはサービスワーカー(SW)から通知されたトークン情報を設定し、設定したトークン情報に基づいて、シグナリングデータからのトークン(もしくはファイルURL)検出を実行する。
さらに、受信装置30のミドルウェアは、トークン(もしくはファイルURL)に基づいて、取得対象ファイルを決定し、選択ファイルの配信スケジュール情報に従って、ファイル取得処理を開始する。
(ステップS326)
ステップS326の処理は、放送サーバによって継続的に実行されている各種ファイルの送信処理である。
送信ファイルには、アプリケーション、アプリケーション実行時に利用されるデータファイル等のアプリケーション関連データ、さらにサービスワーカー(SW)などが含まれる。
(ステップS327〜S328)
ステップS327の処理は、受信装置30のミドルウェアの処理である。ミドルウェアは、放送サーバの送信ファイルから、取得対象となるファイルを選択取得し、取得ファイルをプロキシサーバの管理キャッシュに展開(格納)する。
このステップS327の処理が実行される際に、ステップS328a〜dに示すイベント通知処理が各装置、各構成部間で実行される。
これは、送信装置(放送サーバ、データ配信サーバ)から受信装置に送信されたデータ(アプリケーション、アブリケーション関連データ、サービスワーカ(SW)等)が、ミドルウェアのプロキシサーバ管理キャッシュに展開(格納)されたことを、アプリケーション、またはサービスワーカー(SW)に通知する処理である。
なお、図には、ステップS328a〜dの4本のイベント通知ラインを示しているが、ステップS328a,bについては、データ送信を実行したいずれかの装置がイベント通知を実行すればよい。
また、ステップS328c,dのミドルウェアからの通知処理は、トークン情報設定要求の発行元、すなわちアプリケーションまたはサービスワーカー(SW)のいずれかのみに対して実行すればよい。
上述の処理シーケンスにおいて、プッシュAPIによるトークン(もしくはファイルURL)設定ならびにプッシュイベント依頼のイベントは、ATSC3.0クライアント放送ミドルウェア上に実装されるプッシュイベトサーバ(パブリッシャー)に登録される。プッシュイベントサーバは、必要に応じて、ネット経由で、送信装置に対して、プッシュイベント依頼のイベントを登録する。
ミドルウェアは、設定されたトークン(もしくはファイルURL)によってフィルタされたデータがプロキシサーバ上に展開されると、プッシュイベントをプッシュイベントクライアント(アプリケーションもしくはサービスワーカー(SW))に通知する。
ブラウザ側では、イベントを受けるとすぐに取得要求(ブラウザキャッシュへの引き込み)を行うことができるため、これにより、放送経由でクライアント側にファイルが蓄積されると即座にブラウザ側で利用することが可能となる。また、プッシュイベントをネット経由で送受できるようにすることは、クライアント放送ミドルウェアが当該ファイル転送ストリームにチューンしていない場合でも、クライアント側でファイル転送の事実を検知することができるようにするためである。
[8.3.サービスワーカー(SW)の更新処理について]
次に、プッシュ型の処理を実行する場合のサービスワーカー(SW)の更新処理について説明する。
前述したように、サービスワーカー(SW)には、利用期限を定めることができ、受信装置30は、必要に応じて、受信装置の保持する利用期限の来たサービスワーカー(SW)を新たなサービスワーカー(SW)に置き換えるサービスワーカー(SW)更新処理を行なうことができる。
ポーリング型のサービスワーカー(SW)更新処理シーケンスは、先に図18〜図19を参照して説明したシーケンスとなる。
プッシュ型処理では、ミドルウェアの管理キャッシュに対して更新サービスワーカー(SW)の展開(格納)が実行された場合に、キャッシュ展開をブラウザ側に通知させるプッシュAPI等を利用したプッシュ型イベント通知機構を利用した処理を行なう。
プッシュ型処理におけるサービスワーカー更新処理シーケンスについて、図24を参照して説明する。
図24には、左から、以下の各構成要素を示している。
(a)送信装置を構成する放送サーバ
(b)送信装置を構成するデータ配信サーバ
(c)受信装置のミドルウェア
(d)受信装置の出力制御部で実行されるブラウザ
さらに、
(e)受信装置の出力制御部で実行されるブラウザ上で実行されるサービスワーカー(SW)
これらの各構成要素を示している。
図24のシーケンス図に示す各ステップの処理について、順次、説明する。
なお、図24のシーケンスの開始以前に、既に、先に説明した図22に示すと同様の各装置、構成部間で、イベント登録、承諾処理が実行されているものとする。
すなわち、アプリケーション、ミドルウェア間、およびミドルウェアと送信装置(放送サーバ、データ配信サーバ)間において、例えば図22に示すステップS321a,bに示すイベント登録、承諾処理が実行されている。
これは、送信装置(放送サーバ、データ配信サーバ)から受信装置に送信されたデータ(アプリケーション、アブリケーション関連データ、サービスワーカ(SW)等)が、ミドルウェアのプロキシサーバ管理キャッシュに展開(格納)された場合に、アプリケーションに通知する処理の実行を各装置または構成部が承諾して実行することを確認する処理である。
図24に示すシーケンスは、これらのイベント登録、承諾処理が実行された後の処理に相当する。
図24のシーケンス図に示す各ステップの処理について、順次、説明する。
(ステップS351)
ステップS351a〜dは、送信装置(放送サーバ、データ配信サーバ)から受信装置に送信されたデータ(本例では、更新サービスワーカー(SW))が、ミドルウェアのプロキシサーバ管理キャッシュに展開(格納)されたことを、アプリケーション、またはサービスワーカー(SW)に通知する処理である。
なお、図には、ステップS351a〜dの4本のイベント通知ラインを示しているが、ステップS351a,bについては、データ送信を実行したいずれかの装置がイベント通知を実行すればよい。
また、ステップS351c,dのミドルウェアからの通知処理は、アプリケーションまたはサービスワーカー(SW)のいずれかのみに対して実行すればよい。
(ステップS352)
ステップS352は、受信装置の出力制御部で実行されるブラウザの処理である。
ブラウザは、イベント通知に基づいて、更新サービスワーカー(SW)のローカルプロキシサーバに対する取得リクエストを行う。
(ステップS353)
ステップS353の処理は、受信装置30のミドルウェアの処理である。ミドルウェアは、プロキシサーバの管理キャッシュに、ブラウザから取得要求のあった更新されたサービスワーカー(SW)の検索を行い、検出された場合、更新されたサービスワーカー(SW)をブラウザに出力する。
(ステップS354)
ステップS354は、受信装置の出力制御部で実行されるブラウザの処理である。
ブラウザは、プロキシサーバから受領した更新後のサービスワーカー(SW)を登録する。すなわち、記憶部(永続キャッシュ)に格納する。
(ステップS355)
ステップS355は、受信装置の出力制御部で実行されるサービスワーカー(SW)の処理である。ここでは、新たに登録された更新後のサービスワーカー(SW)の処理を示している。
更新後のサービスワーカー(SW)は、必要に応じて、トークン情報の設定要求をミドルウェアに対して実行する。
トークン情報の設定は、前述した図11のステップS251の処理と同様の処理である。すなわち、例えば図7に示すミドルウェア110のシグナリング解析部113に対して、シグナリングデータに含まれるどのクラスのサービスワーカー(SW)アクセス情報検出すべきかを示すトークン情報を通知して、シグナリング解析部113に検出すべきクラスのサービスワーカー(SW)のアクセス情報を判別可能な状態に設定する。
なお、このステップS355の処理に並行して、ステップS355aに示すイベント登録/承諾処理を実行する。これは、トークン情報に応じたデータがミドルウェアのプロキシサーバに展開(格納)された場合に、サービスワーカー(SW)またはアプリケーションに通知させるための処理である。
(ステップS356)
ステップS356の処理は、受信装置30のミドルウェアの処理である。すなわちデータ受信および受信データの解析等の処理を行なうミドルウェアの処理である。ミドルウェアは、更新後のサービスワーカー(SW)から通知されたトークン情報を設定し、設定したトークン情報に基づいて、シグナリングデータからのトークン(もしくはファイルURL)検出を実行する。
[8.4.サービスワーカー(SW)による受信装置の記憶部(永続キャッシュ)の制御処理について]
プッシュ型処理においても、受信装置30に格納されたサービスワーカー(SW)による受信装置の記憶部(永続キャッシュ)の制御処理シーケンスは、先に図20〜図21を参照して説明したポーリング型の処理例と同様の処理となる。
[9.トークンを記述するシグナリングデータ(メタデータ)の構成について]
先に、図14〜図17を参照して説明したように、例えば放送サーバ21等の送信装置20から送信されるシグナリングデータ(メタデータ)には、受信装置30における取得データの選択を効率化するためのトークン(もしくはURL)が記述されている。
以下、シグナリングデータ(メタデータ)に対するトークン(もしくはURL)の具体的な記録構成例について説明する。
図25は、例えば放送サーバ21等の送信装置20から送信されるシグナリングデータ(メタデータ)の構成例を示す図である。
シグナリングデータ(メタデータ)は、図25に示すように、以下の3つのレイヤを持つ。
(1)サービスレイヤ(OMA−ESG)
(2)ファイル転送セッションレイヤ(3GPP−MBMS−USD)
(3)FLUTE(ROUTE)パラメータレイヤ(FLUTE(ROUTE))
(1)サービスレイヤは、特にユーザ提示を目的としたサービスやコンテンツの属性情報を記述するレイヤである。
(2)ファイル転送セッションレイヤは、ファイルの転送パラメータ等を記述するレイヤである。
(3)FLUTE(ROUTE)パラメータレイヤは、FLUTE(ROUTE)プロトコル対応のパラメータを記述するレイヤである。
(1)サービスレイヤは、いわゆる番組表等を記録するOMA−ESG(Open Mobile Alliance−Electronic Service Guide)以下に、例えば以下の属性情報(要素)記録領域(フラグメント)が設定されている。
(a)サービス・フラグメント(Service Fragment)
(b)コンテンツ・フラグメント(Content Fragment)
(c)インタラクティビティデータ・フラグメント(InteractivityData Fragment)
(d)スケジュール・フラグメント(Schedule Fragment)
(e)アクセス・フラグメント(Access Fragment)
これらは、それぞれ異なる種類の属性情報を記録する領域として区分されている。
なお、OMA−ESGには、この他にも複数の属性情報(要素)記録領域(フラグメント)が設定されるが、上記の(a)〜(e)の属性情報(要素)記録領域(フラグメント)を前述したトークンの記録領域として設定した例について、後段で説明する。
なお、図に示す矢印は、各属性情報(要素)記録領域(フラグメント)間の参照関係を示している。
例えば(a)サービス・フラグメントから、(d)スケジュール・フラグメントに延びる矢印は、(a)サービス・フラグメントに記録された個々のサービス(例えばチャンネルや番組)対応の配信スケジュール情報が(d)スケジュール・フラグメントに記録されていることを示す。
また、ファイル転送セッションレイヤは、サービス単位のシグナリングデータであるUSD(ユーザサービスディスクリプション)以下に例えば以下の属性情報(要素)記録領域(フラグメント)が設定されている。
(f)スケジュール・フラグメント(Schedule Fragment)
(g)フィルタディスクリプション・フラグメント(FilterDescription Fragment)
USD(ユーザサービスディスクリプション)には、この他にも複数の属性情報(要素)記録領域(フラグメント)が設定されるが、上記の(f)〜(g)の属性情報(要素)記録領域(フラグメント)を前述したトークンの記録領域として設定した例について、後段で説明する。
[9.1.シグナリングデータ(メタデータ)を構成するOMA−ESGに対するトークン記録例について]
先に図25を参照して説明したように、
シグナリングデータ(メタデータ)は、図25に示すように、以下の3つのレイヤを持つ。
(1)サービスレイヤ(OMA−ESG)
(2)ファイル転送セッションレイヤ(3GPP−MBMS−USD)
(3)FLUTE(ROUTE)パラメータレイヤ(FLUTE(ROUTE))
まず、(1)サービスレイヤ(OMA−ESG)に対するトークン記録例について説明する。
サービスレイヤ(OMA−ESG)に設定される属性情報(要素)記録領域(フラグメント)のうちトークンを格納するのにふさわしいフラグメントには、前述したように、以下の属性情報(要素)記録領域(フラグメント)がある。
(a)サービス・フラグメント(Service Fragment)
(b)コンテンツ・フラグメント(Content Fragment)
(c)インタラクティビティデータ・フラグメント(InteractivityData Fragment)
(d)スケジュール・フラグメント(Schedule Fragment)
(e)アクセス・フラグメント(Access Fragment)
(a)サービス・フラグメント(Service Fragment)は、チャネルやストリーミングサービスというようなサービスレイヤの属性を記述するフラグメントである。
(b)コンテンツ・フラグメント(Content Fragment)は、サービス・フラグメント(Service Fragment)を構成する各々のコンテンツ(サービスがチャネルを記述する場合は番組等の単位)を記述するフラグメントである。
(d)スケジュール・フラグメント(Schedule Fragment)は、サービス(Service)、コンテンツ(Content)、インタラクティビティデータ(InteractivityData)を時間軸上(番組配信スケジュール、番組提示スケジュール等)にマッピングするためのフラグメントである。
(e)アクセス・フラグメント(Access Fragment)は、スケジュール(Schedule)フラグメントの配信スケジュールとともに実際のファイルやストリームのアドレスを記述するためのフラグメントである。
これら、各々の属性情報(要素)記録領域(フラグメント)には、様々なデータを記録可能な拡張領域であるプライベート・エクステンション(PrivateExtension)要素が設定されている。
例えば、OMAとは異なる標準化団体において、このスキーマ定義を利用して機能要素を追加するために新たな要素が必要となった場合には、この拡張領域下に、様々な要素を追加規定することができる。ただし、OMA自身でスキーマを拡張する場合、もしくは、他の標準化団体自身が全体のスキーマを変更できる場合には追加要素そのものをプライベート・エクステンション(PrivateExtension)要素上に格納するように定義される。
例えば、(a)サービス・フラグメント(Service Fragment)は、図26に示す構成を有する。
図26に示すように、プライベート・エクステンション(PrivateExtension)データ記録領域201の下位にトークン記録領域202を設定することができる。
これは、例えば先に図15を参照して説明した図15(1)トークン設定例1に示すサービスメタデータ161に、「サービスワーカー(SW)検索スコープトークン<SW−Scope>」を記録する場合の例に対応する。
図26に示すトークン記録領域202には、トークンを例えば、XMLデータとして記録する。
トークンのXMLスキーマ定義は、例えば、以下の設定とする。
<xs:element name="SWClass" type="xs:string" xmlns:xs="http://www.w3.org/2001/XMLSchema"/>
上記設定の文字列表現としてエンコードする。
また、サービス・フラグメント(Service Fragment)のXMLインスタンスの例は、例えば以下の設定となる。
<Service>
・・・
<PrivateExt>
<SWClass>SWクラスの文字列</SWClass>
</PrivateExt>
</Service>
[9.2.シグナリングデータ(メタデータ)を構成するUSDに対するトークン記録例について]
先に図25を参照して説明したように、
シグナリングデータ(メタデータ)は、図25に示すように、以下の3つのレイヤを持つ。
(1)サービスレイヤ(OMA−ESG)
(2)ファイル転送セッションレイヤ(3GPP−MBMS−USD)
(3)FLUTE(ROUTE)パラメータレイヤ(FLUTE(ROUTE))
以下、(2)ファイル転送セッションレイヤ(3GPP−MBMS−USD)にトークンを記録する例について説明する。
サービス単位のシグナリングデータであるUSD(ユーザサービスディスクリプション)に設定される属性情報(要素)記録領域(フラグメント)のうちトークンを格納するのにふさわしいフラグメントには、前述したように、以下の属性情報(要素)記録領域(フラグメント)がある。
(f)スケジュール・フラグメント(Schedule Fragment)
(g)フィルタディスクリプション・フラグメント(FilterDescription Fragment)
USD(ユーザサービスディスクリプション)はサービスを構成するトランスポートセッションの属性を格納するハブ的な要素である。
USD(ユーザサービスディスクリプション)の全体構成例を図27に示す。
USD(ユーザサービスバンドルディスクリプション)210は、複数のUSD(ユーザサービスディスクリプション)211の集合である。
図27に示す白抜きひし形の矢印は、白抜き矢印側の要素が接続要素を含む(include)ことを意味する。
通常矢印は、参照(reference)関係を示す。
USD(ユーザサービスディスクリプション)211の下位には、
スケジュール(Schedule)要素212が設定される。なお、要素は、フラグメントと同意である。
スケジュール(Schedule)要素212の回に、スケジュールディスクリプション(Schedule Description)要素213、さらに、その下意にフィルタディスクリプション(Filter Description)要素214が設定される。
USD要素211の下のスケジュール(Schedule)要素212は、トランスポートセッションの配信スケジュールを記述する。このスケジュール(Schedule)要素212から参照されるスケジュールディスクリプション(Schedule Description)要素213から、このスケジュールで配信されるサービス(ストリームセッションやファイルセッション)を選択的に取得する際に利用するフィルタリングに利用するパラメータを格納するフィルタディスクリプション(FilterDescription)要素214を参照させることができる。
図28に、シグナリングデータを構成するUSD(ユーザサービスバンドルディスクリプション)210以下の階層構成例を示す。
USD(ユーザサービスバンドルディスクリプション)210以下、
USD(ユーザサービスディスクリプション)要素211、
スケジュール(Schedule)要素212
これらの各要素が設定される。
スケジュール(Schedule)要素212の中に、スケジュールディスクリプション(Schedule Description)要素213の識別情報としてのスケジュールディスクリプションURI 212aが記録される。
このスケジュールディスクリプションURI 212aに基づいて、スケジュールディスクリプション(Schedule Description)要素213が特定される。
なお、USD(ユーザサービスディスクリプション)要素211以下に設定されるデリバリメソッド(deliveryMethod)要素にはFLUTE(ROUTE)への参照情報が格納される。この構成については後述する。
図29は、スケジュールディスクリプション(Schedule Description)要素213以下のシグナリングデータ構成を示す図である。
スケジュールディスクリプション(Schedule Description)要素213以下に、アトリビュート(属性)(Attribute)データ222が設定され、アトリビュート(属性)(Attribute)データ222内に、特定のフィルタディスクリプション要素を識別するための識別情報であるフィルタディスクリプションリファレンス(filter Description Reference)223が記録される。
また、スケジュールディスクリプション(Schedule Description)要素213以下に記録される1つのアトリビュート(属性)(Attribute)データ224に、特定のフィルタを識別するための識別情報であるフィルタID(filter ID)225が記録される。
図30は、フィルタディスクリプションリファレンス(filter Description Reference)223によって特定されるフィルタディスクリプション(filter Description)要素231のデータ構成を示している。
フィルタディスクリプション(filter Description)要素231以下には、各フィルタ対応のデータを設定するフィルタデータ(filterData)要素232が設定される。
さらに、フィルタデータ(filterData)要素232のアトリビュート(属性)(attribute)233には、図29のデータ構成に示すフィルタID(filter ID)225に対応するidデータ234が記録される。
さらに、フィルタデータ(filterData)要素232以下のデータ記録領域に上述したトークン235を記録する。
これは、例えば先に図17を参照して説明した図17(4)トークン設定例4に示すスケジュールディスクリプション168に、「サービスワーカー(SW)検索スコープトークン<SW−Scope>」を記録する場合の例に対応する。
トークン235は、例えば、XMLデータとして記録する。
トークンのXMLスキーマ定義は、例えば、以下の設定とする。
<xs:element name="SWClass" type="xs:string" xmlns:xs="http://www.w3.org/2001/XMLSchema"/>
として、文字列表現としてエンコードする。
また、フィルタディスクリプション(filterDescription)フラグメントのXMLインスタンスの例は、例えば以下の設定となる。
<filterDescription>
・・・
<filterData>
<SWClass>SWクラスの文字列</SWClass>
</filterData>
</filterDescription>
[USDからFLUTE/ROUTEへの参照処理例について]
受信装置30が、トークンを利用して選択取得するデータは、アプリケーション、およびアプリケーション関連データ、あるいはサービスワーカー(SW)等のファイルであり、これらは、FLUTE/ROUTEプロトコルに従って転送される。
受信装置30は、例えば上述したシグナリングデータであるUSD等に記載されたトークンに基づいて、FLUTE/ROUTEプロトコルに従って転送されるファイルを識別して取得することが必要となる。
以下、この処理のための構成について、図31以下を参照して説明する。
図31は、先に図28を参照して説明したと同様、シグナリングデータを構成するUSD(ユーザサービスバンドルディスクリプション)210以下の階層構成例を示す図である。
USD(ユーザサービスバンドルディスクリプション)210以下、
USD(ユーザサービスディスクリプション)要素211、
スケジュール(Schedule)要素212
これらの各要素が設定される。
USD(ユーザサービスディスクリプション)要素211以下に設定されるデリバリメソッド(deliveryMethod)要素241にFLUTE(ROUTE)への参照情報が格納される。
図32は、ファイル転送をFLUTEプロトコルに従って実行する場合に、デリバリメソッド(deliveryMethod)要素241に設定されるFLUTEへの参照情報の例を示す図である。
図32に示すように、デリバリメソッド(deliveryMethod)要素241以下に設定されるアトリビュート(属性)(Attribute)242のうち、セッションディスクリプションURI(sessionDescriptionURI)属性243から参照されるSDPとして、図32に示す以下の情報が記録される。
v=・・・
o=・・・
s=・・・
t=・・・
a=ATSC−mode:Frequency PipeID(BBPStreamID) {周波数とその周波数内のmodulation/codingパラメータ等が異なる伝送パイプのID}
a=flute−tsi: (TSI−TransportSessionIdentifier)
s=sourceFilter: IN IP4 IP Address(ソースIPアドレス)
m=APPLICATION port(ポート番号) FLUTE/UDP
c=IN IP4 IPAddress(ディスティネーションIPアドレス)
この情報に従って特定されるファイル特定構成を図33に示す。
FLUTE(ROUTE)プロトコルにより転送されるファイルは、いずれもIPパケットの上のUDPパケットの上のLCTパケットに格納されて転送される。
FLUTEの場合は、SDPで指示されるソースIPアドレス(SourceIPAddress)、ディスティネーションIPアドレス(DestinationIPAddress)、ポート番号(Port)、TSIにて特定される。これは、FLUTEセッション単位で実行される)。
ソースIPアドレス(SourceIPAddress)、ディスティネーションIPアドレス(DestinationIPAddress)がIPパケットの特定に、ホート番号(Port)がUDPパケットの特定に、TSIがLCTパケット列の特定に利用される。
また、LCTパケットに格納されるTOI(TransportObjectIdentifier)により所望のファイルが特定される。
TOIが0のLCTパケットにはFDT(File Description Table)が格納され、同じTSIで特定されるトランスポートセッションの内の他のファイルオブジェクトについて、各々のファイルURL(FDT−Instance/File/@ContentLocatoinに格納)と、対応するTOI(FDT−Instance/File/@TOIに格納)との関係が解決される。
一方、図34は、ファイル転送をROUTEプロトコルに従って実行する場合に、デリバリメソッド(deliveryMethod)要素241に設定されるFLUTEへの参照情報の例を示す図である。
図34に示すように、デリバリメソッド(deliveryMethod)要素241以下に設定されるアトリビュート(属性)(Attribute)242のうち、セッションディスクリプションURI(sessionDescriptionURI)属性243から参照されるSDPとして、図34に示す以下の情報が記録される。
v=・・・
o=・・・
s=・・・
t=・・・
a=ATSC−mode: Frequency PipeID(BBPStreamID) {周波数とその周波数内のmodulation/codingパラメータ等が異なる伝送パイプのID}
s=sourceFilter: IN IP4 IP Address(ソースIPアドレス)
m=APPLICATION port(ポート番号) ROUTE/UDP
c=IN IP4 IPAddress(ディスティネーションIPアドレス)
この情報に従って特定されるファイル特定構成を図35に示す。
ROUTEの場合は、SDPで指示されるソースIPアドレス(SourceIPAddress)、ディスティネーションIPアドレス(DestinationIPAddress)、ポート番号(Port)にて特定される。これは、ROUTEセッション単位で実行される。
ソースIPアドレス(SourceIPAddress)、ディスティネーションIPアドレス(DestinationIPAddress)がIPパケットの特定に、Port番号がUDPパケットの特定に利用される。
ROUTEセッションには、LCTパケットのTSIが0でTOIが0であるLCTパケットにLSID(LCT Session Instance Description)が格納され、ROUTEセッション内の他のトランスポートセッション(LCTパケットのTSIで特定される)についての属性が格納される。LSIDのTransportSession/SourceFlow/EFDT/File要素の属性であるContentLocation属性とTOI属性によりファイルURLと対応するTOIとの関係が解決される。
クライアントミドルウェアは、FLUTEのFDT(FDT−Instance)もしくはROUTEのLSIDをパース(解析)してそのファイル転送セッションで転送されるファイルURLがわかる。
[9.3.シグナリングデータ(メタデータ)を構成するFLUTE(ROUTE)パラメータレイヤに対するトークン記録例について]
先に図25を参照して説明したように、
シグナリングデータ(メタデータ)は、図25に示すように、以下の3つのレイヤを持つ。
(1)サービスレイヤ(OMA−ESG)
(2)ファイル転送セッションレイヤ(3GPP−MBMS−USD)
(3)FLUTE(ROUTE)パラメータレイヤ(FLUTE(ROUTE))
以下、(3)FLUTE(ROUTE)パラメータレイヤ(FLUTE(ROUTE))にトークンを記録する例について説明する。
FLUTE(ROUTE)パラメータレイヤにおいて、トークンを格納するのにふさわしい要素には、FLUTEファイル転送セッション全体を記述するFDTインスタンス(FDT−Instance)要素、もしくは、そのセッションの中で運ばれる個々のファイルの属性を記述するファイル(File)要素がある。
例えばファイル(File)要素の属性であるコンテンツロケーション(Content−Location)属性に、ファイルURLが格納される。
このFDT−Instance要素の属性、もしくは、File要素の属性にトークンを記録する構成について、図36以下を参照して説明する。
図36は、シグナリングデータを構成するFLUTE(ROUTE)パラメータレイヤ内のFDTインスタンス要素以下のデータ格納構成を示す図である。
FDTインスタンス(FDT Instance)要素301以下に、
FDTインスタンス対応のアトリビュート(属性)(Attribute)302、
ファイル(File)要素303が設定される。
さらに、ファイル(File)要素303以下に、
ファイル対応のアトリビュート(属性)(Attribute)304が設定される。
FDTインスタンス対応のアトリビュート(属性)(Attribute)302と、
ファイル対応のアトリビュート(属性)(Attribute)304、
これらの詳細構成を図37に示す。
図37に示すように、これらのアトリビュート(属性)記録領域には、規定の属性(Attribute)情報の記録領域の他、自由なデータを格納可能なデータ記録フィールド(any)が設定される。
このデータ記録フィールド(any)311,312にトークンを記録する。
このトークン記録例は、例えば先に図15を参照して説明した図15(1)トークン設定例1に示す最下層のROUTEメタデータ162,163に、「サービスワーカー(SW)クラス指定トークン<SW−Class>」を記録する場合の例に対応する。
なお、ファイル対応のアトリビュート(属性)(Attribute)304内の既定のコンテンツロケーション(Content−Location)記録領域にはファイルURLが記録される。
FDTインスタンス対応のアトリビュート(属性)(Attribute)302と、ファイル対応のアトリビュート(属性)(Attribute)304内のデータ記録フィールド(any)311,312に記録するトークンは、例えば、XMLデータとして記録する。
トークンのXMLスキーマ定義は、例えば、以下の設定とする。
<xs:attribute name="SWClass"type="xs:string" xmlns:xs="http://www.w3.org/2001/XMLSchema"/>
上記設定の文字列表現としてエンコードする。
トークンを図37(a)に示すように、FDTインスタンス(FDT−Instance)要素に格納した場合のXMLインスタンスの例は、例えば以下の設定となる。
<FDT−Instance・・SWClass="SWクラスの文字列"・・・>
・・・
</FDT−Instance>
なお、FDTインスタンス(FDT−Instance)要素の属性に例えば「サービスワーカー(SW)検索スコープトークン<SW−Scope>」が配置された場合には、このファイル転送セッションの中のファイルのいずれかに所望のサービスワーカー(SW)関連ファイルが格納されていることを示す。
一方、「サービスワーカー(SW)クラス指定トークン<SW−Class>」が配置された場合には、このファイル転送セッションの中のすべてのファイルが所望のサービスワーカー(SW)関連ファイルであることを示す。
トークンを図37(b)に示すように、また、ファイル(File)要素に格納した場合のXMLインスタンスの例は、以下のようになる。
<FDT−Instance>
・・・
<File・・・SWClass="SWクラスの文字列"・・・>
・・・
</FDT−Instance>
ファイル(File)要素の属性には、「サービスワーカー(SW)クラス指定トークン<SW−Class>」のみが配置可能であり、このファイルが所望のサービスワーカー(SW)関連ファイルであることを示す。
一方、ROUTEについては、ROUTEで規定しているシグナリングデータとしてのLSIDの中にFLUTEで規定しているFile要素が格納される。
図38にROUTEで規定しているLSID以下のデータ構成を示す。
図38に示すように、
LSID要素351、
トランスポートセッション(TransportSession)要素352、
ソースフロー(SourceFlow)要素353、
EFDT要素354、
ファイル(File)要素355、
これらの階層設定となる。
このため、サービスワーカー(SW)トークン(SW検索スコープトークン、SWクラス指定トークン)を格納するのにふさわしい要素としては、以下の要素がある。
(a)EFDT要素354単位のアトリビュート(属性)(Attribute)データ要素361、
(b)ファイル(file)355単位のアトリビュート(属性)(Attribute)データ要素362、
(c)EFDT要素354単位のアプリケーション識別子(ApplicationIdentifier)要素363
これらの各要素が候補となる。
(a)EFDT要素354単位のアトリビュート(属性)(Attribute)データ要素361、
(b)ファイル(File)355単位のアトリビュート(属性)(Attribute)データ要素362、
これらの詳細構成を図39に示す。
図39に示すように、これらのアトリビュート(属性)記録領域には、規定の属性(Attribute)情報の記録領域の他、自由なデータを格納可能なデータ記録フィールド(any)が設定される。
このデータ記録フィールド(any)371,372にトークンを記録する。
このトークン記録例は、例えば先に図15を参照して説明した図15(1)トークン設定例1に示す最下層のROUTEメタデータ162,163に、「サービスワーカー(SW)クラス指定トークン<SW−Class>」を記録する場合の例に対応する。
なお、ファイル対応のアトリビュート(属性)(Attribute)362内の既定のコンテンツロケーション(Content−Location)記録領域にはファイルURLが記録される。
トークンを図39(a)に示すように、EFDTインスタンス(EFDT−Instance)要素に格納した場合のXMLインスタンスの例は、例えば以下の設定となる。
<LSID>
・・・
<TransportSession>
・・・
<SourceFlow>
・・・
<EFDT … SWClass="SWクラスの文字列"・・・ >
・・・
</EFDT>
・・・
</SourceFlow>
・・・
</TransportSession>
・・・
</LSID>
また、トークンを、図38に示すEFDT要素354単位のアプリケーション識別子(ApplicationIdentifier)要素363に格納した場合のXMLインスタンスの例は、以下のようになる。
<LSID>
・・・
<TransportSession>
・・・
<SourceFlow>
・・・
<ApplicationIdentifier>SWクラスの文字列<ApplicationIdentifier>
・・・
</SourceFlow>
・・・
</TransportSession>
・・・
</LSID>
LSID/TransportSession/SourceFlow/ApplicationIdentifier要素に「サービスワーカー(SW)検索スコープトークン<SW−Scope>」が配置された場合には、このファイル転送セッションの中のファイルのいずれかに所望のサービスワーカー(SW)関連ファイルが格納されていることを示す。
一方、「サービスワーカー(SW)クラス指定トークン<SW−Class>」が配置された場合には、このファイル転送セッションの中のすべてのファイルが所望のサービスワーカー(SW)関連ファイルであることを示す。
さらに、トークンを図39(b)に示すように、ファイル(File)要素に格納した場合のXMLインスタンスの例は、例えば以下の設定となる。
<EFDT>
・・・
<File … SWClass="SWクラスの文字列"・・・ >
・・・
</EFDT >
なお、ファイル(File)要素の属性には、「サービスワーカー(SW)クラス指定トークン<SW−Class>」のみが配置可能であり、このファイルが所望のサービスワーカー(SW)関連ファイルであることを示す。
[10.サービスワーカー(SW)の利用可能なAPIによるキャッシングの最適化処理例について]
次に、受信装置30において実行するサービスワーカー(SW)の利用可能なAPIによるキャッシングの最適化処理例について説明する。
前述した実施例は、サービスワーカー(SW)をクラス分類して、サービスワーカー(SW)自体をキャッシングポリシーごとに準備するモデルである。
ひのモデルは、ポリシーの種類が少ない場合には、効果があるが、クライアントの環境に応じた非常にきめの細かな制御を行えるようにする場合には、サービスワーカー(SW)の種類(クラス)が膨大になる恐れがある。この問題に対処するため、サービスワーカー(SW)はできるだけ共通のもの(多くても数種類)を用意して、サービスワーカー(SW)のロジックの中で受信装置(クライアント)の環境属性を取得するAPIを適用してキャッシングの最適化を実現することも可能である。
すなわち、APIを適用してアプリケーション実行環境の状態情報やユーザの視聴情報の統計データ等を参照しながら、キャッシングポリシーを選択できるようにする実装モデルである。
図40〜図41に示すシーケンス図を参照して、APIを適用してアプリケーション実行環境の状態情報やユーザの視聴情報の統計データ等を参照しながら、キャッシングポリシーを選択し、受信装置の記憶部(永続キャッシュ)の制御処理シーケンスについて説明する。
図40〜図41には、左から、以下の各構成要素を示している。
(a)送信装置を構成する放送サーバ
(b)送信装置を構成するデータ配信サーバ
(c)受信装置のミドルウェア
(d)受信装置のプロキシサーバ
(e)受信装置の出力制御部で実行されるブラウザの管理下の記憶部(永続キャッシュ)
(f)受信装置の出力制御部の実行するブラウザ上で実行されるサービスワーカー(SW)
(g)受信装置の出力制御部の実行するブラウザ上で実行されるアプリケーション
(h)受信装置の出力制御部で実行されるネィティブアプリケーション
これらの各構成要素を示している。
なお、ネィティブアプリケーションは、受信装置30で実行されるアプリケーションであるが、サービスワーカー(SW)の管理下にあるアプリケーションではなく、例えばコンテンツ(番組)対応のアプリケーションの起動処理等に用いられるアプリケーションである。
図40〜図41のシーケンス図に示す各ステップの処理について、順次、説明する。
(ステップS401)
ステップS401の処理は、ネィティブアプリケーションによるコンテンツ(番組)対応のアプリケーションの起動処理である。
上述したように、ネィティブアプリケーションは、コンテンツ(番組)対応のアプリケーションの起動処理等に用いられるアプリケーションである。
コンテンツ(番組)対応のアプリケーションが、例えば、番組中に埋め込まれたトリガー情報に基づいて起動する設定の場合は、このネィティブアプリケーションによる起動処理は不要である。
(ステップS402)
ステップS402において、起動されたアプリケーションが、サービスワーカー(SW)の登録処理を実行する。
登録処理によってサービスワーカー(SW)は、記憶部(永続キャッシュ)に格納され、いつでも利用可能な状態になる。
このサービスワーカー(SW)登録処理は、サービスワーカー(SW)自身からは、登録(install)イベントの検出として把握され、サービスワーカー(SW)は、この登録(install)イベント検出を契機として、ステップS403のキャッシュ制御を開始する。
(ステップS403〜S405、およびステップS501)
サービスワーカー(SW)は、登録(install)イベントを検出すると、ステップS403において、例えばスクリプト記述に従った記憶部(永続キャッシュ)の制御を開始する。
具体的には、特定クラスのサービスワーカー(SW)、または特定クラスのサービスワーカー(SW)の管理対象となるリソース(アプリケーションや、アプリ関連データ)の取得、キャッシュ展開(格納)処理を開始する。
このステップS403〜S405の処理に際しては、ステップS501において、APIを適用して得られた最適ファイル選択情報に応じたファイル取得処理およびキャッシュ展開が実行される。
APIを適用して得られる最適ファイル選択情報は、例えば、アプリケーション実行環境の状態情報やユーザの視聴情報統計データ等に基づいて得られる情報である。
なお、特定クラスのサービスワーカー(SW)、または特定クラスのサービスワーカー(SW)の管理対象となるリソース(アプリケーションや、アプリ関連データ)は、ステップS404において、放送サーバ、データ配信サーバ等の送信装置から継続的に送信される。
ステップS404では、先に図8〜図9を参照して説明したリソース送受信処理における図8〜9(A−1〜2)の各ステップのセグメントファイルに対する処理を、リソースに対する処理に置き換えた処理が実行される。
送信データは、ステップS405において、プロキシサーバの管理キャッシュを介して、記憶部(永続キャッシュ)に展開(格納)される。
(ステップS406〜S409)
ステップS406において、アプリケーションがアプリケーションパーツ、例えばアプリケーションの実行に必要となる動画ファイルや静止画ファイル、あるいはJavaScript(登録商標)プログラム、音声データ等のアプリ関連データをサービスワーカー(SW)に要求する。
この要求処理は、サービスワーカー(SW)におけるフェッチ(fetch)イベント検出に相当する。
ステップS407〜S409において、サービスワーカー(SW)は、要求されたパーツを記憶部(永続キャッシュ)から取得して、アプリケーションに提供する。
このステップS407〜S409の処理に際しては、ステップS501において、APIを適用して得られた最適ファイル選択情報に応じたファイル取得処理が実行される。
APIを適用して得られる最適ファイル選択情報は、例えば、アプリケーション実行環境の状態情報やユーザの視聴情報統計データ等に基づいて得られる情報である。
(ステップS410〜S411)
ステップS410〜S411の処理は、サービスワーカー(SW)によるアクティベート(activate)イベント検出時の処理である。
アクティベート(activate)イベントは、例えば、ユーザによるリソースの削除要求の入力が実行された場合、あるいはアプリケーションの有効期限が切れた場合などに検出される。
サービスワーカー(SW)が、アクティベート(activate)イベントを検出すると、例えばスクリプト記述に従った記憶部(永続キャッシュ)の制御を開始する。
具体的には、特定クラスのサービスワーカー(SW)、または特定クラスのサービスワーカー(SW)の管理対象となるリソース(アプリケーションや、アプリ関連データ)の削除処理等を行なう。
このステップS410〜S411の処理に際しては、ステップS502において、APIを適用して得られた最適ファイル選択情報に応じたファイル削除が実行される。
APIを適用して得られる最適ファイル選択情報は、例えば、アプリケーション実行環境の状態情報やユーザの視聴情報統計データ等に基づいて得られる情報である。
(ステップS412〜S415)
ステップS412〜S415の処理は、サービスワーカー(SW)によるタイマーイベント検出時の処理である。
タイマーイベントは、例えば、アプリケーションの有効期限が切れた場合、更新期限がきた場合などに検出される。
タイマーイベントに応じた処理としては、例えばキャッシュリソースの削除、あるいは更新リソースや追加リソースの取得処理などがある。
このステップS412〜S415の処理に際しては、ステップS502において、APIを適用して得られた最適ファイル選択情報に応じたファイル削除または取得処理およびキャッシュ展開が実行される。
APIを適用して得られる最適ファイル選択情報は、例えば、アプリケーション実行環境の状態情報やユーザの視聴情報統計データ等に基づいて得られる情報である。
ステップS413は、タイマーイベントに応じたキャッシュリソースの削除処理のシーケンスである。
ステップS414〜S415は、タイマーイベントに応じた更新リソースや追加リソースの取得処理のシーケンスを示している。
なお、ステップS414では、先に図8〜図9を参照して説明したリソース送受信処理における図8〜9(A−1〜2)の各ステップのセグメントファイルに対する処理を、リソースに対する処理に置き換えた処理が実行される。
[11.送信装置と受信装置の構成例について]
次に、通信装置である送信装置(サーバ)20と、受信装置(クライアント)30の装置構成例について、図42、図43を参照して説明する。
図42には、送信装置(サーバ)20と、受信装置(クライアント)30の構成例を示している。
送信装置(サーバ)20は、データ処理部751、通信部752、記憶部753を有する。
受信装置(クライアント)30は、データ処理部771、通信部772、記憶部773、入力部774、出力部775を有する。
データ処理部には通信データ処理部771a、再生処理部771bが含まれる。
送信装置(サーバ)20のデータ処理部751は、データ配信サービスを実行するための各種のデータ処理を実行する。例えばデータ配信サービスの構成データの生成や送信制御を行う。さらに、データ処理部751は、受信装置(クライアント)30に提供するアプリケーション、サービスワーカー(SW)、その他の様々なデータや、シグナリングデータの生成、送信処理を行う。
通信部752は、AVセグメントの他、アプリケーション、サービスワーカー(SW)、その他の様々なデータ、シグナリングデータ等の配信等の通信処理を行う。
記憶部753は配信対象とするAVセグメント、アプリケーション、サービスワーカー(SW)、アプリケーションによって利用されるデータ、シグナリングデータなどが格納される。
さらに、記憶部753は、データ処理部751の実行するデータ処理のワークエリアとして利用され、また各種パラメータの記憶領域としても利用される。
一方、受信装置(クライアント)30は、データ処理部771、通信部772、記憶部773、入力部774、出力部775を有する。
通信部772は、送信装置(サーバ)20から配信されるデータ、例えばAVセグメントやアプリケーション、サービスワーカー(SW)、アプリケーションによって利用されるデータ、シグナリングデータ等を受信する。
データ処理部771は、通信データ処理部771a、再生処理部771bを有し、例えば先に説明した実施例に従った処理等を実行する。
具体的には、アプリケーションや、API、さらに、サービスワーカー(SW)を利用したデータ処理等を実行する。
ユーザの指示コマンド、例えばチャンネル選択、アプリケーション起動、インストール等の様々なコマンドは入力部774を介して入力される。
再生データは表示部やスピーカ等の出力部775に出力される。
記憶部773はAVセグメント、サービスワーカー(SW)、アプリケーション、アプリケーションによって利用されるデータ、シグナリングデータなどが格納される。
さらに、記憶部773は、データ処理部771の実行するデータ処理のワークエリアとして利用され、また各種パラメータの記憶領域としても利用される。
図43は、送信装置20、受信装置30として適用可能な通信装置のハードウェア構成例を示している。
CPU(Central Processing Unit)801は、ROM(Read Only Memory)802、または記憶部808に記憶されているプログラムに従って各種の処理を実行するデータ処理部として機能する。例えば、上述した実施例において説明したシーケンスに従った処理を実行する。RAM(Random Access Memory)803には、CPU801が実行するプログラムやデータなどが記憶される。これらのCPU801、ROM802、およびRAM803は、バス804により相互に接続されている。
CPU801はバス804を介して入出力インタフェース805に接続され、入出力インタフェース805には、各種スイッチ、キーボード、マウス、マイクロホンなどよりなる入力部806、ディスプレイ、スピーカなどよりなる出力部807が接続されている。CPU801は、入力部806から入力される指令に対応して各種の処理を実行し、処理結果を例えば出力部807に出力する。
入出力インタフェース805に接続されている記憶部808は、例えばハードディスク等からなり、CPU801が実行するプログラムや各種のデータを記憶する。通信部809は、インターネットやローカルエリアネットワークなどのネットワークを介したデータ通信の送受信部、さらに放送波の送受信部として機能し、外部の装置と通信する。
入出力インタフェース805に接続されているドライブ810は、磁気ディスク、光ディスク、光磁気ディスク、あるいはメモリカード等の半導体メモリなどのリムーバブルメディア811を駆動し、データの記録あるいは読み取りを実行する。
なお、データの符号化あるいは復号は、データ処理部としてのCPU801の処理として実行可能であるが、符号化処理あるいは復号処理を実行するための専用ハードウェアとしてのコーデックを備えた構成としてもよい。
[12.本開示の構成のまとめ]
以上、特定の実施例を参照しながら、本開示の実施例について詳解してきた。しかしながら、本開示の要旨を逸脱しない範囲で当業者が実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本開示の要旨を判断するためには、特許請求の範囲の欄を参酌すべきである。
なお、本明細書において開示した技術は、以下のような構成をとることができる。
(1) 受信装置において利用されるデータ管理プログラムであり、異なるデータ管理タイプを持つ複数のクラス対応のサービスワーカ(SW)から、特定クラスのサービスワーカー(SW)を選択取得して利用するデータ処理部を有する受信装置。
(2) 前記データ処理部は、
受信装置におけるデータ処理状況に応じて特定クラスのサービスワーカー(SW)を選択取得する(1)に記載の受信装置。
(3) 前記データ処理状況は、受信装置におけるアプリケーションまたはデータの利用状況である(2)に記載の受信装置。
(4) 前記サービスワーカー(SW)は、管理対象データとしてアプリケーション、または画像、または音声、少なくともいずれかのデータファイルを含む(1)〜(3)いずれかに記載の受信装置。
(5) 前記データ処理部は、
送信装置の送信するメタデータであるシグナリングデータから、特定クラスのサービスワーカー(SW)のアクセス情報を取得し、取得したアクセス情報を利用して、サービスワーカー(SW)を取得する(1)〜(4)いずれかに記載の受信装置。
(6) 前記シグナリングデータには、特定クラスのサービスワーカー(SW)のアクセス情報を効率的に検索するための検索補助情報であるトークンが記録され、
前記データ処理部は、
トークンを利用したアクセス情報検索処理を実行する(5)に記載の受信装置。
(7) 前記トークンは、
特定クラスのサービスワーカー(SW)のアクセス情報の検索範囲を限定可能としたサービスワーカー(SW)検索スコープトークンである(6)に記載の受信装置。
(8) 前記トークンは、特定クラスのサービスワーカー(SW)のアクセス情報が記録されていることを示すサービスワーカー(SW)クラス指定トークンである(6)に記載の受信装置。
(9) 前記シグナリングデータは、
(a)ユーザ提示を目的としたサービスまたはコンテンツの属性情報を記述するサービスレイヤ、
(b)ファイル転送パラメータを記述したファイル転送セッションレイヤ、
(c)FLUTE(ROUTE)プロトコル対応のパラメータを記述したFLUTE(ROUTE)パラメータレイヤ、
上記(a)〜(c)のレイヤを有し、
少なくとも(a)〜(c)いずれかのレイヤにトークンが記録された構成である(6)〜(8)いずれかに記載の受信装置。
(10) 前記データ処理部は、前記サービスレイヤ、または、前記ファイル転送セッションレイヤ、または、前記FLUTE(ROUTE)パラメータレイヤに記録されたトークンを取得する(9)に記載の受信装置。
(11) 前記受信装置のデータ処理部において実行されるアプリケーションは、受信データの処理を実行するミドルウェアに対して、前記トークンを検出するためのトークン情報の設定要求を実行し、
前記ミドルウェアは、トークン情報設定要求に応じて設定したトークン情報に基づいて、トークン検出を行う(1)〜(10)いずれかに記載の受信装置。
(12) 前記受信装置のデータ処理部において実行されるデータ管理プログラムであるサービスワーカー(SW)は、受信データの処理を実行するミドルウェアに対して、前記トークンを検出するためのトークン情報の設定要求を実行し、
前記ミドルウェアは、トークン情報設定要求に応じて設定したトークン情報に基づいて、トークン検出を行う(1)〜(11)いずれかに記載の受信装置。
(13) 前記トークンは、
特定のサービスワーカー(SW)の管理対象となるデータに対応するアクセス情報の検索処理を効率化するための情報であり、
前記データ処理部は、
前記サービスワーカー(SW)の更新に応じて、前記ミドルウェアに対して、新たなトークン情報の設定要求を行う(12)に記載の受信装置。
(14) 受信装置において利用されるデータ管理プログラムであり、異なるデータ管理タイプを持つ複数のクラス対応のサービスワーカ(SW)を送信する送信装置。
(15) 前記送信装置は、
受信装置において、特定クラスのサービスワーカー(SW)のアクセス情報を効率的に検索するための検索補助情報であるトークンを記録したメタデータであるシグナリングデータを送信する(14)に記載の送信装置。
(16) 前記トークンは、
特定クラスのサービスワーカー(SW)のアクセス情報の検索範囲を限定可能としたサービスワーカー(SW)検索スコープトークン、または、
特定クラスのサービスワーカー(SW)のアクセス情報が記録されていることを示すサービスワーカー(SW)クラス指定トークンである(15)に記載の送信装置。
(17) 受信装置において実行するデータ処理方法であり、
前記受信装置のデータ処理部が、受信装置において利用されるデータ管理プログラムであり、異なるデータ管理タイプを持つ複数のクラス対応のサービスワーカ(SW)から、特定クラスのサービスワーカー(SW)を選択取得して利用するデータ処理方法。
(18) 送信装置において実行するデータ処理方法であり、
受信装置において利用されるデータ管理プログラムであり、異なるデータ管理タイプを持つ複数のクラス対応のサービスワーカ(SW)を送信するデータ処理方法。
また、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。例えば、プログラムは記録媒体に予め記録しておくことができる。記録媒体からコンピュータにインストールする他、LAN(Local Area Network)、インターネットといったネットワークを介してプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
以上、説明したように、本開示の一実施例の構成によれば、各々の受信装置に最適化したデータ管理を実行するサービスワーカー(SW)の選択取得および利用処理を可能とする装置、方法が実現される。
具体的には、例えば、受信装置において利用されるデータ管理プログラムであり、異なるデータ管理タイプを持つ複数のクラス対応のサービスワーカ(SW)から、特定クラスのSWを選択取得して利用可能とした。例えば、受信装置におけるアプリケーション利用状況に応じて選択されるクラス対応のSWの利用を実現する。受信装置は、特定クラスのSWのアクセス情報を効率的に検索可能とするためのトークンを記録したシグナリングデータを利用して特定クラスのSWのアクセス情報を取得してSWを取得する。
本構成により、各々の受信装置に最適化したデータ管理を実行するサービスワーカー(SW)の選択取得および利用処理を可能とする装置、方法が実現される。
10 通信システム
20 送信装置
21 放送サーバ
22 データ配信サーバ
30 受信装置
31 TV
32 PC
33 携帯端末
50 シグナリングデータ
60 AVセグメント
70 その他のデータ
110 ミドルウェア
111 通信部(PHY/MAC)
112 シグナリング取得部
113 シグナリング解析部
114 ファイル取得部
120 HTTPプロキシサーバ
121,122 キャッシュ部
123 アドレス解決部
130 出力制御部
131 表示データ(HTML/JavaScript(登録商標)等)取得&解析部
132 表示処理部(Renderer)
133 記憶部(永続キャッシュ)
140 外部装置
141 出力制御部
142 記憶部(永続キャッシュ)
751 データ処理部
752 通信部
753 記憶部
771 データ処理部
772 通信部
773 記憶部
774 入力部
775 出力部
801 CPU
802 ROM
803 RAM
804 バス
805 入出力インタフェース
806 入力部
807 出力部
808 記憶部
809 通信部
810 ドライブ
811 リムーバブルメディア

Claims (18)

  1. 受信装置において利用されるデータ管理プログラムであり、異なるデータ管理タイプを持つ複数のクラス対応のサービスワーカ(SW)から、特定クラスのサービスワーカー(SW)を選択取得して利用するデータ処理部を有する受信装置。
  2. 前記データ処理部は、
    受信装置におけるデータ処理状況に応じて特定クラスのサービスワーカー(SW)を選択取得する請求項1に記載の受信装置。
  3. 前記データ処理状況は、受信装置におけるアプリケーションまたはデータの利用状況である請求項2に記載の受信装置。
  4. 前記サービスワーカー(SW)は、管理対象データとしてアプリケーション、または画像、または音声、少なくともいずれかのデータファイルを含む請求項1に記載の受信装置。
  5. 前記データ処理部は、
    送信装置の送信するメタデータであるシグナリングデータから、特定クラスのサービスワーカー(SW)のアクセス情報を取得し、取得したアクセス情報を利用して、サービスワーカー(SW)を取得する請求項1に記載の受信装置。
  6. 前記シグナリングデータには、特定クラスのサービスワーカー(SW)のアクセス情報を効率的に検索するための検索補助情報であるトークンが記録され、
    前記データ処理部は、
    トークンを利用したアクセス情報検索処理を実行する請求項5に記載の受信装置。
  7. 前記トークンは、
    特定クラスのサービスワーカー(SW)のアクセス情報の検索範囲を限定可能としたサービスワーカー(SW)検索スコープトークンである請求項6に記載の受信装置。
  8. 前記トークンは、特定クラスのサービスワーカー(SW)のアクセス情報が記録されていることを示すサービスワーカー(SW)クラス指定トークンである請求項6に記載の受信装置。
  9. 前記シグナリングデータは、
    (a)ユーザ提示を目的としたサービスまたはコンテンツの属性情報を記述するサービスレイヤ、
    (b)ファイル転送パラメータを記述したファイル転送セッションレイヤ、
    (c)FLUTE(ROUTE)プロトコル対応のパラメータを記述したFLUTE(ROUTE)パラメータレイヤ、
    上記(a)〜(c)のレイヤを有し、
    少なくとも(a)〜(c)いずれかのレイヤにトークンが記録された構成である請求項6に記載の受信装置。
  10. 前記データ処理部は、前記サービスレイヤ、または、前記ファイル転送セッションレイヤ、または、前記FLUTE(ROUTE)パラメータレイヤに記録されたトークンを取得する請求項9に記載の受信装置。
  11. 前記受信装置のデータ処理部において実行されるアプリケーションは、受信データの処理を実行するミドルウェアに対して、前記トークンを検出するためのトークン情報の設定要求を実行し、
    前記ミドルウェアは、トークン情報設定要求に応じて設定したトークン情報に基づいて、トークン検出を行う請求項1に記載の受信装置。
  12. 前記受信装置のデータ処理部において実行されるデータ管理プログラムであるサービスワーカー(SW)は、受信データの処理を実行するミドルウェアに対して、前記トークンを検出するためのトークン情報の設定要求を実行し、
    前記ミドルウェアは、トークン情報設定要求に応じて設定したトークン情報に基づいて、トークン検出を行う請求項1に記載の受信装置。
  13. 前記トークンは、
    特定のサービスワーカー(SW)の管理対象となるデータに対応するアクセス情報の検索処理を効率化するための情報であり、
    前記データ処理部は、
    前記サービスワーカー(SW)の更新に応じて、前記ミドルウェアに対して、新たなトークン情報の設定要求を行う請求項12に記載の受信装置。
  14. 受信装置において利用されるデータ管理プログラムであり、異なるデータ管理タイプを持つ複数のクラス対応のサービスワーカ(SW)を送信する送信装置。
  15. 前記送信装置は、
    受信装置において、特定クラスのサービスワーカー(SW)のアクセス情報を効率的に検索するための検索補助情報であるトークンを記録したメタデータであるシグナリングデータを送信する請求項14に記載の送信装置。
  16. 前記トークンは、
    特定クラスのサービスワーカー(SW)のアクセス情報の検索範囲を限定可能としたサービスワーカー(SW)検索スコープトークン、または、
    特定クラスのサービスワーカー(SW)のアクセス情報が記録されていることを示すサービスワーカー(SW)クラス指定トークンである請求項15に記載の送信装置。
  17. 受信装置において実行するデータ処理方法であり、
    前記受信装置のデータ処理部が、受信装置において利用されるデータ管理プログラムであり、異なるデータ管理タイプを持つ複数のクラス対応のサービスワーカ(SW)から、特定クラスのサービスワーカー(SW)を選択取得して利用するデータ処理方法。
  18. 送信装置において実行するデータ処理方法であり、
    受信装置において利用されるデータ管理プログラムであり、異なるデータ管理タイプを持つ複数のクラス対応のサービスワーカ(SW)を送信するデータ処理方法。
JP2016556516A 2014-10-28 2015-10-21 受信装置、送信装置、およびデータ処理方法 Expired - Fee Related JP6583281B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2014219659 2014-10-28
JP2014219659 2014-10-28
PCT/JP2015/079645 WO2016067988A1 (ja) 2014-10-28 2015-10-21 受信装置、送信装置、およびデータ処理方法

Publications (2)

Publication Number Publication Date
JPWO2016067988A1 true JPWO2016067988A1 (ja) 2017-08-03
JP6583281B2 JP6583281B2 (ja) 2019-10-02

Family

ID=55857329

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016556516A Expired - Fee Related JP6583281B2 (ja) 2014-10-28 2015-10-21 受信装置、送信装置、およびデータ処理方法

Country Status (8)

Country Link
US (1) US10880024B2 (ja)
EP (1) EP3214844A4 (ja)
JP (1) JP6583281B2 (ja)
KR (1) KR102460099B1 (ja)
CN (1) CN107113471A (ja)
CA (1) CA2964719C (ja)
MX (1) MX2017005212A (ja)
WO (1) WO2016067988A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180007307A1 (en) * 2016-07-02 2018-01-04 Qualcomm Incorporated Distributed Implementation Architecture for Broadcast Receiver
CN108287737B (zh) * 2017-07-13 2021-08-17 阿里巴巴(中国)有限公司 Service Worker启动方法、装置及电子设备
CN109688179B (zh) * 2017-10-19 2021-06-22 华为技术有限公司 通信方法和通信装置
US11064039B2 (en) 2018-11-14 2021-07-13 Citrix Systems, Inc. Systems and methods for push notification service for SaaS applications
CN111417130B (zh) * 2019-01-07 2022-04-08 中国移动通信有限公司研究院 一种数据处理方法及设备
CA3138984A1 (en) 2019-05-10 2020-11-19 Jt International S.A. Configuring a personal computing device for communication with an aerosol generation device
ES2895027T3 (es) 2019-05-10 2022-02-17 Jt Int Sa Configuración de un dispositivo informático personal para la comunicación con un dispositivo de generación de aerosol
US11422829B1 (en) 2021-11-17 2022-08-23 Morgan Stanley Services Group Inc. Systems and methods for resilient service worker bridge

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4446286C1 (de) 1994-12-23 1996-06-20 Siemens Ag Responsives System zur Signalverarbeitung sowie Verfahren zur Herstellung eines responsiven Systems
JP4261895B2 (ja) * 2002-12-13 2009-04-30 キヤノン株式会社 デジタル放送受信機及びデジタル放送受信機の制御方法
CN101433089B (zh) * 2006-09-13 2011-11-23 Kddi株式会社 广播内容传输装置和广播内容传输方法
EP2146528A1 (en) 2008-07-15 2010-01-20 Gemplus Method for accessing a service offered from a token, corresponding token and system
KR101635889B1 (ko) * 2008-11-18 2016-07-05 엘지전자 주식회사 비실시간 서비스 처리 방법 및 방송 수신기
CN102053984A (zh) 2009-11-10 2011-05-11 杜卓 信息检索查询与信息发布的系统及方法
CN103222248B (zh) * 2010-09-28 2016-02-03 英国电讯有限公司 多类别数据传输的方法和装置
TWI545955B (zh) * 2011-04-28 2016-08-11 Sony Corp Signal receiving apparatus and method, a signal transmission apparatus and method, and program
US9151630B2 (en) 2011-07-05 2015-10-06 Aisin Aw Co., Ltd. Evaluation indication system, evaluation indication method and computer-readable storage medium
CA2844605C (en) * 2011-08-10 2016-10-25 Lg Electronics Inc. Method for transmitting broadcast service, method for receiving broadcast service, and apparatus for receiving broadcast service
JP6348251B2 (ja) 2012-09-13 2018-06-27 サターン ライセンシング エルエルシーSaturn Licensing LLC 端末装置、受信方法、およびプログラム
US9264648B2 (en) * 2012-10-09 2016-02-16 Sony Corporation Receiving device, receiving method, transmitting device, and transmitting method
CN104871552B (zh) * 2012-11-28 2018-05-01 Lg电子株式会社 处理交互服务的设备和方法
WO2016018077A1 (ko) * 2014-07-30 2016-02-04 엘지전자 주식회사 방송 전송 장치, 방송 수신 장치, 방송 전송 장치의 동작 방법 및 방송 수신 장치의 동작 방법
KR101973469B1 (ko) * 2014-09-02 2019-04-29 엘지전자 주식회사 방송 수신 장치, 방송 수신 장치의 동작 방법, 방송 수신 장치와 연동하는 연동 장치 및 연동 장치의 동작 방법
EP3206392A4 (en) * 2014-10-12 2018-04-04 LG Electronics Inc. Device for transmitting broadcast signal, device for receiving broadcast signal, method for transmitting broadcast signal, and method for receiving broadcast signal
WO2016060410A1 (ko) * 2014-10-14 2016-04-21 엘지전자 주식회사 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
JP5880678B2 (ja) 2014-12-25 2016-03-09 株式会社三洋物産 遊技機
US20170209867A1 (en) * 2016-01-27 2017-07-27 Size Reduction Specialists Corp. Plastic granulator stationary cutting segment

Also Published As

Publication number Publication date
JP6583281B2 (ja) 2019-10-02
MX2017005212A (es) 2017-07-27
WO2016067988A1 (ja) 2016-05-06
EP3214844A4 (en) 2018-05-30
US10880024B2 (en) 2020-12-29
KR102460099B1 (ko) 2022-10-31
KR20170074874A (ko) 2017-06-30
EP3214844A1 (en) 2017-09-06
CA2964719A1 (en) 2016-05-06
CN107113471A (zh) 2017-08-29
US20170317773A1 (en) 2017-11-02
CA2964719C (en) 2023-03-07

Similar Documents

Publication Publication Date Title
JP6583281B2 (ja) 受信装置、送信装置、およびデータ処理方法
JP6614154B2 (ja) 受信装置、送信装置、およびデータ処理方法
CN107615774B (zh) 接收装置、发送装置及数据处理方法
JP6589879B2 (ja) 受信装置、送信装置、およびデータ処理方法
CA2964712C (en) Reception device, transmission device, and data processing method
KR102611253B1 (ko) 수신 장치, 송신 장치 및 데이터 처리 방법

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181019

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181019

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190514

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190709

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190806

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190819

R151 Written notification of patent or utility model registration

Ref document number: 6583281

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees