特許第6665086号(P6665086)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ サムスン エレクトロニクス カンパニー リミテッドの特許一覧

特許6665086機器別応用プログラムの間の通信のための装置及び方法
<>
  • 特許6665086-機器別応用プログラムの間の通信のための装置及び方法 図000005
  • 特許6665086-機器別応用プログラムの間の通信のための装置及び方法 図000006
  • 特許6665086-機器別応用プログラムの間の通信のための装置及び方法 図000007
  • 特許6665086-機器別応用プログラムの間の通信のための装置及び方法 図000008
  • 特許6665086-機器別応用プログラムの間の通信のための装置及び方法 図000009
  • 特許6665086-機器別応用プログラムの間の通信のための装置及び方法 図000010
  • 特許6665086-機器別応用プログラムの間の通信のための装置及び方法 図000011
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6665086
(24)【登録日】2020年2月21日
(45)【発行日】2020年3月13日
(54)【発明の名称】機器別応用プログラムの間の通信のための装置及び方法
(51)【国際特許分類】
   G06F 13/00 20060101AFI20200302BHJP
【FI】
   G06F13/00 353C
【請求項の数】12
【全頁数】13
(21)【出願番号】特願2016-516572(P2016-516572)
(86)(22)【出願日】2014年9月22日
(65)【公表番号】特表2016-533550(P2016-533550A)
(43)【公表日】2016年10月27日
(86)【国際出願番号】KR2014008770
(87)【国際公開番号】WO2015041488
(87)【国際公開日】20150326
【審査請求日】2017年8月28日
(31)【優先権主張番号】10-2013-0112794
(32)【優先日】2013年9月23日
(33)【優先権主張国】KR
【前置審査】
(73)【特許権者】
【識別番号】503447036
【氏名又は名称】サムスン エレクトロニクス カンパニー リミテッド
(74)【代理人】
【識別番号】100121382
【弁理士】
【氏名又は名称】山下 託嗣
(72)【発明者】
【氏名】リュ,ヨン−ソン
【審査官】 小林 義晴
(56)【参考文献】
【文献】 特開2013−066159(JP,A)
【文献】 クジラ飛行机,HTML5 スマホアプリ開発入門,日経ソフトウエア,日本,日経BP社,2012年11月24日,第16巻,第1号,p.110-115
(58)【調査した分野】(Int.Cl.,DB名)
G06F 13/00
(57)【特許請求の範囲】
【請求項1】
第1のデバイス上の第1のアプリケーションと第2のデバイス上の第2のアプリケーションとの間の通信のための方法であって、
前記第1のデバイスにより、前記第1のデバイス内のウェブソケットサーバを通して前記第1のアプリケーションを前記第2のアプリケーションに接続させるステップと、
前記第1のデバイスにより、前記ウェブソケットサーバを通して前記第1のアプリケーションから前記第2のアプリケーションにデータを伝送するか、または前記第1のデバイスにより、前記ウェブソケットサーバを通して前記第2のアプリケーションから前記第1のアプリケーションに対するデータを受信するステップと、を含み、
前記第1のアプリケーションと前記第2のアプリケーションとの間の前記ウェブソケットサーバを通した接続は、前記ウェブソケットサーバが前記第1のアプリケーション及び前記第2のアプリケーションの各々から接続リクエストを受信することに基づいて提供され、
前記ウェブソケットサーバを通した前記第1のアプリケーションと前記第2のアプリケーションとの間の接続は、前記ウェブソケットサーバに関連した情報、前記第1のアプリケーションに関連した情報、前記第2のアプリケーションに関連した情報を含むウェブソケットURL(uniform resource locator)に基づいて実行されることを特徴とする方法。
【請求項2】
前記ウェブソケットサーバと前記第1のアプリケーションとの間の第1の接続は、前記ウェブソケットサーバのプロトコルを利用して提供され、
前記ウェブソケットサーバと前記第2のアプリケーションとの間の第2の接続は、前記ウェブソケットサーバの前記プロトコルを利用して提供されることを特徴とする請求項1に記載の方法。
【請求項3】
前記第1の接続及び前記第2の接続は、前記第1のアプリケーションと前記第2のアプリケーションとの間の通信チャネルを設定するために前記ウェブソケットサーバにより中継される(relayed)ことを特徴とする請求項2に記載の方法。
【請求項4】
前記第1の接続及び前記第2の接続は、同一のチャネル識別子として割り当てられることを特徴とする請求項3に記載の方法。
【請求項5】
前記第1のアプリケーションと前記第2のアプリケーションとの間の接続は、前記ウェブソケットサーバによって前記第1のアプリケーション及び前記第2のアプリケーションの各々から接続解除(disconnection)リクエストを受信することにより応答して接続解除されることを特徴とする請求項1に記載の方法。
【請求項6】
前記第1のアプリケーションと前記第2のアプリケーションとの間の前記ウェブソケットサーバを通した接続は、ユーザリクエストのためにディスプレイされたリクエストに応答して、前記第1のデバイスのユーザまたは前記第2のデバイスのユーザのうちの少なくとも一つによるユーザ入力以後に提供されることを特徴とする請求項1に記載の方法。
【請求項7】
第1のデバイス上の第1のアプリケーションと第2のデバイス上の第2のアプリケーションとの間の通信のための前記第1のデバイスであって、
ウェブソケットサーバと、
通信インターフェースと、
前記通信インターフェースに接続された制御器と、を含み、
前記制御器は、
前記ウェブソケットサーバを通して前記第1のアプリケーションを前記第2のアプリケーションに接続させ、
前記ウェブソケットサーバを通して前記第1のアプリケーションから前記第2のアプリケーションにデータを伝送するか、または前記ウェブソケットサーバを通して前記第2のアプリケーションから前記第1のアプリケーションに対するデータを受信するように構成され、
前記第1のアプリケーションと前記第2のアプリケーションとの間の前記ウェブソケットサーバを通した接続は、前記ウェブソケットサーバが前記第1のアプリケーション及び前記第2のアプリケーションの各々から接続リクエストを受信することに基づいて提供され、
前記ウェブソケットサーバを通した前記第1のアプリケーションと前記第2のアプリケーションとの間の接続は、前記ウェブソケットサーバに関連した情報、前記第1のアプリケーションに関連した情報、前記第2のアプリケーションに関連した情報を含むウェブソケットURL(uniform resource locator)に基づいて実行されることを特徴とする第1のデバイス。
【請求項8】
前記ウェブソケットサーバと前記第1のアプリケーションとの間の第1の接続は、前記ウェブソケットサーバのプロトコルを利用して提供され、
前記ウェブソケットサーバと前記第2のアプリケーションとの間の第2の接続は、前記ウェブソケットサーバの前記プロトコルを利用して提供されることを特徴とする請求項7に記載の第1のデバイス。
【請求項9】
前記第1の接続及び前記第2の接続は、前記第1のアプリケーションと前記第2のアプリケーションとの間の通信チャネルを設定するために前記ウェブソケットサーバにより中継される(relayed)ことを特徴とする請求項8に記載の第1のデバイス。
【請求項10】
前記第1の接続及び前記第2の接続は、同一のチャネル識別子として割り当てられることを特徴とする請求項9に記載の第1のデバイス。
【請求項11】
前記第1のアプリケーションと前記第2のアプリケーションとの間の接続は、前記ウェブソケットサーバによって前記第1のアプリケーション及び前記第2のアプリケーションの各々から接続解除(disconnection)リクエストを受信することにより応答して接続解除されることを特徴とする請求項7に記載の第1のデバイス。
【請求項12】
前記第1のアプリケーションと前記第2のアプリケーションとの間の前記ウェブソケットサーバを通した接続は、ユーザリクエストのためにディスプレイされたリクエストに応答して、前記第1のデバイスのユーザまたは前記第2のデバイスのユーザのうちの少なくとも一つによるユーザ入力以後に提供されることを特徴とする請求項7に記載の第1のデバイス。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、同一のネットワークに接続された機器を通じて駆動される応用プログラム間の通信方法及び装置に関する。
【背景技術】
【0002】
無線通信の増大につれ、リアルタイム双方向データの通信と複数の同時接続者を受容可能なウェブソケット(web socket)通信が導入された。このようなウェブソケット通信は、サーバとクライアント間の通信に基づいて行われる。
【0003】
図1は、一般的なウェブソケット通信の動作方式の一例を示す図である。
【0004】
図1を参照すれば、サーバ102は、ウェブソケット通信をサポートするサーバであり、クライアント1乃至4(104〜110)の各々は、ウェブソケットプロトコルを使用して、所望するサーバ102と接続されてデータをやり取りする場合を仮定する。ここでは、説明の便宜上、ウェブソケット通信をサポートするサーバが一つの場合を例示するが、一つ以上のウェブソケットサーバが存在することがある。
【0005】
このようなウェブソケット通信は、既存の通信方法のうち一つであるHyper Text Transfer Protocol(以下、‘HTTP’と称する)が有する短所、すなわち、単方向通信を克服してサーバとクライアント間に途切れない双方向通信を提供できる。また、ウェブソケット通信は、サーバ側で複雑なプログラミング無しに単純なHyper text Markup Language5(以下、‘HTML5’と称する)との連動が容易になったため、基本的な双方向通信が必要な環境で多様に活用できると期待される。
【0006】
したがって、このようなウェブソケット通信を相異なる機器で駆動される応用プログラム間の通信に適用する方案が研究されている。したがって、サーバとクライアント間の双方向通信のために設計されたウェブソケット通信を応用プログラムの間の通信に活用するための具体的手順がリクエストされる。
【発明の概要】
【発明が解決しようとする課題】
【0007】
本発明は、同一のネットワークに接続された機器を通じて駆動される応用プログラム間の通信を提供できる装置及び方法を提案する。
【0008】
本発明は、第1の機器で一つの応用プログラムが駆動され、第2の機器で上記応用プログラムと連動された補助応用プログラムが駆動される場合、ウェブソケットプロトコルを使用して上記応用プログラム及び補助プログラムの間の通信を提供するための装置及び方法を提案する。
【課題を解決するための手段】
【0009】
本発明の実施形態による方法は、同一のネットワークに接続された機器を通じて駆動される応用プログラム間の通信を提供する方法であって、
第1の機器内のウェブソケットサーバを通して、上記第1の機器で駆動される第1の応用プログラムと第2の機器で駆動される第2の応用プログラムとを接続するステップと、
上記ウェブソケットサーバを通して、上記第1の応用プログラムと第2の応用プログラムの間のデータを送受信するステップとを含む。
【0010】
本発明の実施形態による他の方法は、同一のネットワークに接続された機器を通じて駆動される応用プログラム間の通信を提供する装置であって、
上記装置で駆動される第1の応用プログラムと第2の機器で駆動される第2の応用プログラムの接続を提供し、上記接続を通して上記第1の応用プログラムと第2の応用プログラムの間のデータを送受信するように制御するウェブソケットサーバを含む。
【発明の効果】
【0011】
本発明は、相異なる機器で駆動される応用プログラム間の通信手段を提供することで、例えば、第1の機器の応用プログラムと連動された第2の機器の応用プログラムを作成することができる。これを通じて、第2の機器で第1の機器を制御できるリモートコントロール応用プログラムを作成するか、または、第1の機器を利用して第2の機器の入力応用プログラムを操作するようなユーザ経験などを提供できる効果がある。
【図面の簡単な説明】
【0012】
図1】一般的なウェブソケットの動作方式の一例を図示する図である。
図2】本発明の実施形態による応用プログラム間の通信を説明するための基本的な構成図の一例である。
図3】本発明の実施形態によって、第1の機器でウェブソケットサーバを駆動及び停止する動作フローチャートの一例である。
図4】本発明の実施形態によって、第2の機器の応用プログラムが第1の機器の応用プログラムと通信する動作フローチャートの一例である。
図5】本発明の実施形態による第1の機器の動作フローチャートの一例である。
図6】本発明の実施形態による第2の機器の動作フローチャートの一例である。
図7】本発明が実際適用された実施形態を示す図である。
【発明を実施するための形態】
【0013】
以下添付された図面を参照して本発明の望ましい実施形態に対する動作原理を詳細に説明する。図面上に表示された同一構成要素に対しては、他の図面上に表示されても可能なかぎり同一参照番号で表し、次で本発明を説明するに当たって関連した公知機能または構成に対する具体的な説明が本発明の要旨を不必要にすると判定される場合にはその詳細な説明を省略する。また、後述する用語は本発明における機能を考慮して定義された用語であって、これはユーザ、運用者の意図または慣例などによって変更されることができる。したがって、その定義は、本明細書の全般にかける内容に基づいて定められるべきである。
【0014】
本発明の実施形態では、同一のネットワークに接続された機器を通じて駆動される応用プログラム間の通信を提供できる装置及び方法を提案する。具体的な実施形態によって、本発明は、同一ネットワーク、例えば、ホームネットワークに複数の機器が接続されている環境で、第1の機器で駆動される応用プログラムと、第2の機器で駆動される上記応用プログラムと連動された補助応用プログラムとの間の通信をウェブソケットプロトコルを使用して提供するための装置及び方法を提案する。
【0015】
図2は、本発明の実施形態による機器別応用プログラムの間の通信を説明するための基本的な構成図の一例である。説明の便宜上、図2の機器構成は、本発明の実施形態による構成だけを含む概略的な構成図である。したがって、事業者の意図や状況により該当構成は一つのユニットに統合されるか、または、機能によってサブユニットに分割されて構成されることができる。
【0016】
図2を参照すれば、説明の便宜上、第1の機器200と第2の機器210は、同一ネットワークの一例として、ホームネットワークに接続された機器のうち一つであると仮定する。図面に図示しないが、上記ホームネットワークに接続された機器は、第1の機器200及び第2の機器210以外の機器が存在できる。
【0017】
第1の機器200は、任意の応用プログラムが駆動される主機器で定義にされ、例えば、デジタルTV(以下、‘DTV’と称する)またはセットボックス(以下、‘STB’と称する)などの共用端末を含むことができる。本発明の実施形態による第1の機器200は、一例で、ウェブブラウザ204とウェブソケットサーバ206を含むことができる。ここで、ウェブブラウザ204は、ウェブ応用プログラムを駆動できる構成要素に該当し、ウェブソケットサーバ206は、本発明の実施形態によって、他の機器の応用プログラムと、第1の機器200の応用プログラムとの間の通信のために追加された構成要素である。具体的な例で、ウェブソケットサーバ206は、第1の機器200で駆動される応用プログラムと、第2の機器210で駆動される応用プログラムとの間の接続及び通信を提供できる。
【0018】
また、第2の機器210は、図面に図示しないが、上記ホームネットワークに接続された機器のうちの一つと連動して応用プログラムを実行するスレーブ(slave)機器で定義され、例えば、移動通信端末、タブレット及びスマートフォンなどのような個人端末であり得る。本発明の実施形態による第2の機器210は、例えば、第1の機器200と同様にウェブ応用プログラムを駆動できるウェブブラウザ212を含む。以下、明細書ではウェブ応用プログラムに対して応用プログラムの間の通信を例として説明している。しかし、本発明で説明する手順とApplication Program Interface(以下、‘API’と称する)をサポートする応用プログラムの場合、いずれかの応用プログラムも適用されることができる。例えば、アンドロイド(登録商標)オペレーティングシステム(以下、‘OS’と称する)やアイフォンのOS(iOS(登録商標))で動作するネイティブ応用プログラムなどを含むことができる。
【0019】
ここで、第1の機器200で駆動される応用プログラムと第2の機器210で駆動される応用プログラム(ウェブ応用プログラム)は直接通信することができない。したがって、本発明の実施形態では、第1の機器200に存在するウェブソケットサーバ206をプロキシのように使用して機器別応用プログラムの間の接続及び通信が実行できる。すなわち、ウェブソケットサーバ206は、機器別応用プログラムの間の接続及び通信のためのリレーとして動作できる。具体的に、本発明の実施形態では、第1の機器200のウェブソケットサーバ206とウェブブラウザ204との間にウェブソケット(以下、‘WS’と称する)プロトコルを使用して通信し、同様に、ウェブソケットサーバ206と第2の機器210のウェブブラウザ(212またはネイティブ応用プログラム、以下省略)間に上記WSプロトコルを使用して通信する。
【0020】
以下、説明の便宜上、本発明の実施形態による機器別応用プログラムの間の通信をサポートする装置及び動作は図2の構成例に基づいて説明する。
【0021】
図3は、本発明の実施形態によって第1の機器でウェブソケットサーバを駆動及び停止する動作フローチャートの一例である。説明の便宜上、上記第1の機器は、ホームネットワークに接続されたDTVであり、第2の機器は、上記ホームネットワークに接続されたモバイル機器である場合を仮定して説明する。しかし、本発明の実施形態が適用される第1の機器と第2の機器は、該当技術をサポートするいずれかのデバイスであり得る。
【0022】
まず、第1の機器300でウェブソケットサーバ304の駆動(WS starting)動作を説明する。図3を参照すれば、ステップ322で、第1の機器300のウェブ応用プログラム(以下、‘プライマリApp’と称する、302)は、APIを通して第1の機器300のウェブソケットサーバ304に伝達され、ウェブソケットサーバ304を駆動させる。ここで、APIは、下記<表1>に表すように、start WSを使用することができる。
【0023】
【表1】
この時、上記start WSは、プライマリApp302との連動のために上記応用プログラムのID(Identifier)であるAppIDを共に提供する。ここで、応用プログラムのIDは、実際の具現時、該当応用プログラムを識別することができるIDやUniform Resource Locator(以下、‘URL’と称する)などであり得る。ウェブソケットサーバ304は、上記AppIDに対応するプライマリApp302と通信するために自分を駆動させ、上記駆動の完了をACK信号としてプライマリApp302に伝送する。
【0024】
次に、第1の機器300でウェブソケットサーバ304を停止(WS shutdown)する動作を説明する。
【0025】
ステップ326で、プライマリApp302は、APIを第1の機器300のウェブソケットサーバ304に伝達して、駆動中のウェブソケットサーバ304を停止させる。この時、プライマリApp302で呼び出しするAPIは、上記<表1>のようにshutdownWSを使用することができる。同様に、上記shutdownWSも上記AppIDを共に提供する。ウェブソケットサーバ310は、上記AppIDに対応する上記プライマリAppとも通信を中断し、上記中断の完了をACK信号として第1の機器300のAppID302に伝送する。
【0026】
図3の実施形態では、第1の機器内の特定応用プログラムのためのウェブソケットサーバを第1の機器が直接駆動及び中断させる方法に対して説明した。他の実施形態では、共用で使用できるウェブソケットサーバを駆動させた後、次の手順で説明するAPIを用いて第2の機器の応用プログラムが上記第1の機器のウェブソケットサーバと連動されることができる。
【0027】
図4は、本発明の実施形態により第2の機器の応用プログラムが第1の機器の応用プログラムと通信する動作フローチャートの一例である。参考として、下記<表2>は、機器別応用プログラムの間の通信のためのAPIの例を示す表の一例である。
【0028】
【表2】
図4を参照すれば、ステップ420で第2の機器410の応用プログラム(以下、‘CS(Companion Screen)App’と称する)412は、ウェブソケットオブジェトを生成し、第1の機器400のウェブソケットサーバ404にopen()APIを呼び出しして通信チャネルの生成をリクエストする。この時、open()APIは、プライマリApp402のID(AppID)と、CS App412のID(CSAppID)を伝達することができる。また、ステップ422で、プライマリApp402は、上記AppIDと上記CSAppIDを用いてウェブソケットオブジェトを生成し、ウェブソケットサーバ404にopen()APIを呼び出しして通信チャネルの生成をリクエストする。同様に、プライマリApp402のopen()APIも上記AppIDと上記CSAppIDを伝達する。
【0029】
ステップ424で、第1の機器400のウェブソケットサーバ404は、AppIDに対応するプライマリApp402と上記CSAppIDに対応するCS App412間に通信チャネルを生成する。上記したような過程で通信チャネルが生成されると、CS App412は、上記通信チャネルを通じて、プライマリApp402と通信することができる。同様に、プライマリApp402も上記通信チャネルを通じてCS App412と通信することができる。具体的に、ステップ420乃至ステップ424を通じて、プライマリApp402とCS App412の各々がウェブソケットサーバに接続する方法は一例で、下記<表3>を用いることができる。
【0030】
【表3】
上述したように、ウェブソケットサーバ404がプライマリApp402のopen()APIから取得した情報と、CS App412から取得した情報が同一であることを確認する。図4の実施形態では、プライマリApp402及びCS App412の各々がAppID及びCSAppIDを上記通信チャネルのための同一情報として伝送する場合を一例として説明した。ウェブソケットサーバ404は、プライマリApp402との接続と、自分とCS App412との接続を中継(relay)して、プライマリApp402及びCS App412間の通信チャネルを設定する。これによって、プライマリApp402とウェブソケットサーバ404間の接続、及びCS App412とウェブソケットサーバ404間の接続の各々は、同一のチャネルIDが設定される。上記チャネルIDは、例えば、上記<表3>で示すようにウェブソケットサーバのアドレスと、プライマリApp402のAppID及びCS App412のCSAppIDを利用して固有の値で生成されることができる。
【0031】
以後、CS App412で、プライマリApp402に伝送するデータが発生する場合、ステップ426でCS App412は、send()APIを呼び出しして上記発生するデータをウェブソケットサーバ404に伝送する。ステップ428で、ウェブソケットサーバ404は、Event(on massage)を呼び出しして上記プライマリApp402に受信されたデータがあることを通知する。ステップ430で、プライマリApp402は、上記受信されたデータを応用プログラムに反映する。一例で、プライマリApp402がウェブ応用プログラムである場合、ステップ430の過程は、Document Object Model(DOM) Updateを通じて行われる。
【0032】
一方、プライマリApp402で変更された事項がある場合、ステップ432でsend()APIを呼び出しして、変更された事項に対する情報をウェブソケットサーバ404に伝達する。ステップ434で、第1の機器400のウェブソケットサーバ404は、上述したような過程を通じて生成されたプライマリApp402とCS App412間の上記通信チャネルを通じて上記情報をCS App412に伝送する。この時、上記情報は、Event(on message)を通じて伝達される。ステップ436で、CS App412は上記情報を受信して、ステップ430と同様に自分の応用プログラムに反映される。
【0033】
以後、全ての通信が完了される場合、ステップ437で、CS App412は、close()APIを呼び出ししてプライマリApp402との通信チャネルの終了リクエストをウェブソケットサーバ404に伝送する。同様に、ステップ440で、プライマリApp410もclose()APIを呼び出しして第1の機器の応用プログラムとの通信チャネルの終了リクエストをウェブソケットサーバ404に伝送する。ウェブソケットサーバ404は、プライマリApp402とCS App412間の接続を終了する。これによって、ステップ442で、プライマリApp402とCS App412間の接続が終了される。
【0034】
図5は、本発明の実施形態による第1の機器の動作フローチャートの一例である。
【0035】
図5を参照すれば、ステップ500で第1の機器は、HTMLページを受信する。上記HTMLページは、上記第1の機器のプライマリAppを示すAppIDを含む。ステップ502で、上記第1の機器は、上記HTMLページのAPI呼び出しにより上記AppIDを利用して上記ウェブソケットサーバを駆動させる。
【0036】
また、ステップ504で、上記プライマリAppは、上記第1の機器と接続されたネットワークと接続された機器のうちの使用可能な第2の機器を検索する。また、ステップ506で、上記プライマリAppは、上記検索された第2の機器に、上記第2の機器のCS Appの駆動情報を送信した後、上記第1の機器は、ステップ508でユーザ入力をリクエストするHTMLページを上記第1の機器のディスプレイ画面に表示する。ステップ510で、上記第1の機器は、ユーザの入力を受信すると、ステップ512で上記ユーザの入力を通じて上記CS Appに伝送するデータが発生されるか否かを確認する。上記確認の結果、データか発生されない場合、ステップ516に進む。
【0037】
上記確認の結果、上記データが発生される場合、ステップ514で、上記第1の機器は、ステップ502で駆動させたウェブソケットサーバに上記データを送信する。また、ステップ516で上記第1の機器は、上記ウェブソケットサーバを通じて受信するデータがあるか否かを確認する。上記確認の結果、受信するデータが存在しない場合、ステップ508に進み、他のユーザ入力を待機することができる。
【0038】
上記確認の結果、受信するデータが発生される場合、ステップ518で、上記第1の機器は、上記ウェブソケットサーバを通じてデータを受信する。また、ステップ520で、上記第1の機器は、上記受信されたデータから取得した応用プログラムのIDが上記第1の機器のAppIDであるか否かを判定する。上記判定の結果、上記データから取得した応用プログラムIDが上記AppIDである場合、ステップ522で、上記第1の機器は、DOMをアップデートして上記受信されたデータを反映したHTMLをステップ508で自分のディスプレイ画面を通じて表示する。
【0039】
図6は、本発明の実施形態による第2の機器の動作フローチャートの一例である。
【0040】
図6を参照すれば、例えば、上記第2の機器は、ステップ600で、図5のステップ506により上記第1の機器が送信した情報としてHTMLページを受信した場合を仮定する。ここでは、説明の便宜上、上記第2の機器のCS Appをウェブ応用プログラムと仮定してHTMLページを受信すると説明した。しかし、他の例で、ステップ600で、上記第1の機器を通じて受信された情報が第2の機器のネイティブ(native)応用プログラムを示す場合、上記第2の機器が該当ネイティブ応用プログラムを駆動する。
【0041】
また、ステップ602で、上記第2の機器のCS Appは、上記HTMLメッセージから取得した第1の機器のAppIDと第2の機器のCSAppIDを利用して上記第1の機器のウェブソケットサーバとの接続を呼び出しする。
【0042】
ステップ604で、上記第2の機器は、上記第1の機器のプライマリAppと連動するユーザ入力をリクエストするHTMLページを上記第2の機器のディスプレイ画面に表示する。ステップ606で、上記第2の機器は、ユーザの入力の受信を検知すると、ステップ608で、上記ユーザの入力により、第1の機器のプライマリAppに伝送するデータが存在するか否かを確認する。上記確認の結果、伝送するデータが存在しない場合、上記第2の機器はステップ812に進む。
【0043】
上記確認の結果、上記ユーザの入力により上記第1の機器に伝送するデータが存在する場合、ステップ610で、上記第2の機器は、ステップ602で接続した上記第1の機器のウェブソケットサーバを通じて上記プライマリAppに伝送するデータを送信する。
【0044】
一方、ステップ612で、上記第2の機器は、上記ウェブソケットサーバを通じて受信するデータが存在する場合、ステップ614で該当データを受信する。また、ステップ616で、上記第2の機器は上記受信されたデータを反映してDOMをアップデートする。以後、ステップ604に復帰してアップデート結果に基づいてHTMLを再構成して自分のディスプレイ画面に表示する。
【0045】
一方、ステップ612における確認の結果、上記ウェブソケットサーバを通じて受信するデータが存在しない場合、上記第2の機器はステップ604に復帰して他のユーザ入力を待機する。
【0046】
図7は、本発明が実際に適用された実施形態を示す図である。
【0047】
図7を参照すれば、例えば、ホームネットワークに第1の機器700と第2の機器705が接続された場合を仮定する。また、ユーザが第1の機器700で放送コンテンツを受信しつつ、第2の機器705を通じて上記第1の機器を制御する場合を仮定する。具体的な例で、上記ユーザは、ユーザ入力のための操作が便利な第2の機器705を利用して第1の機器700にリモートコントロール、文字入力などのためのユーザ入力を実行することができる。また、第1の機器700の放送コンテンツにより表示される画面を選択するかまたは放送コンテンツ別に提供する該当応用プログラムを実行させるか、投票などを第2の機器705を用いて実施するなどの多様な例が可能になる。この時、第1の機器700は、上述したようにウェブソケットサーバを有し、上記ウェブソケットサーバを通じて第1の機器700で駆動される応用プログラムと第2の機器705で第1の機器700の操作のための応用プログラムの間の接続及び通信を提供することができる。
【0048】
一方、本発明の詳細な説明では具体的な実施形態に対して説明したが、本発明の範囲を逸脱しない範囲で多様な変形が可能であることは明らかである。したがって、本発明の範囲は説明された実施形態に限定されず後述する特許請求の範囲及びこれと均等なものの範囲内で定められるべきである。
図1
図2
図3
図4
図5
図6
図7