汎用プラグアンドプレイ(universal plug and play;以下、‘UPnP’という)技術とディジタルリビングネットワークアライアンス(digital living network alliance;以下、‘DLNA’という)技術は、多様な製造業体の家電デバイス間のサービスと制御を可能にする。特に、UPnP技術は視聴覚(audio-visual;AV)デバイス間の互換可能なAVサービスと制御を可能にする。この互換可能なAVサービスには、メディアストリーミング、アップローディング、ダウンローディングなどがある。
ホームネットワーキングのために提案されたUPnP基盤のネットワークは、論理的に多数のUPnPデバイス(device)、サービス(service)、及び制御ポイント(CP:Control Point)を基本に構成される。UPnPネットワークにおけるサービス(service)とは、ネットワーク上の最も小さな小規模制御単位を意味するが、状態変数を通じてモデリングされる。
UPnP基盤のネットワークにおける制御ポイント(Control Point)とは、他のデバイス及び/又はサービスを感知し制御する機能を備えた制御アプリケーション(application)を意味し、任意のデバイス、例えばユーザが取り扱いやすいモバイルデバイスのような物理的なデバイスで運用できる。
UPnP基盤のAVホームネットワークは、ホームネットワークにメディアデータを提供するメディアサーバー(MS:Media Server)、ホームネットワークを介してメディアデータを再生するメディアレンダラー(MR:Media Renderer)、及び前記メディアサーバーとメディアレンダラーを制御するAV制御ポイント(CP:Control Point)を含んで構成される。前記メディアサーバーとメディアレンダラーは、前記制御ポイントにより制御される被制御(controlled)デバイスである。
前記メディアサーバー(正確にはメディアサーバー内のCDS(Content Directory Service))は、自身に収録されているメディアファイルとコンテナ(ディレクトリに該当)の情報を各オブジェクト(object)情報として予め構築しておく。‘オブジェクト’は1つ以上のメディアファイル、例えば停止映像(picture)、動映像、またはオーディオファイルに対する情報を有するアイテム(item)及び、ディレクトリに対する情報を有するコンテナ(container)を包括して称する用語であり、場合によって、オブジェクトの用語は適切に‘アイテム’または‘コンテナ’を称する用途として使用できる。
そして、1つのアイテムは1つまたは多数のメディアファイルに対応する。例えば、それぞれ異なるビットレートの同一内容のコンテンツを有する多数のメディアファイルは1つのアイテムに管理できる。
オブジェクトの情報は‘メタデータ’とも呼称され、このメタデータには、関連されたコンテンツに対する各種の情報が記載される。例えば、コンテンツに対応するオブジェクトに割り当てられたID、そのオブジェクトが属するコンテナに対する識別情報、タイトル、そのオブジェクトがアイテムかコンテナかに対する情報及びメディアの類型、関連したコンテンツ(例えば、メディアファイル)を獲得できるプロトコル及びアクセス位置情報などがメタデータに記載される。そして、このようなメタデータはマークアップ(mark-up)言語形態に作成され、関連したメディアファイルなどが格納されているストレージとは関わらず、前記CDSが管理するストレージに格納される。勿論、移動性記録媒体に格納されて前記CDSに提供されることもできる。このように作成されているコンテンツに対するメタデータは、前記制御ポイントが呼び出すアクションに従って提供され、また前記制御ポイントを媒介にしてメタデータの全部または一部が前記メディアレンダラーに提供されることもできる。
本発明において、UPnPはこのような装置を制御ポイント(control point:CP)装置と制御ターゲット装置に分類できる。ディジタルメディアコントローラ(DMC)、ディジタルメディアプレーヤー(DMP)は制御ポイント装置に分類され、ディジタルメディアレンダラー(DMR)、ディジタルメディアサーバー(DMS)、ディジタルメディアプリンタ(DMPr)は、制御ターゲット装置に分類できる。
また、UPnPの制御ポイント(CP)装置またはDLNAのディジタルメディアプレーヤー(DMP)、ディジタルメディアコントローラ(DMC)がUPnPの制御ターゲット装置またはDLNAのディジタルメディアサーバー(DMS)にコンテンツメタデータを要求すれば、制御ターゲット装置またはディジタルメディアサーバー(DMS)は格納されたコンテンツの各々に対応する複数のコンテンツメタデータを収集して(生成したコンテンツリストを)制御ポイント(CP)装置またはディジタルメディアプレーヤー(CMP)、ディジタルメディアコントローラ(DMC)に転送することができる。
一方、DLNAはホームネットワーク装置として、ディジタルメディアサーバー(digital media server:DMS)、ディジタルメディアプレーヤー(digital media player:DMP)、ディジタルメディアレンダラー(digital media renderer:DMR)、ディジタルメディアコントローラ(digital media controller:DMC)、及びディジタルメディアプリンタ(digital media printer:DMPr)を規定し、モバイル携帯装置として、モバイルディジタルメディアサーバー(mobile digital media server:M−DMS)、モバイルディジタルメディアプレーヤー(mobile digital media player:M−DMP)、モバイルディジタルメディアアップローダー(mobile digital media uploader:M−DMU)、モバイルディジタルメディアダウンローダー(mobile digital media downloader:M−DMD)、及びモバイルディジタルメディアコントローラ(mobile digital media controller:M−DMC)を規定することができる。以下、ディジタルメディアサーバー(DMS)はM−DMSをカバーする概念として使用し、ディジタルメディアプレーヤー(DMP)はM−DMPをカバーする概念として使用し、ディジタルメディアコントローラ(DMC)はM−DMCをカバーする概念として使用できる。
また、DLNAは2ボックスモデル(2 Box Model)と3ボックスモデル(3 Box Model)として定義できる。2ボックスモデルはディジタルメディアプレーヤー(DMP)とディジタルメディアサーバー(DMS)を含む。2ボックスモデルでディジタルメディアプレーヤー(DMP)はユーザがディジタルメディアサーバー(DMS)によりブラウジングされ(browsed)配布される(distributed)コンテンツを探して再生できるようにする。3ボックスモデルはディジタルメディアコントローラ(DMC)、ディジタルメディアサーバー(DMS)、ディジタルメディアレンダラー(DMR)を含む。3ボックスモデルで、ディジタルメディアコントローラ(DMC)はユーザがディジタルメディアレンダラー(DMR)で再生されるディジタルメディアサーバー(DMS)のコンテンツを探すことができるようにする。
本発明では、デバイス間通信(communication)時、メッセージ(message)、命令語(command)、コール(call)、アクション(action)、あるいは要求/応答(request/response)を交換すると表現することができる。
本発明では、デバイス間通信(communication)時に使われるメッセージ(message)を所望の対象デバイスに安定的に伝達するために、IP(Internet Protocol)だけでなく、ICMP(Internet Control Message Protocol)、IGMP(Internet Group Management Protocol)などの多様なプロトコルを適用することができ、特定プロトコルに限定して適用しない。
本発明では、デバイス間の通信時に使われるメッセージ(message)を安定的に伝達し、メッセージフロー(message flow)を制御し、複数のメッセージ(message)間の衝突や混雑(congestion)を解決し、マルチプレキシング(multiplexing)をサポートするために、TCP(Transmission Control Protocol)、UDP(User Datagram Protocol)だけでなく、DCCP(Datagram Congestion Control Protocol)、SCTP(Stream Control Transmission Protocol)などの多様なプロトコルを適用することができ、特定プロトコルに限定して適用するものではない。
本発明では、デバイス間の通信時に使われるメッセージ(message)に多様な情報を入れて多様な目的で伝達するために、HTTP(Hypertext Transfer Protocol)、RTP(Real-time Transport Protocol)、XMPP(Extensible Messaging and Presence Protocol)、FTP(File Transfer Protocol)などの多様なプロトコルを適用することができ、特定プロトコルに限定して適用するものではない。
本発明では、デバイス間の通信時に使われるメッセージを上記の多様なプロトコルを通じて伝達する時、各プロトコルで定義するメッセージコンポーネント(components)のうち、メッセージヘッダ(message header)、メッセージボディー(message body)など、多様なメッセージコンポーネントに所望のメッセージデータを入れて伝達することができ、特定メッセージコンポーネントに限定されるものではない。
本発明では、デバイス間の通信時に使われるメッセージを上記の多様なプロトコルを通じて伝達する時、伝達するデータを各プロトコルで定義する多様なタイプに(string、integer、floating point、boolean、character、array、listなど)伝達することができる。複雑な内容のデータをより構造的に表現し、伝達し、格納するためにXML(Extensible Markup Language)、HTML(Hypertext Markup Language)、XHTML(Extensible Hypertext Markup Language)、JSON(JavaScript Object Notation)などのマークアップ(Markup)方式、あるいはテキスト(text)、イメージフォーマット(image format)などを適用することができ、特定方式に限定されるものではない。
本発明では、デバイス間の通信時に使われるメッセージに含まれるデータを、“gzip”(RFC 1952)、“deflate”(RFC 1950)、“compress”(RFC 2616)などの多様なデータ圧縮機術を適用して伝達することができ、特定方式に限定されるものではない。
本発明の実施形態で適用されたデバイス間の通信の1つ方案であるUPnP方式は、前記多様な技術のうち、IP−TCP/UDP−HTTPのプロトコルが組み合わせられたデバイス間の通信プロトコルである。
本発明で提案する全てのUPnPアクションは、前記多様なレイヤ(layer)の技術の多様な形態の組み合わせを通じて適用されることができ、本発明で提案する全ての内容はUPnP方式に限定されるものではない。即ち、本明細書ではネットワークを構成する1つの実施形態としてUPnP方式を基準に説明するが、本発明はこれに限定されず、前述した他の方式の技術に対しても適用可能である。
図1は本発明が適用される実施形態であって、IP基盤の次世代ハイブリッド放送システムの受信機構造を示す。
本発明で適用されるIP基盤の次世代ハイブリッド放送システムで提供される放送サービスは、サービス要素(service elements)で構成できる。例えば、前記サービス要素(service elements)は、連続要素(continuous component)、基礎要素(elementary component)、複合要素(composite component)、表現要素(presentable component)、ノンリアルタイムファイル(non-realtime file)、ノンリアルタイムコンテンツ、アプリケーション要素、ATSC 3.0アプリケーション要素などを含むことができる。
前記連続要素は連続したストリーム内に存在する、オーディオ、ビデオ、またはキャプションのようなコンテンツ要素を示すことができる。基礎要素は、単一エンコーディングである連続要素、例えばサウンドシーケンスの単一エンコーディング、ピクチュアシーケンスの単一エンコーディングを示すことができる。前記複合要素は、前記連続要素の集合体を示すことができる。
前記表現要素(presentable component)は、ユーザに見られる要素を示し、前記ノンリアルタイムファイル(non-realtime file)はノンリアルタイムに伝達されるファイルを示し、ノンリアルタイムコンテンツは1つ以上のノンリアルタイムファイルの集合体からなるコンテンツを示す。
前記アプリケーション要素は両方向サービスまたはマルチスクリーンサービスを構成する文書の集合体を示すことができ、例えば前記文書はHTML、Javascript、CSS、XML、及びマルチメディアファイルを含むことができる。
前記ATSC 3.0アプリケーション要素は、ATSC 3.0アプリケーション実行環境に適合したアプリケーションを示す。例えば、本発明で適用されるアプリケーションは前記ATSC 3.0アプリケーション要素でありうる。
本発明で適用される放送サービスは、線型サービス(linear service)またはアプリ基盤サービス(App-based service)でありうる。ここで、前記線型サービスは放送スケジュールによって消費される連続要素で構成されたコンテンツを含むことができる。例えば、前記線型サービスは1つ以上の連続要素、要素同期化のための時間ベース(time base)、アプリ基盤向上要素のうち、少なくとも1つを含むことができる。
前記アプリ基盤サービス(App-based service)は、ユーザインターフェースとサービス機能を提供するアプリケーションに基づいたノンリアルタイムサービスを示す。前記アプリ基盤サービス(App-based service)は、1つ以上のアプリ基盤向上要素を含むことができ、前記アプリ基盤向上要素は1つ以上のアプリケーション、ノンリアルタイムコンテンツ、オンディマンド(On-demand)要素のうち、少なくとも1つを含むことができる。
前記図1を説明すると、本発明が適用されるIP基盤の次世代ハイブリッド放送システムの受信機は物理階層コントローラ(Physical Layer Controller)101、チューナー(Tuner)103、物理フレームパーサ(Physical Frame Parser)105、リンク階層フレームパーサ(Link Layer Frame Parser)107、IP/UDPデータグラムフィルター(IP/UDP Datagram Filter)109、ATSC 3.0 DTV制御エンジン(ATSC 3.0 DTV Control Engine)111、応用階層転送クライアント(Application Layer Transport Client)113、タイミング制御部(Timing Control Unit)115、シグナルリングパーサ(Signaling Parser)117、DASHクライアント(DASH Client)119、ISO基盤メディアファイルフォーマットパーサ(ISO BMFF Parser)121、メディアデコーダ(Media Decoder)123、HTTPアクセスクライアント(HTTP Access Client)125、及びHTTPサーバー(HTTP Server)127を含んで構成できる。
前記物理階層コントローラ(Physical Layer Controller)101は受信しようとする放送チャンネルのRF情報などを用いてチューナー(Tuner)、物理フレームパーサ(Physical Frame Parser)などの動作を制御することができる。
前記チューナー(Tuner)103は地上波放送チャンネルを介して放送関連信号を受信及び処理し、これを適切な形態、例えば物理フレーム(Physical Frame)などに変換することができる。この際、前記放送関連信号はメディアコンテンツだけでなく、デバイス間の両方向サービスを提供するためのアプリケーション情報を含むことができる。
前記物理フレームパーサ(Physical Frame Parser)105は、受信された物理フレーム(Physical Frame)をパッシングし、これと関連したプロセシングを通じてリンク階層フレーム(Link Layer Frame)などで獲得することができる。
前記リンク階層フレームパーサ(Link Layer Frame Parser)107は、リンク階層フレーム(Link Layer Frame)からリンク階層シグナリング(Link Layer signaling)などを獲得するか、またはIP/UDPデータグラム獲得と関連した演算を遂行することができる。
前記IP/UDPデータグラムフィルター(IP/UDP Datagram Filter)109は、受信されたIP/UDPデータグラムから特定IP/UDPデータグラムをフィルタリングすることができる。
前記ATSC 3.0 DTV制御エンジン(ATSC 3.0 DTV Control Engine)111は、各モジュール間のインターフェースを担当し、パラメータなどの伝達を通じて各モジュールの動作を制御することができる。本発明の多様な実施形態で説明されるアクションとアーギュメントは、前記ATSC 3.0 DTV制御エンジン(ATSC 3.0 DTV Control Engine)により制御できる。
前記応用階層転送クライアント(Application Layer Transport Client)113は、応用階層転送パケット(Application Layer Transport Packet)を処理することができる。ここで、前記応用階層転送パケット(Application Layer Transport Packet)は、リアルタイムオブジェクト転送をサポートする転送プロトコルパケットを意味し、例えば、単方向リアルタイムオブジェクト転送(Real-Time Object Delivery over Unidirectional Transport:ROUTE)、MPEGメディア転送(MPEG Media transport:MMT)などのパケットがありえる。そして、多数のパケットの収集及び処理などを通じて1つ以上のISO基盤メディアファイルフォーマット(ISO Base Media File Format)オブジェクトを生成することができる。
前記タイミング制御部(Timing Control Unit)115は、システムタイム情報を含むパケットを処理し、これによって、システムタイムなどを制御することができる。
前記シグナリングパーサ(Signaling Parser)117はDTV放送サービス関連シグナリングを獲得及びパッシングし、これに基づいてチャンネルマップなどを生成及び管理することができる。
前記DASHクライアント(DASH Client)119は、リアルタイムストリーミングあるいは適応的ストリーミング関連演算及び獲得されたDASHセグメント(DASH Segment)などに対する処理を遂行することができる。
前記ISO基盤メディアファイルフォーマットパーサ(ISO BMFF Parser)121は、ISO基盤メディアファイルフォーマット(ISO Base Media File Format)オブジェクトからオーディオ、ビデオデータ、及び関連パラメータなどを抽出することができる。
前記メディアデコーダ(Media Decoder)123は、受信されたオーディオ及びビデオデータに対してデコーディング及びプレゼンテーションを遂行することができる。
前記HTTPアクセスクライアント(HTTP Access Client)125は、HTTPサーバーに特定情報を要求するか、またはHTTPサーバーからの受信した前記要求に対する応答を処理することができる。
前記HTTPサーバー(HTTP Server)127は、HTTPアクセスクライアントから伝達を受けた要求を処理するか、またはそれに対する応答を提供することができる。
図2は本発明が適用される実施形態であって、IP基盤の次世代ハイブリッド放送システムのプロトコルスタックを示す。
前記図2に示すように、IP基盤ハイブリッド放送をサポートする次世代放送システムの送信側で放送サービスのオーディオあるいはビデオデータなどはISO基盤メディアファイルフォーマット(ISO Base Media File Format)形態にカプセル化(encapsulation)することができる。これは、DASHセグメント(DASH Segment)あるいはMPEGメディア転送(MPEG Media transport:MMT)のMPU(Media processing unit)などの形態に従うことができる。そして、これを放送網とインターネットに同一に、あるいは各伝送網の属性によって互いに異なるように転送することができる。
放送網の場合、ISO基盤メディアファイル(ISO Base Media File:ISO BMFF)形態にカプセル化(encapsulation)されたデータをリアルタイムオブジェクト転送をサポートする応用階層転送(application layer transport)プロトコルパケット、例えば単方向リアルタイムオブジェクト転送(Real-Time Object Delivery over Unidirectional Transport:ROUTE)、MPEGメディア転送(MPEG Media transport:MMT)などのパケットでカプセル化(encapsulation)する。そして、これをまたIP/UDPデータグラムで生成後、これを放送信号に乗せて転送することができる。
インターネット網の場合、これをDASHなどストリーミング技法などに基づいて受信側に伝達することができる。併せて、放送サービスのシグナリングは次のような方法により転送できる。
放送網の場合、シグナリングの属性などによって次世代放送転送システム及び放送網の物理階層(physical layer)に伝達される転送フレーム(transport frame)の特定データパイプ(data pipe:DP)などを通じて転送できる。この際、シグナリング形態はビットストリームあるいはIP/UDPデータグラムでカプセル化(encapsulation)された形態でありうる。
インターネット網の場合、受信機の要求に対する応答としてシグナリングデータをリターンして伝達することができる。
放送サービスのESGあるいはNRTコンテンツなどは、次のような方法により転送できる。
放送網の場合、応用階層転送(application layer transport)プロトコルパケット、例えば、単方向リアルタイムオブジェクト転送(Real-Time Object Delivery over Unidirectional Transport:ROUTE)、MPEGメディア転送(MPEG Media transport:MMT)などの転送パケットでカプセル化(encapsulation)する。そして、これをまたIP/UDPデータグラムで生成後、これを放送信号に乗せて転送することができる。
インターネットの場合、受信機の要求に対する応答としてESGあるいはNRTコンテンツなどをリターンして伝達することができる。
本発明の一実施形態に係る放送サービスは、視聴覚データ(Auido/Video:A/V)だけでなく、HTML5アプリケーション、両方向サービス、ACRサービス、セカンドスクリーン(second screen)サービス、個人化(personalization)サービスなどの付加サービスを提供することができる。
このような放送サービスは地上波、ケーブル衛星などの放送信号である物理階層(physical layer)を通じて転送できる。また、本発明の一実施形態に係る放送サービスは、インターネット通信網(broadband)を介して転送できる。
放送サービスが地上波、ケーブル衛星などの放送信号である物理階層(physical layer)を通じて転送される場合、放送受信装置は高速情報チャンネルとカプセル化(encapsulation)されたIPデータグラムを放送信号をデモジュレーションして抽出することができる。放送受信装置はIPデータグラムからユーザデータグラムプロトコル(User Datagram Protocol:UDP)データグラムを抽出することができる。放送受信装置は、UDPデータグラムからシグナリング情報を抽出することができる。
放送受信装置は単方向リアルタイムオブジェクト転送(Real-Time Object Delivery over Unidirectional Transport:ROUTE)パケットを抽出することができる。この際、単方向リアルタイムオブジェクト転送(Real-Time Object Delivery over Unidirectional Transport:ROUTE)パケットは、ノンリアルタイム(Non-Real Time:NRT)データと電子サービスガイド(Electronic Service Gudie:ESG)データを含むことができる。また、放送受信装置はUDPデータグラムから応用階層転送(application layer transport)プロトコルパケットを抽出することができる。放送受信装置は、応用階層転送(application layer transport)プロトコルパケットからA/Vデータ及び付加データを抽出することができる。
放送サービスがインターネット通信網(broadband)を介して転送される場合、放送受信装置はインターネット通信網からIPパケットを受信することができる。放送受信装置は、IPパケットからTCPパケットを抽出することができる。放送受信装置は、TCPパケットからHTTPパケットを抽出することができる。放送受信装置は、HTTPパケットからA/V、付加データ、シグナリング情報などを抽出することができる。
図3は本発明が適用される実施形態であって、放送受信デバイスとコンパニオンデバイス(companion device)間のマルチスクリーンサービス(Multi-Screen Service)を提供するための基本アーキテクチャーを示す。
マルチスクリーンサービス(Multi-Screen Service)を提供するネットワークに多様なデバイスが連結されていると仮定する。ネットワーク上で連結されたデバイスは特定アプリケーションの役割及び/又は使用法によりメインデバイス(main device)とコンパニオンデバイス(companion device)に分類(categorize)されて説明できる。
まず、メインデバイス(main device)はコンパニオンデバイス(companion device)により制御されるデバイスを示す。例えば、前記メインデバイスはTV、セットトップボックス(set-top box)などのリーンバック(lean-back)ディスプレイデバイスを含むことができる。また、如何なるディスプレイデバイスも使用シナリオによって前記メインデバイスになることができ、例えば、スマートフォン、タブレットのようなデバイスも前記メインデバイスになることができる。
コンパニオンデバイス(companion device)はメインデバイス(main device)を制御するデバイスを示す。例えば、前記コンパニオンデバイスは、スマートフォン、タブレットなどのリーンフォワード(lean-forward)ディスプレイデバイスや小型ディスプレイデバイス(handheld display device)を含むことができる。また、如何なるディスプレイデバイスも使用シナリオによって前記メインデバイスになることができ、例えば、TV、セットトップボックス(set-top box)のようなデバイスも前記コンパニオンデバイスになることができる。
一方、スクリーンデバイス(screen device)とは、スクリーンコントロールポイント(screen control point)と共に遂行される、他のディスプレイデバイスに多様な両方向サービス(various interactive service)を提供するために用いられる要素(component)を意味することができる。前記スクリーンデバイスは前記スクリーンコントロールポイントにより制御され、前記スクリーンコントロールポイントと相互動作をするようにデザインできる。マルチスクリーンサービス(Multi-Screen Service)をサポートするためには、コンパニオンデバイスにより制御されるメインデバイス(例えば、TV、セットトップボックス(set-top box)などのリーンバック(lean-back)ディスプレイデバイス)で遂行されることが推奨される。延いては、拡張されたマルチスクリーンサービス(extended Multi-Screen Service)をサポートするためには、メインデバイスを制御するコンパニオンデバイス(例えば、スマートフォン、タブレットなどのリーンフォワード(lean-forward)ディスプレイデバイスや小型ディスプレイデバイス(handheld display device))でもまた遂行されることが推奨される。
スクリーンコントロールポイント(screen control point)とは、スクリーンデバイス(screen device)と共に遂行される、他のディスプレイデバイスに多様な両方向サービス(various interactive service)を提供するために用いられる要素(component)を示す。前記スクリーンコントロールポイントはユーザの入力により前記スクリーンデバイスを制御し、前記スクリーンデバイスと相互動作をするようにデザインできる。マルチスクリーンサービス(Multi-Screen Service)をサポートするためには、メインデバイスを制御するコンパニオンデバイス(例えば、スマートフォン、タブレットなどのリーンフォワード(lean-forward)ディスプレイデバイスや小型ディスプレイデバイス(handheld display device))で遂行されることが推奨される。延いては、拡張されたマルチスクリーンサービス(extended Multi-Screen Service)をサポートするためには、コンパニオンデバイスにより制御されるメインデバイス(例えば、TV、セットトップボックス(set-top box)などのリーンバック(lean-back)ディスプレイデバイス)でもまた遂行されることが推奨される。
前記図3を説明すると、ネットワーク上に連結された多様なデバイスのうちの2つのデバイス、例えば、メインデバイス(main device)310とコンパニオンデバイス(companion device)330に基づいて、両方向サービスを提供するための構造を示す。ここで、前記コンパニオンデバイス(companion device)330はスクリーンコントロールポイント(screen control point)340として動作されることができ、前記メインデバイス(main device)310はスクリーンデバイス(screen device)320として動作できる。
前記メインデバイス(main device)310は、ブロードキャスト及び/又はブロードバンドを通じて転送された放送信号を受信することができる。前記メインデバイス(main device)310は、前記放送信号から転送パケットを抽出し、前記転送パケットからプロトコルスタック350を通じてメディアコンテンツ及びアプリケーション情報を抽出することができる。ここで、前記プロトコルスタック350は前記図2のプロトコルスタックを概略的に示したものであり、前記図2で説明した内容が適用できる。
例えば、前記メインデバイス(main device)310は、ATSC 3.0物理階層を通じて放送信号を受信することができる。
放送サービスが地上波、ケーブル衛星などの放送信号である物理階層(physical layer)を通じて転送される場合、前記メインデバイス(main device)310は高速情報チャンネルとカプセル化(encapsulation)されたIPデータグラムを、放送信号をデモジュレーションして抽出することができる。
前記メインデバイス(main device)310は、IPデータグラムからユーザデータグラムプロトコル(User Datagram Protocol:UDP)データグラムを抽出することができ、前記UDPデータグラムからシグナリング情報を抽出することができる。
前記メインデバイス(main device)310は、単方向リアルタイムオブジェクト転送(Real-Time Object Delivery over Unidirectional Transport:ROUTE)パケットを抽出することができる。この際、前記単方向リアルタイムオブジェクト転送(Real-Time Object Delivery over Unidirectional Transport:ROUTE)パケットは、ノンリアルタイム(Non-Real Time:NRT)データと電子サービスガイド(Electronic Service Gudie:ESG)データを含むことができる。
また、前記メインデバイス(main device)310は、UDPデータグラムから応用階層転送(application layer transport)プロトコルパケットを抽出することができ、前記応用階層転送(application layer transport)プロトコルパケットからA/Vデータ及び付加データを抽出することができる。
一方、放送サービスがインターネット通信網(broadband)を介して転送される場合、前記メインデバイス(main device)310はインターネット通信網からIPパケットを受信することができ、IPパケットからTCPパケットを抽出することができる。そして、前記メインデバイス(main device)310はTCPパケットからHTTPパケットを抽出することができ、HTTPパケットからA/Vデータ、付加データ、シグナリング情報などを抽出することができる。
このように抽出された情報に基づいて、前記メインデバイス(main device)310と前記コンパニオンデバイス(companion device)330は、マルチスクリーンサービスを提供することができる。
前記メインデバイス(main device)310は、アプリケーション管理サービス、連結設定サービス、及び同期化サービスのうち、少なくとも1つをサポートすることができる。前記メインデバイス(main device)310は、広告(advertise)メッセージを転送することによって、自身がスクリーンデバイスであることを知らせるか、または自身の情報を入れたデバイス説明文書(device description document)に接近できるアドレスを知らせることができる。
前記コンパニオンデバイス(companion device)330は、マルチスクリーンサービスを提供するためにスクリーンデバイスを探索することができる。この際、探索アクション(Search())が利用できる。前記探索結果、スクリーンデバイスが探索されれば、探索されたスクリーンデバイスは前記探索アクションに対する応答メッセージを転送することができる。
また、前記メインデバイス(main device)310は、前記コンパニオンデバイス(companion device)330に説明情報を転送することができる。例えば、前記説明情報は、基本的なデバイス情報、自身がどんな種類のデバイスなのかに対する情報(例えば、スクリーンデバイス、スクリーンコントロールポイントなど)、自身が提供することができるサービスに対する情報(例えば、アプリケーション管理サービス、連結設定サービスなど)を含むことができる。
また、前記コンパニオンデバイス(companion device)330は、前記メインデバイス(main device)310を制御するためのアクションを転送することができ、前記メインデバイス(main device)310は前記コンパニオンデバイス(companion device)330にイベントメッセージを転送するか、または前記アクションに対する応答メッセージを転送することができる。
図4は本発明が適用される実施形態であって、放送受信デバイスとコンパニオンデバイス(companion device)間のマルチスクリーンサービス(Multi-Screen Service)を提供するための拡張されたアーキテクチャーを示す。
本発明は、拡張されたマルチスクリーンサービス(extended Multi-Screen Service)を提供することができる。ここで、前記拡張されたマルチスクリーンサービス(extended Multi-Screen Service)はより精巧な相互動作(more sophisticated interactions)を必要とするサービスを意味することができる。
前記図4は、ネットワーク上の連結された2つのデバイス、例えば、コンパニオンデバイス(companion device)430とメインデバイス(main device)410に基づいて、拡張されたマルチスクリーンサービス(extended Multi-Screen Service)を提供するための構造を示す。
第1スクリーンデバイス(screen device)420と第1スクリーンコントロールポイント(screen control point)440との間の動作は前記図3で説明した通りである。
延いては、前記メインデバイス(main device)410は第2スクリーンコントロールポイント(screen control point)450として動作し、前記コンパニオンデバイス(companion device)430は第2スクリーンデバイス(screen device)460として動作することもできる。同様に、第2スクリーンデバイス(screen device)460と第2スクリーンコントロールポイント(screen control point)450との間の動作も前記図3で説明した内容が同様に適用できる。
図5は本発明が適用される実施形態であって、放送信号に含まれたアプリケーション情報を用いてマルチスクリーンサービス(Multi-Screen Service)を提供する方法を説明するためのブロックダイアグラムを示す。
メインデバイス(main device)510は、ATSC 3.0物理階層を通じてアプリケーション情報を含んでいる放送信号を受信することができる。
前記メインデバイス(main device)510は、プロトコルスタック550を通じて抽出されたアプリケーション情報に基づいてアプリケーション情報リスト内の変数を生成またはアップデートすることができる(S510)。ここで、前記アプリケーション情報リスト内の変数に対しては以下の明細書の他の実施形態でより詳細に説明する。
前記メインデバイス(main device)510は、前記コンパニオンデバイス(Companion device)530からアプリケーション情報獲得アクション、アプリケーション識別子リスト獲得アクション、または連結情報獲得アクションなどを受信することができる(S520)。ここで、アプリケーション情報獲得アクション、アプリケーション識別子リスト獲得アクション、または連結情報獲得アクションは、以下の明細書の他の実施形態でより詳細に説明する。
前記メインデバイス(main device)510は、前記アクションに応答してブロードキャスト及び/又はブロードバンドを通じて転送されたアプリケーション情報を転送することができる(S530)。ここで、前記アプリケーション情報は前記生成されたまたはアップデートされたアプリケーション情報リスト内の変数を示すことができる。
図6は本発明が適用される実施形態であって、放送信号に含まれたアプリケーショントリガー情報(application trigger information)を用いて実行アプリケーション情報を獲得する過程を説明するためのブロックダイアグラムを示す。
メインデバイス(main device)610は、ブロードキャスト及び/又はブロードバンドを通じてメディアコンテンツとアプリケーショントリガー情報(application trigger information)を含む放送信号を受信することができる。前記メインデバイス(main device)610は、前記受信された放送信号からプロトコルスタック650を通じてアプリケーショントリガー情報(application trigger information)を抽出することができる(S610)。
前記メインデバイス(main device)610は、前記抽出されたアプリケーショントリガー情報(application trigger information)に基づいて第1アプリケーション(App#1)を実行することができる(S620)。前記メインデバイス(main device)610は、スクリーンデバイス620としてアプリケーション管理サービス621、連結設定サービス622、及び同期化サービス623のうち、少なくとも1つを提供することができる。
例えば、前記第1アプリケーション(App#1)が実行されれば、前記メインデバイス(main device)610はアプリケーション管理サービス621としてイベントメッセージをコンパニオンデバイス630に転送することができる(S630)。この際、前記イベントメッセージは実行中のアプリケーションリスト情報(running application list information)を含むことができる。
前記メインデバイス(main device)610は、前記コンパニオンデバイス(Companion device)630から実行中のアプリケーションリスト獲得アクション、または実行中のアプリケーション状態情報獲得アクションなどを受信することができる(S640)。ここで、前記コンパニオンデバイス(Companion device)630はスクリーンコントロールポイント640として動作する。そして、実行中のアプリケーションリスト獲得アクション、または実行中のアプリケーション状態情報獲得アクションは、以下の明細書の他の実施形態でより詳細に説明する。
前記メインデバイス(main device)610は、前記アクションに応答してアップデートされた実行中のアプリケーションリストまたはアップデートされた実行中のアプリケーション状態情報を転送することができる(S650)。
前記コンパニオンデバイス(Companion device)630は、前記アップデートされた実行中のアプリケーションリストまたは前記アップデートされた実行中のアプリケーション状態情報を受信するようになれば、それに対応するアプリケーション(App#1)を実行することができる(S660)。ここで、前記それに対応するアプリケーション(App#1)は、前記アップデートされた実行中のアプリケーションリストまたは前記アップデートされた実行中のアプリケーション状態情報に対応するアプリケーションを示す。
前記のような過程を通じて、前記メインデバイス(main device)610と前記コンパニオンデバイス(Companion device)630はマルチスクリーンサービスを提供できるようになる。
図7は本発明が適用される実施形態であって、放送信号に含まれたアプリケーショントリガー情報(application trigger information)を用いてコンパニオンデバイス(companion device)のアプリケーションを実行、設置及び/又は停止制御を遂行する過程を説明するためのブロックダイアグラムを示す。
図7の実施形態が前記図6の実施形態と異なる点は、メインデバイス710がスクリーンコントロールポイント720として動作し、コンパニオンデバイス730がスクリーンデバイス740として動作するという点と、スクリーンコントロールポイント720により転送されるアクションがアプリケーション開始アクション、設置アクション、または停止アクションという点である。
即ち、前記図7を説明すると、前記メインデバイス(main device)710は、前記受信された放送信号からプロトコルスタック750を通じてアプリケーショントリガー情報(application trigger information)を抽出することができる(S710)。
前記メインデバイス(main device)710は、前記抽出されたアプリケーショントリガー情報(application trigger information)に基づいて第1アプリケーション(App#1)を実行または停止することができる(S720)。
前記メインデバイス(main device)710は、前記コンパニオンデバイス(Companion device)730にアプリケーション実行アクション、アプリケーション設置アクション、またはアプリケーション停止アクションなどを転送することができる(S730)。ここで、前記アプリケーション実行アクション、アプリケーション設置アクション、またはアプリケーション停止アクションは、以下の明細書の他の実施形態でより詳細に説明する。
前記アクションに応答して、前記コンパニオンデバイス(Companion device)730は、該当アプリケーション(App#1)を実行、設置、または停止することができる(S740)。
図8は本発明が適用される実施形態であって、UPnP(Universal Plug and Play)メカニズムを説明するためのブロックダイアグラムを示す。
本発明で提案するUPnPアクションは、デバイス間の通信の多様な方式の例の1つであって、UPnP探索(Discovery)及び説明情報(Description information)転送過程で獲得した制御URLを示す。前記UPnPアクションは、HTTPで定義したPOST方式を使用して、実際に伝達しようとするデータをHTTP POSTメッセージボディー(body)にXMLの形態に伝達することができる。UPnPプロトコルの場合、各アクションに対してアクション名称(action name)を定義して使用し、XML形態に伝達されるHTTP POSTメッセージボディー(body)にアクション名称(action name)も共に伝達されるため、通信対象デバイスに対するURLが1つのみ存在し、HTTP POST方式1つだけ使用しても無限の種類のアクション(メッセージ)の交換が可能である。
図9は本発明が適用される実施形態であって、REST(REpresentational State Transfer)メカニズムを説明するためのブロックダイアグラムを示す。
例えば、本発明で提案するデバイス間の通信は、HTTP方式のうち、POSTだけでなく、GET、HEAD、PUT、DELETE、TRACE、OPTIONS、CONNECT、PATCHなどのいろいろな方式を活用し、通信対象デバイスに接近する複数のURIを定義すれば、アクション名称(action name)の定義無しでも適用できる。伝達が必要なデータは該当URIに付加して伝達されることができ、あるいはHTTPボディー(body)に多様な形態に含まれて伝達できる。但し、このようなREST方式に必要な複数のURI値は探索(Discovery)及び説明情報(Description information)転送過程で獲得できる。
図10は本発明が適用される実施形態であって、UPnP(Universal Plug and Play)AV(Audio-Visual)ネットワークの概略的な構成図を示す。
UPnP基盤のAVネットワークは、図10に示すように、ネットワークにメディアデータを提供するメディアサーバー(MS:Media Server)1020と、ネットワークを介してメディアデータを再生するメディアレンダラー(MR:Media Renderer)1030と、前記メディアサーバー1020とメディアレンダラー1030を制御する制御ポイント(CP:Control Point)1010を含んで構成できる。前記メディアサーバー1020とメディアレンダラー1030は前記制御ポイント1010により制御される被制御(controlled)機器である。
前記メディアサーバー1020は、CDS(Content Directory Service)部1021、連結管理部(Connection Manager)1022、及び転送部(AV Transport)1023を含むことができる。
前記メディアサーバー1020が前記制御ポイント1010にディレクトリ情報を知らせるために、UPnPアクション(action)、例えばブラウジング(browsing)アクションがある度に自身のファイルシステムを用いてメディアファイルに対する情報を知らせることができる。そして、前記制御ポイント1010のユーザインターフェースを介して選択されたメディアファイルのデータは、前記メディアサーバー1020と前記メディアレンダラー1030との間にストリーミング(streaming)方式により転送されて前記メディアレンダラー1030を通じて再生できる。
この際、前記ストリーミング方式は既に公知されている多様な方式のうち、如何なる方式も使用可能である。例えば、前記ストリーミング方式は帯域外転送プロトコル(Out-of-Band transfer protocol)を用いることができる。具体的な例に、メディア転送にリアルタイム転送プロトコル(Real-time Transport Protocol:RTP)を使用する場合には、リアルタイム制御プロトコル(Real Time Control Protocol:RTCP)を用いてメディアデータの転送状態を監視することができ、これに基づいて転送パラメータ(parameter)を調整することができる。
一方、前記制御ポイント1010は前記メディアサーバー1020と前記メディアレンダラー1030を制御することができ、例えば、標準化されたSOAP(Simple Object Access Protocol)基盤に提供されるUPnPアクションを呼び出すことにより遂行できる。また、前記制御ポイント1010はデバイスが提供するイベントサービスに加入してデバイスの状態情報変化の報告を受けることができる。
前記メディアサーバー1020は、自身が管理するメディアデータを探索するサービスを提供するコンテンツディレクトリ(Content Directory)サービス1021と、他機器、即ち前記メディアレンダラー1030とのコネクションを管理する連結管理(Connection Manager)サービス1022と、メディアの再生に対するコントロール、例えば再生(Play)、中止(Stop)のようなコントロールを可能にするAV転送(Audio-Visual Transport)サービス1023を含むことができる。
前記メディアレンダラー1030は、メディアのプレゼンテーション時の画面の明るさ、明度などの制御を可能にするレンダリング制御(Rendering Control)サービス1031と、他機器とのコネクションを管理する連結管理(Connection Manager)サービス1032、及びAV転送(AV Transport)サービス1033を含むことができる。
前記制御ポイント1010は、前記メディアサーバー1020のコンテンツディレクトリ(Content Directory)サービス1021を用いてサーバー内のメディアファイル情報を確認することができる。この情報に基づいてユーザが特定メディアファイルを選択すれば、各機器の連結管理(Connection Manager)サービス1022、1032を通じて前記メディアサーバー1020と前記メディアレンダラー1030との間にメディア転送のための連結を結ぶようにすることができる。そして、前記AV転送サービス(1023または1033)を用いて該当メディアファイルの再生(play)コントロールのための変数を設定した後、再生アクションを前記メディアサーバー(pushモードの場合)、または前記メディアレンダラー(pullモードの場合)に要求することによって、再生がなされるようにする。再生中には、前記メディアレンダラー1030のレンダリング制御(Rendering Control)サービス1031を通じて画面の明るさや明度、ボリュームなどを調節することが可能である。
そして、前記AVコントロールポイント1010はメディアサーバー1020のコンテンツが変更されるか、または現在メディアストリーム(stream)の状態変化などの情報を、各サービスが提供するイベントに加入することによって、モニタリングすることもできる。
したがって、ユーザはホームネットワークを介して複数の機器、即ち複数のレンダラーでメディアの再生を要求することもでき、1つのレンダラーを通じてメディアを視聴する途中に場所を移して、その場所にあるレンダラーを通じて視聴していたメディアを続いて視聴することができる。
図11は本発明が適用される一実施形態であって、マルチスクリーンサービス(Multi-Screen Service)が適用されるUPnP(Universal Plug and Play)AV(Audio-Visual)ネットワークの一例を示す。
本発明が適用されるマルチスクリーンサービス(Multi-Screen Service)を提供するネットワークは多様なデバイスに連結されていることができる。例えば、前記図11のように、スマートフォン1110とTV1120をはじめとして、コンピュータ、カメラ、プリンタ、電子額縁など、相互サービス(interactive service)が可能な電子機器が連結されている場合、前記マルチスクリーンサービス(Multi-Screen Service)の提供が可能である。
ここで、前記マルチスクリーンサービス(Multi-Screen Service)とは、多様なディスプレイデバイス(various display devices)の間に提供される時間に敏感な両方向サービス(time-sensitive and interactive service)を意味することができる。例えば、前記マルチスクリーンサービス(Multi-Screen Service)は具現特定アプリケーション(implementation-specific application)を含むことができる。
図12及び図13は本発明が適用される一実施形態であって、前記図12はマルチスクリーンサービス(Multi-Screen Service)が適用される基本アーキテクチャーを示し、前記図13は拡張されたマルチスクリーンサービス(extended Multi-Screen Service)が適用されるアーキテクチャーを示す。
マルチスクリーンサービス(Multi-Screen Service)を提供するネットワークに多様なデバイスが連結されていると仮定する。ネットワーク上に連結されたデバイスは、特定アプリケーションの役割及び/又は使用法によりメインスクリーンデバイス(main screen device)とコンパニオンスクリーンデバイス(companion screen device)とに分類(categorize)されて説明できる。
まず、メインスクリーンデバイス(main screen device)はコンパニオンスクリーンデバイス(companion screen device)により制御されるデバイスを示す。例えば、前記メインスクリーンデバイスは、TV、セットトップボックス(set-top box)などのリーンバック(lean-back)ディスプレイデバイスを含むことができる。また、如何なるディスプレイデバイスも使用シナリオによって前記メインスクリーンデバイスになることができ、例えば、スマートフォン、タブレットのようなデバイスも前記メインスクリーンデバイスになることができる。
コンパニオンスクリーンデバイス(companion screen device)は、メインスクリーンデバイス(main screen device)を制御するデバイスを示す。例えば、前記コンパニオンスクリーンデバイスは、スマートフォン、タブレットなどのリーンフォワード(lean-forward)ディスプレイデバイスや小型ディスプレイデバイス(handheld display device)を含むことができる。また、如何なるディスプレイデバイスも使用シナリオによって前記メインスクリーンデバイスになることができ、例えば、TV、セットトップボックス(set-top box)のようなデバイスも前記コンパニオンスクリーンデバイスになることができる。
前記図12はネットワーク上に連結された多様なデバイスのうちの2つのデバイス、例えば、コンパニオンスクリーンデバイス(companion screen device)1210とメインスクリーンデバイス(main screen device)1220に基づいて、両方向サービスを提供するための構造を示す。ここで、前記コンパニオンスクリーンデバイス(companion screen device)1210はスクリーンコントロールポイント(screen control point)1211として動作されることができ、前記メインスクリーンデバイス(main screen device)1220はスクリーンデバイス(screen device)1221として動作できる。例えば、前記図12を説明すると、前記コンパニオンスクリーンデバイス(companion screen device)1210は、前記メインスクリーンデバイス(main screen device)1220を制御するためのアクションを転送することができ、前記メインスクリーンデバイス(main screen device)1220は、前記コンパニオンスクリーンデバイス(companion screen device)1210にイベントメッセージを転送するか、または前記アクションに対する応答メッセージを転送することができる。この際、前記コンパニオンスクリーンデバイス(companion screen device)1210はスクリーンコントロールポイント(screen control point)1211として動作し、前記メインスクリーンデバイス(main screen device)1220はスクリーンデバイス(screen device)1212として動作するものである。
延いては、本発明は拡張されたマルチスクリーンサービス(extended Multi-Screen Service)を提供することができる。ここで、前記拡張されたマルチスクリーンサービス(extended Multi-Screen Service)はより精巧な相互動作(more sophisticated interactions)を必要とするサービスを意味することができる。
前記図13はネットワーク上の連結された2つのデバイス、例えば、コンパニオンスクリーンデバイス(companion screen device)1310とメインスクリーンデバイス(main screen device)1320に基づいて、拡張されたマルチスクリーンサービス(extended Multi-Screen Service)を提供するための構造を示す。
例えば、前記図13を説明すると、前記第1スクリーンコントロールポイント(screen control point)1311と前記第1スクリーンデバイス(screen device)1312との間の動作は、前記図12で説明した通りである。延いては、前記メインスクリーンデバイス(main screen device)1320は前記コンパニオンスクリーンデバイス(companion screen device)1310を制御するためのアクションを転送することができ、前記コンパニオンスクリーンデバイス(companion screen device)1310は前記メインスクリーンデバイス(main screen device)1320にイベントメッセージを転送するか、または前記アクションに対する応答メッセージを転送することができる。この場合、前記メインスクリーンデバイス(main screen device)1320は第2スクリーンコントロールポイント(screen control point)1311として動作し、前記コンパニオンスクリーンデバイス(companion screen device)1310は第2スクリーンデバイス(screen device)1312として動作するものである。
即ち、前記コンパニオンスクリーンデバイス(companion screen device)1310は前記メインスクリーンデバイス(main screen device)1320に対応して、第1スクリーンコントロールポイント(screen control point)1311として動作されることができ、また第2スクリーンデバイス(screen device)1312として動作できる。そして、前記メインスクリーンデバイス(main screen device)1320も前記コンパニオンスクリーンデバイス(companion screen device)1310に対応して、第1スクリーンデバイス(screen device)1321として動作されることができ、または第2スクリーンコントロールポイント(screen control point)1322として動作できる。
一方、スクリーンデバイス(screen device)とは、スクリーンコントロールポイント(screen control point)と共に遂行される、他のディスプレイデバイスに多様な両方向サービス(various interactive service)を提供するために用いられる要素(component)を意味することができる。前記スクリーンデバイスは、前記スクリーンコントロールポイントにより制御されて前記スクリーンコントロールポイントと相互動作をするようにデザインできる。
マルチスクリーンサービス(Multi-Screen Service)をサポートするためには、コンパニオンスクリーンデバイスにより制御されるメインスクリーンデバイス(例えば、TV、セットトップボックス(set-top box)などのリーンバック(lean-back)ディスプレイデバイス)で遂行されることが推奨される。
延いては、拡張されたマルチスクリーンサービス(extended Multi-Screen Service)をサポートするためには、メインスクリーンデバイスを制御するコンパニオンスクリーンデバイス(例えば、スマートフォン、タブレットなどのリーンフォワード(lean-forward)ディスプレイデバイスや小型ディスプレイデバイス(handheld display device))でもまた遂行されることが推奨される。
そして、スクリーンコントロールポイント(screen control point)とは、スクリーンデバイス(screen device)と共に遂行される、他のディスプレイデバイスに多様な両方向サービス(various interactive service)を提供するために用いられる要素(component)を示す。前記スクリーンコントロールポイントは、ユーザの入力により前記スクリーンデバイスを制御して前記スクリーンデバイスと相互動作をするようにデザインできる。
マルチスクリーンサービス(Multi-Screen Service)をサポートするためには、メインスクリーンデバイスを制御するコンパニオンスクリーンデバイス(例えば、スマートフォン、タブレットなどのリーンフォワード(lean-forward)ディスプレイデバイスや小型ディスプレイデバイス(handheld display device))で遂行されることが推奨される。
延いては、拡張されたマルチスクリーンサービス(extended Multi-Screen Service)をサポートするためには、コンパニオンスクリーンデバイスにより制御されるメインスクリーンデバイス(例えば、TV、セットトップボックス(set-top box)などのリーンバック(lean-back)ディスプレイデバイス)でもまた遂行されることが推奨される。
例えば、前記図13を説明すると、前記メインスクリーンデバイス(main screen device)1320と前記コンパニオンスクリーンデバイス(companion screen device)1310は全てスクリーンデバイスとして動作できるだけでなく、スクリーンコントロールポイントとして動作されることもできる。
本発明では、新たな種類のサービスをネットワーク連結されたデバイスの間に連動させるために別途のプロトコル無しでアプリケーション形態に両方向サービスを提供するための方法及び装置を提供しようとする。より具体的には、マルチスクリーンサービス(Multi-Screen Service)を提供するネットワークにおけるアプリケーションを管理する方法及び装置を提供しようとする。
例えば、前記ネットワークに連結されたデバイスAとBを通じてユーザが如何なる両方向サービスXを利用しようとする時、該当サービスXを2つデバイスで常に実行しているように具現することができる。または、ユーザが2つデバイスで該当サービスXのためのアプリケーションを直接探して設置したり実行させたりする必要無しで、特定アプリケーションの設置及び/又は実行が必要であるかに対してデバイスがユーザに知らせることによって、ユーザは楽に該当サービスXを使用できるようになる。
他の例として、デバイスAとBは各々同一なアプリケーションを有していることもあり、そうでないこともある。同一なアプリケーションを有している場合、アプリケーション実行を通じてデバイスAとBは両方向サービスを提供することができる。同一なアプリケーションを有していない場合には、各デバイスでは必要なアプリケーションが何かを確認し、前記アプリケーションをダウンロード及び/又は実行して両方向サービスを提供することができる。
また、本発明は、1つのデバイスを通じて他のデバイスのアプリケーションを設置、実行、実行中止、削除などの管理を可能にすることで、ユーザの便宜性を高めることができる。
また、本発明は、許可された特定のユーザまたはデバイスのみ該当サービスXを利用できるようにID及びパスワードを含んでメッセージを転送することができる。
また、本発明は、デバイスに設置されたアプリケーション間の連結を遂行する方法を提供する。例えば、相互作用が可能なアプリケーションがデバイスAとBに設置された場合、2つデバイスA、Bは相互作用のために必要な情報を共有することができ、前記情報を共有することによって、アプリケーション間の直接的なコミュニケーションが可能である。
また、1つのデバイスは他のデバイスと複数の連結を構成することができる。この際、前記他のデバイスは1つのデバイス、または複数のデバイスでありうる。デバイスは前記複数の連結を同時にサポートすることができ、前記複数の連結を制御することができる。また、前記複数の連結のうち、特定連結に対する情報または全ての連結に対する情報は更に他のデバイスが知ることができるように転送できる。
本発明は、許可された特定ユーザまたは特定デバイスのみ本明細書で説明される実施形態を遂行するように許与されることができ、このためにメッセージにID及びパスワードを含んで転送することができる。
本発明は、ネットワーク連結されたデバイス間の両方向サービスを用いるためにユーザはアプリケーション管理サービスに加入することができる。また、別途の権限設定過程を通じて、ユーザのアプリケーション管理サービスに対する使用権限を許与または制限することができる。
本発明は、ネットワーク連結されたデバイス間の時間に敏感な両方向サービス(time-sensitive interactive service)を用いるために、デバイス間の同期化過程が必要である。例えば、基本クロック同期化及びコンテンツ同期化のような同期化メカニズムが必要である。
本発明は、ディスカバリーメカニズムを通じてアプリケーション管理サービス(application management service)、連結設定サービス(connection establishment service)、同期化サービス(synchronization service)をサポートするデバイスをネットワーク上で発見することができる。そして、説明メカニズム(description mechanism)を通じて各サービスに対する付加的な情報をデバイス間に交換することができる。
以下、各図面の説明を通じて前記実施形態に対して詳細に説明する。多様な実施形態で重複する内容は省略されることがあり、本明細書内で用いられる用語や実施形態に対する具体的な説明は他の実施形態でも適用可能である。
図14は本発明が適用される一実施形態であって、マルチスクリーンサービス(Multi-Screen Service)が適用されるデバイスの概略的な構造を示す。
前記図14はマルチスクリーンサービス(extended Multi-Screen Service)を提供するコンパニオンスクリーンデバイス(companion screen device)1410とメインスクリーンデバイス(main screen device)1420の内部ブロック図を示す。
前記コンパニオンスクリーンデバイス(companion screen device)1410は、ディスプレイ1411、ユーザインターフェース1412、コントローラ1413、ネットワークインターフェース1414、メモリ1415、ストレージ1416、マルチメディア部1417、及び電源供給部1418を含むことができる。
前記ディスプレイ1411は、ネットワークインターフェース1414を介して受信されたデータまたはストレージ1416に格納されているデータを前記コントローラ1413の制御により画面上にディスプレイする。
前記ユーザインターフェース1412はユーザから入力される信号を前記コントローラ1413に転送し、前記コントローラ1413から制御される信号を、前記ディスプレイ1411を通じて出力することによって、ユーザに情報を提供する通路の役割をする。
前記コントローラ1413は前記コンパニオンスクリーンデバイス(companion screen device)1410の全般的な動作を制御する役割をし、本明細書で説明される多様な実施形態は前記コントローラ1413を通じて遂行できる。
前記ネットワークインターフェース1414は、命令(command)、要求(request)、アクション(action)、応答(response)、イベントメッセージ、広告メッセージ、データのうち、少なくとも1つが含まれたメッセージを外部デバイスから受信するか、または外部デバイスに転送することができる。また、前記ネットワークインターフェース1414は前記コンパニオンスクリーンデバイス(companion screen device)1410の物理的要素でありうる。
前記メモリ1415は多様な種類のデバイスに具現される選択的な装置であって、多様な種類のデータが臨時に格納できる。例えば、前記メモリ1415は揮発性の物理的装置でありうる。
前記ストレージ1416は、多様な種類の情報を格納することができる。例えば、前記ストレージ1416はSDカードのような不揮発性の物理的装置でありうる。前記ストレージ1416は、コンテンツ格納部(図示せず)、メタデータ格納部(図示せず)、バッファ(図示せず)を含むことができる。コンテンツ格納部(図示せず)は、メディアコンテンツデータを格納することができる。メタデータ格納部(図示せず)は、コンテンツに関する付加情報を示すメタデータを格納することができる。メタデータ格納部(図示せず)は、メタデータを分類して格納することができる。バッファ(図示せず)は、多様な種類のデータを臨時に格納することができる。
前記マルチメディア部1417は多様な種類のマルチメディア再生のための装置であって、格納されたコンテンツを再生するか、または外部から受信したコンテンツを再生することができる。前記マルチメディア部1417は前記コントローラ1413内に具現されることができ、または前記コントローラ1413と別途に具現されることもできる。
前記電源供給部1418は前記コントローラ1413の制御により外部の電源、または内部の電源の印加を受けて各構成要素の動作に必要な電源を供給する。
そして、メインスクリーンデバイス(main screen device)1420は、ディスプレイ1421、ユーザインターフェース1422、コントローラ1423、ネットワークインターフェース1424、メモリ14214、ストレージ1426、マルチメディア部1427、及び電源供給部1428を含むことができる。前記メインスクリーンデバイス(main screen device)1420内の各構成要素は、前記コンパニオンスクリーンデバイス(companion screen device)1410内の各構成要素と同一または類似の機能を遂行できるので、詳細な説明は省略する。
図15は本発明が適用される一実施形態であって、マルチスクリーンサービス(Multi-Screen Service)がスクリーンデバイスで始まる場合、デバイス間の相互作用を説明するためのフローチャートである。
スクリーンコントロールポイントは、マルチスクリーンサービスを提供するためにアプリケーション管理サービスに加入することができる(S1510)。
スクリーンデバイスは、前記スクリーンコントロールポイントがアプリケーション管理サービスに加入されていることを確認すれば、サービス初期化を遂行することができる(S1520)。
サービス初期化の以後、前記スクリーンデバイスは利用可能なアプリケーション情報を転送することができる(S1530)。この際、前記利用可能なアプリケーション情報は前記スクリーンデバイスにより直接イベントメッセージとして転送されるか、または前記スクリーンコントロールポイントの要求に対する応答メッセージとして転送できる。但し、この過程はアプリケーション間の連結のために必須でないことがある。
前記スクリーンコントロールポイントは、特定アプリケーション情報を前記スクリーンデバイスに要求することができる(S1540)。前記スクリーンデバイスは前記要求に応答して、前記特定アプリケーション情報を前記スクリーンコントロールポイントに転送することができる(S1540)。ここで、前記特定アプリケーション情報は、全体アプリケーション情報、または指定されたアプリケーションの情報でありうる。
前記スクリーンコントロールポイントは、前記特定アプリケーション情報を受信し、それに基づいてサービス提供のためのアプリケーションを設置し、これを実行することができる(S1550)。
前記アプリケーションが実行されれば、前記スクリーンコントロールポイントは前記スクリーンデバイスにアプリケーション間の連結を要求することができる(S1560)。この際、アプリケーション間の連結アクションが利用できる。前記スクリーンデバイスは前記要求に応答して、連結識別子を前記スクリーンコントロールポイントに転送することができる(S1560)。
前記のような過程を通じてアプリケーション間の連結が設定されれば、前記スクリーンコントロールポイントと前記スクリーンデバイスはアプリケーションを通じて通信を遂行することができる(S1570)。
以後、追加通信が必要なくなった場合、前記スクリーンコントロールポイントは前記スクリーンデバイスにアプリケーション間の連結解除を要求することができる(S1580)。この際、アプリケーション間の連結解除アクション(DisconnectApptoApp())が利用できる。前記スクリーンデバイスは、前記要求に応答して、連結解除情報を前記スクリーンコントロールポイントに転送することができる(S1580)。
図16は本発明が適用される一実施形態であって、マルチスクリーンサービス(Multi-Screen Service)がコントローラで始まる場合、デバイス間の相互作用を説明するためのフローチャートである。
スクリーンコントロールポイントは、マルチスクリーンサービスを提供するためにサービス初期化を遂行することができる(S1610)。
サービス初期化の以後、前記スクリーンコントロールポイントはアプリケーション情報を前記スクリーンデバイスに要求することができる(S1620)。この際、アプリケーション情報要求アクションが利用できる。前記スクリーンデバイスは前記要求に応答して、前記アプリケーション情報を前記スクリーンコントロールポイントに転送することができる(S1620)。
前記スクリーンコントロールポイントは、前記スクリーンデバイスにアプリケーション設置を要求することができる(S1630)。この際、アプリケーション設置アクションが用いられることができ、前記アクションはアプリケーション識別子に基づいて、または設置URI(Uniform Resource Identifier)に基づいて遂行できる。
前記スクリーンデバイスは前記アプリケーション設置要求によって、サービス提供のためのアプリケーションを設置することができる(S1640)。
そして、前記スクリーンコントロールポイントは前記スクリーンデバイスにアプリケーション活性化を要求することができる(S1650)。この際、アプリケーション活性化アクションが用いられることができ、前記アクションは活性化されるアプリケーション識別子を含むことができる。前記要求に基づいて、前記スクリーンデバイスはアプリケーションを実行することができる(S1660)。
前記のようにアプリケーションが実行されれば、前記スクリーンコントロールポイントは前記スクリーンデバイスにアプリケーション間の連結を要求することができる(S1670)。この際、アプリケーション間の連結アクションが利用できる。前記スクリーンデバイスは前記要求に応答して、連結識別子を前記スクリーンコントロールポイントに転送することができる(S1670)。
前記のような過程を通じてアプリケーション間の連結が設定されれば、前記スクリーンコントロールポイントと前記スクリーンデバイスはアプリケーションを通じて通信を遂行することができる(S1680)。
以後、追加通信が必要なくなった場合、前記スクリーンコントロールポイントは前記スクリーンデバイスにアプリケーション間の連結解除を要求することができる(S1690)。この際、アプリケーション間の連結解除アクションが利用できる。前記スクリーンデバイスは前記要求に応答して、連結解除情報を前記スクリーンコントロールポイントに転送することができる(S1690)。
図17は本発明が適用される一実施形態であって、デバイス間のアプリケーション連結を管理するための相互作用を説明するためのフローチャートである。
スクリーンコントロールポイントは、マルチスクリーンサービスを提供するためにスクリーンデバイスを探索することができる(S1710)。この際、探索アクションが利用できる。前記探索結果、スクリーンデバイスが探索されれば、探索されたスクリーンデバイスは前記探索アクションに対する応答メッセージを転送することができる。例えば、前記スクリーンデバイスは自身がスクリーンデバイスであることを広告(advertise)することができ、自身の情報を入れたデバイス説明文書(device description document)に接近できるアドレスを広告することができる(S1720)。
そして、前記スクリーンデバイスは前記スクリーンコントロールポイントに説明情報を転送することができる(S1730)。例えば、前記説明情報は、基本的なデバイス情報、自身がどんなデバイスなのかに対する情報(例えば、スクリーンデバイス、スクリーンコントロールポイントなど)、自身が提供することができるサービスに対する情報(例えば、アプリケーション管理サービス、アプリケーション連結サービスなど)を含むことができる。
スクリーンコントロールポイントは、マルチスクリーンサービスを提供するためにアプリケーション管理サービスに加入することができる(S1740)。但し、スクリーンデバイスからのイベントメッセージ受信が必要でない場合、前記スクリーンコントロールポイントは前記アプリケーション管理サービスに加入しないことがある。このような場合、前記スクリーンコントロールポイントは周期的に前記スクリーンデバイスに関連した情報を確認する必要がある。
前記スクリーンデバイスはアプリケーション情報を前記スクリーンコントロールポイントに転送することができる(S1750)。ここで、前記アプリケーション情報は前記スクリーンデバイスの全体アプリケーション情報、または指定されたアプリケーションの情報でありうる。
図18は本発明が適用される一実施形態であって、外部サーバーからコンテンツが提供される場合、コンテンツと共に用いられるアプリケーションを制御する過程を説明するためのフローチャートである。
スクリーンデバイスは外部サーバーからコンテンツの提供を受けることができ、また、前記コンテンツを用いるためには特定アプリケーションが必要である。ここで、前記コンテンツは放送コンテンツ、またはインターネットからダウンロードすることができるコンテンツでありうる。
前記スクリーンデバイスは、外部サーバーから利用可能な特定アプリケーションに対する情報を受信することができる(S1810)。
前記スクリーンデバイスは、前記情報を受信する場合、特定サービスが特定アプリケーションと共に利用可能であることをディスプレイすることができる(S1820)。そして、前記スクリーンデバイスは前記特定アプリケーションを活性化させることができる(S1830)。前記活性化は前記スクリーンデバイスにより自動的に遂行されるか、またはユーザ入力により遂行できる。
前記スクリーンデバイスは、マルチスクリーンサービスを提供するために、前記特定アプリケーション情報をスクリーンコントロールポイントに転送することができる(S1840)。
図19は本発明が適用される一実施形態であって、デバイス間のアプリケーション連結のために必要な認証過程を説明するためのフローチャートである。
スクリーンデバイスは認証される必要があるスクリーンコントロールポイントのみにイベントメッセージを転送することができる(S1910)。例えば、認証が必要なスクリーンコントロールポイントが存在する場合、スクリーンデバイスは認証変数値を変更し、変更された値を前記スクリーンコントロールポイントに転送する。この際、前記認証変数値はスクリーン上にディスプレイできる(S1920)。
一方、前記スクリーンコントロールポイントは前記イベントメッセージを受信すれば、認証が必要であることを認識することができる。そして、前記スクリーンコントロールポイントは前記スクリーンデバイスにピンコード(pin-code)認証を要求することができる。この際、前記要求はピンコード認証アクションにより遂行できる。前記ピンコード認証アクションはアクション転送デバイスを認証するか、またはアクション転送デバイスのユーザを認証するために用いられる。
前記スクリーンデバイスは、前記ピンコード認証アクションを受信すれば、受信されたピンコードが前記スクリーンデバイスのピンコードと同一か否かを確認することができる(S1940)。
仮に、アクション転送デバイスにより転送されたピンコードがアクション受信デバイスに表示されたピンコードと同一であれば、前記アクション転送デバイスは認証され、そうでない場合には認証が拒絶される(S1950)。
一方、前記ピンコードのような認証情報は限定された時間の間のみに有効である。例えば、サービス加入が満了する場合やサービス加入されていない場合、前記スクリーンコントロールポイントは、またサービスを加入する時、また認証手続きを経なければならない。
図20は本発明が適用される一実施形態であって、デバイス間のアプリケーション連結を通じて同期化された通信を遂行する過程を説明するためのフローチャートである。
スクリーンコントロールポイントは、スクリーンデバイスにアプリケーション活性化を要求することができる(S2010)。この際、アプリケーション活性化アクションが用いられることができ、前記アクションは活性化されるアプリケーション識別子を含むことができる。前記要求に基づいて、前記スクリーンデバイスはアプリケーションを実行することができる。
上記のようにアプリケーションが実行されれば、前記スクリーンコントロールポイントは、前記スクリーンデバイスにアプリケーション連結情報を要求することができる(S2020)。この際、連結情報獲得アクションが利用できる。前記スクリーンデバイスは前記要求に応答して、連結情報を前記スクリーンコントロールポイントに転送することができる。ここで、前記連結情報はアプリケーション情報リストの特定部分を含むことができる。前記連結情報はアプリケーション間の情報(apptoappinfo)を示すことができ、例えば、前記アプリケーション間の情報(apptoappinfo)は特定プロトコル名称情報、転送プロトコル情報、及び連結アドレス情報のうち、少なくとも1つを含むことができる。ここで、前記連結アドレス情報はアプリケーション間の通信のためのアクセス情報を意味することができる。
前記スクリーンコントロールポイントは、前記連結情報に基づいて、前記スクリーンデバイスにアプリケーション間の連結を要求することができる(S2030)。この際、アプリケーション間の連結アクションが利用できる。前記スクリーンデバイスは前記要求に応答して、連結識別子を前記スクリーンコントロールポイントに転送することができる。
前記のような過程を通じてアプリケーション間の連結が設定されれば(S2040)、前記スクリーンコントロールポイントと前記スクリーンデバイスはアプリケーション間のシステム同期化及び/又はコンテンツ同期化を遂行することができる(S2050)。
そして、前記スクリーンコントロールポイントと前記スクリーンデバイスはアプリケーションを通じて同期化された通信を遂行することができる(S2060)。
図21から図37は本発明が適用される一実施形態であって、アプリケーション管理のために必要とするアクション(actions)とそのアーギュメント(argument)を示す。
前記図21から図37に記載されたアクション名称は一実施形態に過ぎず、本発明はアクション名称に限定されて解析されず、本明細書で説明される意味として解析されなければならない。そして、アーギュメントの方向(direction)のうち、“IN”は入力情報として解析されることができ、“OUT”は出力情報として解析されることができる。
図21は本発明が適用される実施形態であって、第1アプリケーション情報獲得アクションとそのアーギュメントを示す。
前記第1アプリケーション情報獲得アクションは、スクリーンコントロールポイントをしてアプリケーション識別子により特定されたアプリケーション情報を獲得することを可能にすることができる。そして、前記第1アプリケーション情報獲得アクションの名称はSearchAppInfo()またはGetAppInfo()として表示できる(2100)。
前記第1アプリケーション情報獲得アクションのアーギュメントは、アプリケーション識別子2110、基準情報2120、デバイスプロファイル情報2130、フィルター情報2140、及びアプリケーション情報2150のうち、少なくとも1つを含むことができる。
ここで、前記アプリケーション識別子2110は情報を獲得しようとするアプリケーションを識別する情報を示す。例えば、特定値“XYZ”が入力されれば、前記特定値“XYZ”により識別されるアプリケーションを示し、特定値“*”または“(empty string)”が入力されれば、アプリケーション情報リストの全てのアプリケーションを意味することができる。
前記基準情報2120は、アプリケーションの状態を区別するための情報を示す。例えば、前記基準情報2120は利用可能なアプリケーションの情報なのか、活性化アプリケーションの情報なのか、または特定アプリケーションの情報なのかを区別することができる。
前記デバイスプロファイル情報2130は、該当デバイスのプロファイル情報を示す。例えば、前記デバイスプロファイル情報が解像度“1920x1080”を示す場合、前記解像度を満たすアプリケーション情報を獲得することができる。
前記フィルター情報2140は、特定条件を満たすアプリケーション情報を獲得するために用いられる情報を示す。
前記アプリケーション情報2150は多様なアクション内のアーギュメントに対するタイプ情報を示す。例えば、前記アプリケーション情報2150はアプリケーション情報リスト変数の特定部分でありうる。前記アプリケーション情報リスト変数は、図38で詳細に説明する。
前記図21の実施形態は、前記図14の構成要素により遂行できる。例えば、第1スクリーンデバイス1410のコントローラ1413は、ネットワークインターフェース1414を介して前記第1アプリケーション情報獲得アクションを第2スクリーンデバイス1420に転送することができる。
前記第2スクリーンデバイス1420のコントローラ1423は、ネットワークインターフェース1424を介して前記第1アプリケーション情報獲得アクションを受信することができる。そして、前記第2スクリーンデバイス1420のコントローラ1423は、前記第1アプリケーション情報獲得アクションに応答して、前記第1スクリーンデバイス1410にアプリケーション情報を転送することができる。この際、前記アプリケーション情報は前記第1アプリケーション情報獲得アクションの入力情報に基づいて決定された特定アプリケーションに関する情報でありうる。前記入力情報は、アプリケーション識別子2110、基準情報2120、デバイスプロファイル情報2130、またはフィルター情報2140のうち、少なくとも1つを含むことができる。
図22は本発明が適用される実施形態であって、第2アプリケーション情報獲得アクションとそのアーギュメントを示す。
前記第2アプリケーション情報獲得アクションは、スクリーンコントロールポイントをしてアプリケーション識別子により特定されたアプリケーション情報のみを獲得することを可能にすることができる。そして、前記第2アプリケーション情報獲得アクションの名称はSimpleGetAppInfo()として表示できる(2200)。
前記第2アプリケーション情報獲得アクションのアーギュメントは、アプリケーション識別子2210及びアプリケーション情報2220のうち、少なくとも1つを含むことができる。
ここで、前記アプリケーション識別子2210と前記アプリケーション情報2220は前記図21の説明が適用できる。
前記図22の実施形態は、前記図14の構成要素により遂行できる。例えば、第1スクリーンデバイス1410のコントローラ1413はネットワークインターフェース1414を介して前記第2アプリケーション情報獲得アクションを第2スクリーンデバイス1420に転送することができる。
前記第2スクリーンデバイス1420のコントローラ1423は、ネットワークインターフェース1424を介して前記第2アプリケーション情報獲得アクションを受信することができる。そして、前記第2スクリーンデバイス1420のコントローラ1423は、前記第2アプリケーション情報獲得アクションに応答して、前記第1スクリーンデバイス1410にアプリケーション情報を転送することができる。この際、前記アプリケーション情報は前記第2アプリケーション情報獲得アクションの入力情報に基づいて決定された特定アプリケーションに関する情報でありうる。前記入力情報はアプリケーション識別子2210を含むことができる。
図23は本発明が適用される実施形態であって、利用可能なアプリケーション情報獲得アクションとそのアーギュメントを示す。
前記利用可能なアプリケーション情報獲得アクション2300は、アクション受信デバイスから利用可能なアプリケーションの情報を獲得することを可能にすることができる。そして、前記利用可能なアプリケーション情報獲得アクション2300の名称はGetAvailableApp()として表示できる(2300)。
前記利用可能なアプリケーション情報獲得アクション2300のアーギュメントは、アプリケーション識別子2310、基準情報2320、デバイスプロファイル情報2330、フィルター情報2340、及び利用可能なアプリケーション情報2350のうち、少なくとも1つを含むことができる。
ここで、前記アプリケーション識別子2310、前記基準情報2320、前記デバイスプロファイル情報2330、及び前記フィルター情報2340は、前記図21で説明した内容が適用できる。
前記利用可能なアプリケーション情報2350は、マルチスクリーンサービスを提供するために利用可能なアプリケーションの情報を意味することができる。
前記図23の実施形態は前記図14の構成要素により遂行できる。例えば、第1スクリーンデバイス1410のコントローラ1413は、ネットワークインターフェース1414を介して利用可能なアプリケーション情報獲得アクション1400を第2スクリーンデバイス1420に転送することができる。
前記第2スクリーンデバイス1420のコントローラ1423は、ネットワークインターフェース1424を介して前記利用可能なアプリケーション情報獲得アクション1400を受信することができる。そして、前記第2スクリーンデバイス1420のコントローラ1423は、前記利用可能なアプリケーション情報獲得アクション2300に応答して、前記第1スクリーンデバイス1410に利用可能なアプリケーション情報を転送することができる。この際、前記利用可能なアプリケーション情報は、前記第2アプリケーション情報獲得アクションの入力情報に基づいて決定できる。前記入力情報は、前記アプリケーション識別子2310、前記基準情報2320、前記デバイスプロファイル情報2330、及び前記フィルター情報2340のうち、少なくとも1つを含むことができる。
図24は本発明が適用される実施形態であって、実行アプリケーション情報獲得アクション(running application information obtaining action)とそのアーギュメントを示す。
前記実行アプリケーション情報獲得アクション2400は、スクリーンコントロールポイントをして実行中のアプリケーションのリストを獲得することを可能にすることができる。そして、前記実行アプリケーション情報獲得アクション2400の名称はGetRunningApp()として表示できる(2400)。
前記実行アプリケーション情報獲得アクション2400のアーギュメントは実行中のアプリケーション情報2410を含むことができる。
ここで、前記実行中のアプリケーション情報2410は、実行中のアプリケーションのリストを意味することができる。例えば、前記実行中のアプリケーション情報2410は、アプリケーション情報リストに含まれた変数“実行状態情報(“RunningStatus”)が実行中(Running)”に設定されたアプリケーションの識別子のリストを意味することができる。
前記図24の実施形態は、前記図14の構成要素により遂行できる。例えば、第1スクリーンデバイス1410のコントローラ1413は、ネットワークインターフェース1414を介して実行アプリケーション情報獲得アクション2400を第2スクリーンデバイス1420に転送することができる。
前記第2スクリーンデバイス1420のコントローラ1423は、ネットワークインターフェース1424を介して前記実行アプリケーション情報獲得アクション2400を受信することができる。そして、前記第2スクリーンデバイス1420のコントローラ1423は、前記実行アプリケーション情報獲得アクション2400に応答して、前記第1スクリーンデバイス1410に実行中のアプリケーション情報を転送することができる。
図25は本発明が適用される実施形態であって、実行状態情報獲得アクション(running status information obtaining action)とそのアーギュメントを示す。
前記実行状態情報獲得アクション2500は、スクリーンコントロールポイントをしてアプリケーション識別子により特定されたアプリケーションの実行状態情報を獲得することを可能にすることができる。そして、前記実行状態情報獲得アクション2500の名称はGetRunningStatus()として表示できる(2500)。
前記実行状態情報獲得アクション2500のアーギュメントはアプリケーション識別子2510と実行状態情報2520を含むことができる。
ここで、前記アプリケーション識別子2510は実行状態情報を獲得するためのアプリケーションを示し、先の実施形態で説明した内容が同様に適用できる。
前記実行状態情報(“RunningStatus”)2520は、アプリケーション情報リストの特定部分を示すことができる。前記実行状態情報2520は、前記アプリケーション識別子2510により特定されたアプリケーションの要素、その属性及びその実行状態要素を含むことができる。
前記図25の実施形態は前記図14の構成要素により遂行できる。例えば、第1スクリーンデバイス1410のコントローラ1413はネットワークインターフェース1414を介して実行状態情報獲得アクション2500を第2スクリーンデバイス1420に転送することができる。
前記第2スクリーンデバイス1420のコントローラ1423は、ネットワークインターフェース1424を介して前記実行状態情報獲得アクション2500を受信することができる。そして、前記第2スクリーンデバイス1420のコントローラ1423は、前記実行状態情報獲得アクション2500に応答して、前記第1スクリーンデバイス1410に実行中のアプリケーションの実行状態情報2520を転送することができる。
図26は本発明が適用される実施形態であって、第1アプリケーション活性化アクションとそのアーギュメントを示す。
前記第1アプリケーション活性化アクション2600は、スクリーンデバイス上でアプリケーション情報リストに含まれたアプリケーションを実行するようにすることができる。前記アプリケーションは、アプリケーション識別子により識別できる。その上、前記第1アプリケーション活性化アクション2600は実行中のアプリケーションの活性化パラメータ情報を提供するために用いられることもできる。そして、前記第1アプリケーション活性化アクション2600の名称はActivateAppByID()として表示できる(2600)。
前記第1アプリケーション活性化アクション2600のアーギュメントは、アプリケーション識別子2610とパラメータ情報2620を含むことができる。
ここで、前記アプリケーション識別子2610は活性化されるアプリケーションを示し、先の実施形態で説明した内容が同様に適用できる。
前記パラメータ情報2620はパラメータタイプを示すことができ、例えば、前記パラメータタイプは活性化パラメータ情報または設置パラメータ情報のうちの1つを示すことができる。
前記図26の実施形態は、前記図14の構成要素により遂行できる。例えば、第1スクリーンデバイス1410のコントローラ1413はネットワークインターフェース1414を介して第1アプリケーション活性化アクション2600を第2スクリーンデバイス1420に転送することができる。
前記第2スクリーンデバイス1420のコントローラ1423は、ネットワークインターフェース1424を介して前記第1アプリケーション活性化アクション2600を受信することができる。そして、前記第2スクリーンデバイス1420のコントローラ1423は、前記第1アプリケーション活性化アクション2600に応答して、前記第2スクリーンデバイス1420内のアプリケーションを活性化することができる。
図27は本発明が適用される実施形態であって、第2アプリケーション活性化アクションとそのアーギュメントを示す。
前記第2アプリケーション活性化アクション2700は、スクリーンデバイス上でURIを用いてアプリケーションを実行するようにすることができる。その上、前記第2アプリケーション活性化アクション2700は転移ペンディング入力(transitioning pending input)中のアプリケーションの活性化パラメータ情報を提供するために利用できる。そして、前記第2アプリケーション活性化アクション2700の名称はActivateAppByURI()として表示できる(2700)。
前記第2アプリケーション活性化アクション2700のアーギュメントは、活性化URI情報2710、アプリケーション情報2720、パラメータ情報2730、及びアプリケーション識別子2740のうち、少なくとも1つを含むことができる。
ここで、前記活性化URI情報2710はアプリケーションを始めるURI情報を示す。
前記アプリケーション情報2720はアプリケーション情報リスト変数の特定部分を示し、始まるアプリケーションの付加情報を提供することができる。例えば、ユーザにより設定された名称を含むことができる。
前記パラメータ情報2730はパラメータタイプを示すことができ、例えば、前記パラメータタイプは活性化パラメータ情報または設置パラメータ情報のうちの1つを示すことができる。
前記アプリケーション識別子2740は新しく割り当てられたアプリケーション識別子を示すか、または前記活性化URI情報2710と同一なURIを有するアプリケーションの識別子を示すことができる。仮に、アプリケーションが設置されず、URIを用いて始まることができ、スクリーンデバイスのアプリケーション情報リスト変数内に前記活性化URI情報2710がなければ、スクリーンデバイスは前記第2アプリケーション活性化アクション2700を通じてアプリケーションを始めることができる。
例えば、前記第2アプリケーション活性化アクション2700を受信すれば、前記スクリーンデバイスはアプリケーション情報リストに新たなアプリケーション要素を生成することができる。この際、前記新たなアプリケーション要素は、活性化URI情報と付加情報を含むことができる。そして、アプリケーション識別子に新たな値を割り当てて、前記新たな値を、前記アプリケーション識別子2740を通じて出力(return)することができる。
前記図27の実施形態は、前記図14の構成要素により遂行できる。例えば、第1スクリーンデバイス1410のコントローラ1413は、ネットワークインターフェース1414を介して第2アプリケーション活性化アクション2700を第2スクリーンデバイス1420に転送することができる。
前記第2スクリーンデバイス1420のコントローラ1423は、ネットワークインターフェース1424を介して前記第2アプリケーション活性化アクション2700を受信することができる。そして、前記第2スクリーンデバイス1420のコントローラ1423は、前記第2アプリケーション活性化アクション2700に応答して、前記第2スクリーンデバイス1420内のアプリケーションを活性化することができる。即ち、前記コントローラ1423はアプリケーションを始めるURI情報に基づいてアプリケーションを活性化することができる。活性化されたアプリケーションはディスプレイ1421を通じて出力できる。
図28は本発明が適用される実施形態であって、不活性化アクションとそのアーギュメントを示す。
前記不活性化アクション2800は、スクリーンデバイス上でアプリケーション識別子により指定されたアプリケーションを停止するようにすることができる。前記不活性化アクション2800の名称はDeactivateApp()として表示できる(2800)。
前記不活性化アクション2800のアーギュメントはアプリケーション識別子2810と停止されたアプリケーション識別子2820を含むことができる。
ここで、前記アプリケーション識別子2810は不活性化されるアプリケーションを示し、先の実施形態で説明した内容が同様に適用できる。
前記停止されたアプリケーション識別子2820は、停止されたアプリケーションの識別子のリストを示す。
前記図28の実施形態は、前記図14の構成要素により遂行できる。例えば、第1スクリーンデバイス1410のコントローラ1413は、ネットワークインターフェース1414を介して不活性化アクション2800を第2スクリーンデバイス1420に転送することができる。
前記第2スクリーンデバイス1420のコントローラ1423は、ネットワークインターフェース1424を介して前記不活性化アクション2800を受信することができる。そして、前記第2スクリーンデバイス1420のコントローラ1423は、前記不活性化アクション2800に応答して、前記第2スクリーンデバイス1420内のアプリケーションを停止することができる。前記停止されたアプリケーションは、ユーザインターフェース1412、1422を介してユーザにより制御できる。
図29は本発明が適用される実施形態であって、第1アプリケーション設置アクションとそのアーギュメントを示す。
前記第1アプリケーション設置アクション2900は、スクリーンデバイス上でアプリケーション情報リストに含まれた情報を用いてアプリケーションを設置するようにすることができる。その上、前記第1アプリケーション設置アクション2900は設置ペンディング入力(installation pending input)中のアプリケーションの設置パラメータ情報を提供するために用いられることもできる。また、最新バージョンが存在する場合、設置されたアプリケーションを前記最新バージョンにアップデートするために用いられることもできる。一方、前記第1アプリケーション設置アクション2900の名称はInstallAppByID()として表示できる(2900)。
前記第1アプリケーション設置アクション2900のアーギュメントは、アプリケーション識別子2910とパラメータ情報2920を含むことができる。
ここで、前記アプリケーション識別子2910は設置されるアプリケーションを示し、先の実施形態で説明した内容が同様に適用できる。
前記パラメータ情報2920はパラメータタイプを示すことができ、例えば、前記パラメータタイプは活性化パラメータ情報または設置パラメータ情報のうちの1つを示すことができる。
前記図29の実施形態は、前記図14の構成要素により遂行できる。例えば、第1スクリーンデバイス1410のコントローラ1413は、ネットワークインターフェース1414を介して第1アプリケーション設置アクション2900を第2スクリーンデバイス1420に転送することができる。この際、前記第1アプリケーション設置アクション2900は、入力情報としてアプリケーション識別子2910とパラメータ情報2920を含むことができる。
前記第2スクリーンデバイス1420のコントローラ1423は、ネットワークインターフェース1424を介して前記第1アプリケーション設置アクション2900を受信することができる。そして、前記第2スクリーンデバイス1420のコントローラ1423は、前記第1アプリケーション設置アクション2900に応答して、アプリケーションを設置することができる。
図30は本発明が適用される実施形態であって、第2アプリケーション設置アクションとそのアーギュメントを示す。
前記第2アプリケーション設置アクション3000は、スクリーンデバイス上でURIを用いてアプリケーションを設置するようにすることができる。その上、前記第2アプリケーション設置アクション3000は、設置ペンディング入力(installing pending input)中のアプリケーションの設置パラメータ情報を提供するために利用できる。そして、前記第2アプリケーション設置アクション3000の名称はInstallAppByURI()として表示できる(3000)。
前記第2アプリケーション設置アクション3000のアーギュメントは、設置URI情報3010、アプリケーション情報3020、パラメータ情報3030、及びアプリケーション識別子3040のうち、少なくとも1つを含むことができる。
ここで、前記設置URI情報3010はアプリケーションを設置するURI情報を示す。
前記アプリケーション情報3020はアプリケーション情報リスト変数の特定部分を示し、設置されるアプリケーションの付加情報を提供することができる。例えば、ユーザにより設定された名称を含むことができる。
前記パラメータ情報3030はパラメータタイプを示すことができ、例えば、前記パラメータタイプは活性化パラメータ情報または設置パラメータ情報のうちの1つを示すことができる。
前記アプリケーション識別子3040は新しく割り当てられたアプリケーション識別子を示すか、または前記設置URI情報3010と同一なURIを有するアプリケーションの識別子を示すことができる。仮に、スクリーンデバイスのアプリケーション情報リスト変数内に前記設置URI情報3010がなければ、前記第2アプリケーション設置アクション3000はスクリーンデバイス上でアプリケーションを設置するようにすることができる。
例えば、第2スクリーンデバイス1420のコントローラ1423はネットワークインターフェース1424を介して前記第2アプリケーション設置アクション3000を受信すれば、前記コントローラ1423はアプリケーション情報リスト変数内に新たなアプリケーション要素を生成することができる。この際、前記新たなアプリケーション要素は設置URI情報と付加情報を含むことができる。そして、前記コントローラ1423はアプリケーション識別子に新たな値を割り当てて、前記新たな値を、前記アプリケーション識別子3040を通じて出力(return)することができる。前記コントローラ1423はネットワークインターフェース1424を介して第1スクリーンデバイス1410に新たな値に割り当てられた前記アプリケーション識別子3040を転送することができる。
図31は本発明が適用される実施形態であって、削除(uninstallation)アクションとそのアーギュメントを示す。
前記削除アクション3100は、スクリーンデバイス上でアプリケーション識別子により指定されたアプリケーションを削除するようにすることができる。前記削除アクション3100の名称はUninstallApp()として表示できる(3100)。
前記削除アクション3100のアーギュメントはアプリケーション識別子2210と削除されたアプリケーション識別子3120を含むことができる。
ここで、前記アプリケーション識別子3110は削除されるアプリケーションを示し、先の実施形態で説明した内容が同様に適用できる。
前記削除されたアプリケーション識別子3120は、削除されたアプリケーションの識別子のリストを示す。
前記図31の実施形態は、前記図14の構成要素により遂行できる。例えば、第1スクリーンデバイス1410のコントローラ1413はネットワークインターフェース1414を介して削除アクション3100を第2スクリーンデバイス1420に転送することができる。この際、前記削除アクション3100は入力情報としてアプリケーション識別子310を含むことができる。
前記第2スクリーンデバイス1420のコントローラ1423は、ネットワークインターフェース1424を介して前記削除アクション3100を受信することができる。そして、前記第2スクリーンデバイス1420のコントローラ1423は、前記削除アクション3100に応答して、前記第1スクリーンデバイス1410に削除されたアプリケーションの識別子を転送することができる。
図32は本発明が適用される実施形態であって、設置状態情報獲得アクション(installation status information obtaining action)とそのアーギュメントを示す。
前記設置状態情報獲得アクション3200は、スクリーンコントロールポイントをしてアプリケーション識別子により特定されたアプリケーションの設置状態情報を獲得することを可能にすることができる。そして、前記設置状態情報獲得アクション3200の名称はGetAppInstallationStatus()として表示できる(3200)。
前記設置状態情報獲得アクション3200のアーギュメントは、アプリケーション識別子3210と設置状態情報3220を含むことができる。
ここで、前記アプリケーション識別子3210は設置状態情報を獲得するためのアプリケーションを示し、先の実施形態で説明した内容が同様に適用できる。
前記設置状態情報(“InstallationStatus”)3220は、アプリケーション情報リストの特定部分を示すことができる。前記設置状態情報3220は、前記アプリケーション識別子3210により特定されたアプリケーションの要素、その属性、及びその設置状態要素を含むことができる。例えば、前記設置状態要素は“設置完了”、“ダウンロード進行中”、及び“設置進行中”を含むことができる。
前記図32の実施形態は、前記図14の構成要素により遂行できる。例えば、第1スクリーンデバイス1410のコントローラ1413はネットワークインターフェース1414を介して設置状態情報獲得アクション3200を第2スクリーンデバイス1420に転送することができる。この際、前記設置状態情報獲得アクション3200は、入力情報としてアプリケーション識別子3210を含むことができる。
前記第2スクリーンデバイス1420のコントローラ1423は、ネットワークインターフェース1424を介して前記設置状態情報獲得アクション3200を受信することができる。そして、前記第2スクリーンデバイス1420のコントローラ1423は、前記設置状態情報獲得アクション3200に応答して、前記第1スクリーンデバイス1410に“設置完了”、“ダウンロード進行中”、及び“設置進行中”のうち、いずれか1つの設置状態情報を転送することができる。
図33は本発明が適用される実施形態であって、連結情報獲得アクション(connection information obtaining action)とそのアーギュメントを示す。
前記連結情報獲得アクション3300は、スクリーンコントロールポイントをしてアプリケーション識別子により特定されたアプリケーションの連結情報を獲得することを可能にすることができる。そして、前記連結情報獲得アクション3300の名称はGetAppConnectionInfo()として表示できる(3300)。
前記連結情報獲得アクション3300のアーギュメントは、アプリケーション識別子3310と連結情報3320を含むことができる。
ここで、前記アプリケーション識別子3310は連結情報を獲得するためのアプリケーションを示し、先の実施形態で説明した内容が適用できる。
前記連結情報3320は、アプリケーション情報リストの特定部分を示すことができる。前記連結情報3320は、前記アプリケーション識別子3310により特定されたアプリケーションの要素、その属性、及びそのアプリケーション間の情報要素を含むことができる。例えば、前記アプリケーション間の情報要素は特定プロトコル名称情報、転送プロトコル情報、及び連結アドレス情報のうち、少なくとも1つを含むことができる。ここで、前記連結アドレス情報はアプリケーション間の通信のためのアクセス情報を意味することができる。
前記図33の実施形態は、前記図14の構成要素により遂行できる。例えば、第1スクリーンデバイス1310のコントローラ1413は、ネットワークインターフェース1414を介して連結情報獲得アクション3300を第2スクリーンデバイス1420に転送することができる。この際、前記連結情報獲得アクション3300は入力情報としてアプリケーション識別子3310を含むことができる。
前記第2スクリーンデバイス1420のコントローラ1423は、ネットワークインターフェース1424を介して前記連結情報獲得アクション3300を受信することができる。そして、前記第2スクリーンデバイス1420のコントローラ1423は、前記連結情報獲得アクション3300に応答して、前記第1スクリーンデバイス1410に連結情報3320、例えば、特定プロトコル名称情報、転送プロトコル情報、及び連結アドレス情報のうち、少なくとも1つを転送することができる。
前記連結情報3320に基づいて、前記第1スクリーンデバイス1410と前記第2スクリーンデバイス1420は、ネットワークインターフェース1414、1424を介して連結されて相互間の通信を遂行できるようになる。
図34は本発明が適用される実施形態であって、アプリケーション間の連結アクション(apptoapp connection action)とそのアーギュメントを示す。
前記アプリケーション間の連結アクション3400は、スクリーンデバイスとアプリケーションとの間の連結を設定するために用いられ、連結管理を可能にする。前記アプリケーション間の連結アクション3400の名称はConnectApptoApp()として表示できる(3400)。
前記アプリケーション間の連結アクション3400のアーギュメントは、アプリケーション識別子3410と連結識別子3420を含むことができる。
ここで、前記アプリケーション識別子3410はスクリーンデバイスとアプリケーションとの間の連結を設定するためのアプリケーションを示す。
前記連結識別子3420は設定されたアプリケーション間の連結識別子を示し、これはスクリーンデバイスにより割り当てられることができる。
前記図34の実施形態は、前記図14の構成要素により遂行できる。例えば、第1スクリーンデバイス1410のコントローラ1413は、ネットワークインターフェース1414を介してアプリケーション間の連結アクション3400を第2スクリーンデバイス1420に転送することができる。この際、前記アプリケーション間の連結アクション3400は入力情報としてアプリケーション識別子3410を含むことができる。
前記第2スクリーンデバイス1420のコントローラ1423は、ネットワークインターフェース1424を介して前記アプリケーション間の連結アクション3400を受信することができる。そして、前記第2スクリーンデバイス1420のコントローラ1423は、前記アプリケーション間の連結アクション3400に応答して、前記第1スクリーンデバイス1410に連結識別子3420を転送することができる。
前記連結識別子3420に基づいて、前記第1スクリーンデバイス1410と前記第2スクリーンデバイス1420はマルチスクリーンサービス提供のための連結を遂行することができる。
図35は本発明が適用される実施形態であって、アプリケーション間の連結解除アクション(apptoapp disconnection action)とそのアーギュメントを示す。
前記アプリケーション間の連結解除アクション3500は、連結識別子により特定されたアプリケーション間の連結をスクリーンデバイスから解除するために利用できる。前記アプリケーション間の連結解除アクション3500の名称はDisconnectApptoApp()として表示できる(3500)。
前記アプリケーション間の連結解除アクション3500のアーギュメントは、連結識別子3510と連結解除された連結識別子3520を含むことができる。
ここで、前記連結識別子3510は連結解除される連結を示し、前記連結解除された連結識別子3520は連結解除されたアプリケーション間の連結識別子リストを示す。
前記図35の実施形態は、前記図14の構成要素により遂行できる。例えば、第1スクリーンデバイス1410のコントローラ1413は、ネットワークインターフェース1414を介してアプリケーション間の連結解除アクション3500を第2スクリーンデバイス1420に転送することができる。この際、前記アプリケーション間の連結解除アクション3500は入力情報として連結識別子3510を含むことができる。
前記第2スクリーンデバイス1420のコントローラ1423は、ネットワークインターフェース1424を介して前記アプリケーション間の連結解除アクション3500を受信することができる。そして、前記第2スクリーンデバイス1420のコントローラ1423は、前記アプリケーション間の連結解除アクション3500に応答して、前記第1スクリーンデバイス1410に連結解除された連結識別子3520を転送することができる。
前記連結解除された連結識別子3520に基づいて、前記第1スクリーンデバイス1410と前記第2スクリーンデバイス1420との間の連結は解除される。
図36は本発明が適用される実施形態であって、現在連結情報獲得アクション(current connection information obtaining action)とそのアーギュメントを示す。
前記現在連結情報獲得アクション3600は、スクリーンコントロールポイントをしてアプリケーション間の連結アクションにより設立され、現在スクリーンデバイスがサポートしているアプリケーション間の連結の情報を収集するようにする。前記現在連結情報獲得アクション3600の名称はGetCurentConnectionInfo()として表示できる(3600)。
前記現在連結情報獲得アクション3600のアーギュメントは、連結識別子3610と連結アプリケーション識別子3620を含むことができる。
ここで、前記連結識別子3610は現在アプリケーション間の連結識別子を示すことができる。
前記連結アプリケーション識別子3620は、アプリケーション間の連結に対応するアプリケーション識別子を示すことができる。
前記図36の実施形態は、前記図14の構成要素により遂行できる。例えば、第1スクリーンデバイス1410のコントローラ1413は、ネットワークインターフェース1414を介して現在連結情報獲得アクション3600を第2スクリーンデバイス1420に転送することができる。この際、前記現在連結情報獲得アクション3600は入力情報として連結識別子3610を含むことができる。
前記第2スクリーンデバイス1420のコントローラ1423は、ネットワークインターフェース1424を介して前記現在連結情報獲得アクション3600を受信することができる。そして、前記第2スクリーンデバイス1420のコントローラ1423は、前記現在連結情報獲得アクション3600に応答して、前記第1スクリーンデバイス1410にアプリケーション間の連結に対応するアプリケーション識別子を転送することができる。
図37は本発明が適用される実施形態であって、検索フィールド獲得アクション(searchable field obtaining action)とそのアーギュメントを示す。
前記検索フィールド獲得アクション3700は、スクリーンコントロールポイントをしてサポートされる検索フィールド情報を獲得するようにすることができる。前記検索フィールド獲得アクション3700の名称はGetSupportedTargetFields()として表示できる(3700)。
前記検索フィールド獲得アクション3700のアーギュメントは、サポートされる検索フィールド情報3710を含むことができる。ここで、前記サポートされる検索フィールド情報3710は、検索可能なフィールドのリストを示し、これはスクリーンデバイスのアプリケーション情報リストの要素でありうる。前記サポートされる検索フィールド情報3710は、ユーザにより作られたアプリケーション名称及びプロトコル名称のうち、少なくとも1つを含むことができる。
前記図37の実施形態は、前記図14の構成要素により遂行できる。例えば、第1スクリーンデバイス1410のコントローラ1413は、ネットワークインターフェース1414を介して検索フィールド獲得アクション3700を第2スクリーンデバイス1420に転送することができる。
前記第2スクリーンデバイス1420のコントローラ1423は、ネットワークインターフェース1424を介して前記検索フィールド獲得アクション3700を受信することができる。そして、前記第2スクリーンデバイス1420のコントローラ1423は、前記検索フィールド獲得アクション3700に応答して、前記第1スクリーンデバイス1410にサポートされる検索フィールド情報3710、例えば、ユーザにより作られたアプリケーション名称及びプロトコル名称のうち、少なくとも1つを転送することができる。
図38は本発明が適用される一実施形態であって、アプリケーション管理のために必要な状態変数を示す。
本発明において、アプリケーション管理のために必要な状態変数は、アプリケーション情報リスト3801、利用可能なアプリケーション情報3802、検索フィールド情報3803、アプリケーション識別子3804、検索情報3805、検索フィールド情報3806、フィルター情報3807、実行中のアプリケーションリスト3808、URI情報3809、パラメータ情報3810、連結識別子3811のうち、少なくとも1つを含むことができる。
前記アプリケーション情報リスト3801は、スクリーンデバイスがマルチスクリーンサービスのために有しているアプリケーションの全体情報を含むことができる。前記アプリケーション情報リスト3801は、XMLテンプレートで表現されることができ、サブ要素構造を含むことができる。
例えば、前記アプリケーション情報リスト3801はアプリケーション要素を含むことができ、アプリケーション要素が複数個の場合、各アプリケーション別にその属性とサブ要素を含む構造で示すことができる。
前記アプリケーション要素は、アプリケーション識別子、マーケットアプリケーション識別子要素、ユーザ説明要素、代替識別子要素、機能要素、実行状態要素、活性化URI要素、設置状態要素、ダウンロード進行状態要素、設置進行状態要素、設置URI要素、使用政策要素、アプリケーション間の情報要素、及びアイコンリスト要素のうち、少なくとも1つを含むことができる。
前記アプリケーション識別子は、アプリケーション管理サービス内のアプリケーションの固有識別子を示す。
前記マーケットアプリケーション識別子要素は、アプリケーションマーケットにより割り当てられたアプリケーションの識別子を示し、マーケット情報とバージョン情報を含むことができる。ここで、前記マーケット情報はアプリケーションが提供されるディジタルプラットホームの識別子を示し、前記バージョン情報はアプリケーションのバージョンを示す。
前記ユーザ説明要素はユーザにより作られたアプリケーションに対する説明文句を示し、言語情報を含むことができる。
前記代替識別子要素は標準機関で使われるアプリケーションの識別子を示し、機関情報を含むことができる。前記機関情報は標準機関のドメインネームを意味することができる。
前記実行状態要素は、スクリーンデバイス上でのアプリケーションの活性化状態を示す。前記活性化状態は、不活性化、転移中(transitioning)、転移ペンディング入力中(transitioning pending input)、実行中(running)、未知(unknown)のうち、1つを示すことができる。
前記活性化URI要素はスクリーンコントロールポイントがアプリケーションを始めるために接続できるURIを示し、デバイスタイプ情報を含むことができる。ここで、前記デバイスタイプ情報はアプリケーションが適用可能なデバイスタイプを示し、前記デバイスタイプはメインスクリーンデバイス、コンパニオンスクリーンデバイス、または両方ともを意味することができる。
前記設置状態要素は、スクリーンデバイス上でアプリケーション識別子により指定されたアプリケーションの設置状態を示す。前記設置状態は、‘ダウンロードできない’、‘ダウンロード中’、‘ダウンロードペンディング入力中’、‘設置されない’、‘設置中’、‘設置ペンディング入力中’、‘設置完了’、‘未知’ のうち、1つを示すことができる。
前記ダウンロード進行状態要素は、前記設置状態要素が‘ダウンロード中’の場合のみに適用され、ダウンロード進行程度は0から100の間のパーセンテージで表現できる。
前記設置進行状態要素は、前記設置状態要素が‘設置中’の場合のみに適用され、設置進行程度は0から100の間のパーセンテージで表現できる。
前記設置URI要素はスクリーンコントロールポイントがアプリケーションを設置するために接続できるURIを示し、デバイスタイプ情報を含むことができる。ここで、前記デバイスタイプ情報はアプリケーションが適用可能なデバイスタイプを示し、前記デバイスタイプはメインスクリーンデバイス、コンパニオンスクリーンデバイス、または両方ともを意味することができる。
前記使用政策要素は、アプリケーション使用のための許可関連情報を示し、前記許可関連情報は‘制限無し’、‘購買必要’、‘試験のみ可能(trial only)’、‘父母同意必要’、‘ログイン必要’のうち、1つを示すことができる。
前記アプリケーション間の情報要素は、アプリケーション間の連結を生成するための情報を示し、実行状態要素が少なくとも‘実行中’の場合にサポートできる。前記アプリケーション間の情報要素は、マッチングプロトコル名称要素、プロトコル要素、及び連結アドレス要素のうち、少なくとも1つを含むことができる。前記マッチングプロトコル名称要素は、製造業者−定義されたプロトコル名称を示す。前記プロトコル要素は転送階層のプロトコルを示し、例えば、HTTP、ウェブソケット(websocket)、UPnPを含むことができる。前記連結アドレス要素は、アプリケーション間の通信のためのアクセス情報を示し、例えば、前記連結アドレス要素はHTTP URI、ウェブソケット(websocket)URI、uuid:device-uuid、製造業者定義アドレスを含むことができる。
前記利用可能なアプリケーション情報3802は、マルチスクリーンサービスを提供するために該当時間に利用可能なアプリケーションの情報を示す。
前記サポートされる検索フィールド情報3803は、サーチ可能なフィールドのリストを示す。
前記アプリケーション識別子アーギュメント3804は、多様なアクション内の多様なアプリケーション識別子のタイプ情報を提供する。
前記検索情報アーギュメント3805は、検索情報のタイプ情報を示す。
前記検索フィールド情報アーギュメント3806は、検索フィールド情報のタイプ情報を示す。
前記フィルター情報アーギュメント3807は、特定条件を満たすアプリケーション情報を獲得するために用いられる情報を示す。
前記実行中のアプリケーションリスト3808は、実行中のアプリケーションのリストを提供する。
前記URI情報アーギュメント3809は、活性化URIアーギュメントと設置URIアーギュメントのうち、いずれか1つに対するタイプ情報を示す。
前記パラメータ情報アーギュメント3810は、活性化パラメータアーギュメントと設置パラメータアーギュメントのうち、いずれか1つに対するタイプ情報を示す。
前記連結識別子アーギュメント3811は、アプリケーション間の連結の固有識別子のリストを示す。
図39は本発明が適用される実施形態であって、アプリケーションをアップデートする過程を示す。
マルチスクリーンサービスを提供するアプリケーションをアップデートするために、アップデート可能なアプリケーション獲得アクションとアプリケーションアップデートアクションのうち、少なくとも1つが必要である。
スクリーンコントロールポイントは、アップデート可能なアプリケーション獲得をスクリーンデバイスに要求することができる(S3910)。この際、アップデート可能なアプリケーション獲得アクションが利用できる。前記アップデート可能なアプリケーション獲得アクションは、スクリーンコントロールポイントをしてバージョンアップデートが可能なアプリケーションのリストを獲得するようにすることができる。前記スクリーンデバイスは、前記アクションに応答してバージョンアップデートが可能なアプリケーションのリストを前記スクリーンコントロールポイントに転送することができる。
前記スクリーンコントロールポイントは、最新バージョンでないアプリケーションに対してアプリケーションアップデートを要求することができる(S3920)。この際、アプリケーションアップデートアクションが利用できる。前記アプリケーションアップデートアクションはバージョン情報を含むことができ、前記バージョン情報が何らの情報を有していない場合、アプリケーションが最新バージョンにアップデートされなければならないことを意味することができる。前記要求によって、前記スクリーンデバイスは最新バージョンでないアプリケーションを最新バージョンにアップデートすることができる。
前記スクリーンコントロールポイントは、前記スクリーンデバイスにアップデートされたアプリケーションの設置を要求することができる(S3930)。この際、アプリケーション設置アクションが用いられることができ、前記アクションはアプリケーション識別子に基づいて、または設置URI(Uniform Resource Identifier)に基づいて遂行できる。
図40は本発明が適用される実施形態であって、アプリケーションの設置状態ダイヤグラムを示す。
まず、アプリケーションがダウンロードできない場合(4010)、ユーザはスクリーンコントロールポイントを通じてアプリケーション設置を要求することができる(4011)。この際、アプリケーションがどんな状態にあっても(4000)、設置取消要求(4001)によりアプリケーションが削除される場合(4005)にも、アプリケーションがダウンロードできないケースに該当すると見ることができる。
前記設置要求によりスクリーンデバイスはアプリケーションをダウンロードすることができる(4020)。この際、ユーザにより設置止め要求がある場合(4021)、前記アプリケーションのダウンロードは止めるようになる(4022)。前記スクリーンデバイスは、またユーザにより設置継続要求または設置要求を受信する場合(4023)、続けてダウンロードすることができる(4020)。
または、ダウンロード中、ユーザの入力が必要な場合(4024)、前記スクリーンデバイスはダウンロード過程でユーザ入力中の状態でありうる(4025)。この際、前記スクリーンデバイスはユーザ入力中の状態であることをディスプレイすることができる(4026)。ユーザ入力と共に設置要求時(4027)、前記スクリーンデバイスは続けてダウンロードすることができる(4020)。
ダウンロード中には設置未完了状態のことがあり(4030)、設置中の状態になることができる(4040)。この際、ユーザにより設置止め要求がある場合(4041)、前記アプリケーションの設置は止めるようになる(4042)。前記スクリーンデバイスは、またユーザにより設置継続要求または設置要求を受信する場合(4043)、続けて設置することができる(4040)。
または、設置中にユーザの入力が必要な場合(4044)、前記スクリーンデバイスは設置過程でユーザ入力中の状態でありうる(4045)。この際、前記スクリーンデバイスはユーザ入力中の状態であることをディスプレイすることができる(4046)。ユーザ入力と共に設置要求時(4047)、前記スクリーンデバイスは続けて設置することができる(4040)。
設置が完了すれば、前記スクリーンデバイスは設置完了状態となる(4050)。
本明細書で説明される多様な実施形態は、例えば、ソフトウェア、ハードウェア、またはこれらの組み合わせを用いてコンピュータまたはこれと類似の装置で読み取ることができる記録媒体内で具現できる。
ハードウェア的な具現によれば、ここに説明される実施形態は、ASICs(application specific integrated circuits)、DSPs(digital signal processors)、DSPDs(digital signal processing devices)、PLDs(programmable logic devices)、FPGAs(field programmable gate arrays、プロセッサ(processors)、制御器(controllers)、マイクロコントローラ(micro-controllers)、マイクロプロセッサ(microprocessors)、その他の機能遂行のための電気的なユニットのうち、少なくとも1つを用いて具現できる。一部の場合に、そのような実施形態がコントローラまたはコントロールポイントにより具現できる。
ソフトウェア的な具現によれば、手続や機能のような実施形態は少なくとも1つの機能または作動を遂行するようにする別個のソフトウェアモジュールと共に具現できる。ソフトウェアコードは適切なプログラム言語で書き込まれたソフトウェアアプリケーションにより具現できる。ソフトウェアコードはメモリに格納され、制御部により実行できる。
本発明の一実施形態によれば、前述した方法は、プログラムが記録された媒体にプロセッサが読み取ることができるコードとして具現することが可能である。プロセッサが読み取ることができる媒体の例には、ROM、RAM、CD−ROM、磁気テープ、フロッピーディスク、光データ格納装置などがあり、キャリアウェーブ(例えば、インターネットを介しての転送)の形態に具現されることも含む。