JP2016533550A - 機器別応用プログラムの間の通信のための装置及び方法 - Google Patents

機器別応用プログラムの間の通信のための装置及び方法 Download PDF

Info

Publication number
JP2016533550A
JP2016533550A JP2016516572A JP2016516572A JP2016533550A JP 2016533550 A JP2016533550 A JP 2016533550A JP 2016516572 A JP2016516572 A JP 2016516572A JP 2016516572 A JP2016516572 A JP 2016516572A JP 2016533550 A JP2016533550 A JP 2016533550A
Authority
JP
Japan
Prior art keywords
application program
web socket
socket server
connection
communication
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
JP2016516572A
Other languages
English (en)
Other versions
JP6665086B2 (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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JP2016533550A publication Critical patent/JP2016533550A/ja
Application granted granted Critical
Publication of JP6665086B2 publication Critical patent/JP6665086B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/541Interprogram communication via adapters, e.g. between incompatible applications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Telephonic Communication Services (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Communication Control (AREA)
  • Stored Programmes (AREA)

Abstract

本発明は同一のネットワークに接続された機器を通じて駆動される応用プログラム間の通信を提供する方法であって、第1の機器内のウェブソケットサーバを通じて上記第1の機器で駆動される第1の応用プログラムと、第2の機器で駆動される第2の応用プログラムを接続するステップと、上記ウェブソケットサーバを通じて上記第1の応用プログラムと第2の応用プログラムの間のデータを送受信するステップとを含む。

Description

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

Claims (12)

  1. 同一のネットワークに接続された機器を通じて駆動される応用プログラム間の通信を提供する方法であって、
    第1の機器内のウェブソケットサーバを通じて、前記第1の機器で駆動される第1の応用プログラムと第2の機器で駆動される第2の応用プログラムとを接続するステップと、
    前記ウェブソケットサーバを通じて、前記第1の応用プログラムと第2の応用プログラムの間のデータを送受信するステップとを含むことを特徴とする方法。
  2. 前記接続するステップは、前記第1の応用プログラムと前記第2の応用プログラムの各々から接続リクエストを受信するステップを含むことを特徴とする請求項1に記載の方法。
  3. 前記接続するステップは、
    前記ウェブソケットサーバのプロトコルを使用して、前記ウェブソケットサーバと前記第1の応用プログラムの間の第1の接続を提供するステップと、
    前記プロトコルを使用して、前記ウェブソケットサーバと前記第2の応用プログラムの間の第2の接続を提供するステップとを含むことを特徴とする請求項1に記載の方法。
  4. 前記ウェブソケットサーバを通じて前記第1の接続と前記第2の接続を中継して、前記第1の応用プログラムと第2の応用プログラムの間の通信チャネルを構成するステップを含むことを特徴とする請求項1に記載の方法。
  5. 前記第1の接続及び第2の接続の各々は、同一のチャネル識別子が設定されることを特徴とする請求項4に記載の方法。
  6. 前記第1の応用プログラムと前記第2の応用プログラムの各々から接続解除リクエストを受信するステップと、
    前記第1の応用プログラムと第2の応用プログラムの間の接続を解除するステップをさらに含むことを特徴とする請求項1に記載の方法。
  7. 同一のネットワークに接続された機器を通じて駆動される応用プログラム間の通信を提供する装置であって、
    前記装置で駆動される第1の応用プログラムと第2の機器で駆動される第2の応用プログラムとの接続を提供し、前記接続を通じて前記第1の応用プログラムと第2の応用プログラムの間のデータを送受信するように制御するウェブソケットサーバを含むことを特徴とする装置。
  8. 前記ウェブソケットサーバは、前記第1の応用プログラムと前記第2の応用プログラムの各々から接続リクエストを受信すると、前記接続を提供することを特徴とする請求項7に記載の装置。
  9. 前記ウェブソケットサーバは、前記ウェブソケットサーバのプロトコルを使用して前記ウェブソケットサーバと前記第1の応用プログラムの間の第1の接続を提供し、前記プロトコルを使用して前記ウェブソケットサーバと前記第2の応用プログラムの間の第2の接続を提供することを特徴とする請求項7に記載の装置。
  10. 前記ウェブソケットサーバは、前記第1の接続と前記第2の接続を中継して前記第1の応用プログラムと第2の応用プログラムの間の通信チャネルを構成することを特徴とする請求項7に記載の装置。
  11. 前記第1の接続及び第2の接続の各々は、同一のチャネル識別子が設定されることを特徴とする請求項10に記載の装置。
  12. 前記ウェブソケットサーバは、前記第1の応用プログラムと前記第2の応用プログラムの各々から接続解除リクエストを受信すると、前記第1の応用プログラムと第2の応用プログラムの間の接続を解除することを特徴とする請求項7に記載の装置。
JP2016516572A 2013-09-23 2014-09-22 機器別応用プログラムの間の通信のための装置及び方法 Active JP6665086B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR10-2013-0112794 2013-09-23
KR1020130112794A KR102121472B1 (ko) 2013-09-23 2013-09-23 기기 별 응용 프로그램간 통신을 위한 장치 및 방법
PCT/KR2014/008770 WO2015041488A1 (ko) 2013-09-23 2014-09-22 기기 별 응용 프로그램간 통신을 위한 장치 및 방법

Publications (2)

Publication Number Publication Date
JP2016533550A true JP2016533550A (ja) 2016-10-27
JP6665086B2 JP6665086B2 (ja) 2020-03-13

Family

ID=52689088

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016516572A Active JP6665086B2 (ja) 2013-09-23 2014-09-22 機器別応用プログラムの間の通信のための装置及び方法

Country Status (10)

Country Link
US (3) US9720745B2 (ja)
EP (1) EP3051417A4 (ja)
JP (1) JP6665086B2 (ja)
KR (1) KR102121472B1 (ja)
CN (1) CN105579969A (ja)
BR (1) BR112016006437B1 (ja)
CA (1) CA2925279C (ja)
MX (2) MX2018011368A (ja)
RU (1) RU2676418C2 (ja)
WO (1) WO2015041488A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019516197A (ja) * 2016-05-11 2019-06-13 アリババ グループ ホウルディング リミテッド アプリケーション起動方法及びシステム

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2917324C (en) * 2013-08-28 2018-06-05 Lg Electronics Inc. Signal transmission device and method for controlling same
KR101898492B1 (ko) * 2013-11-04 2018-09-13 엘지전자 주식회사 전자 장치 및 전자 장치의 제어 방법
KR102335007B1 (ko) * 2015-04-01 2021-12-06 삼성전자주식회사 방송 시스템에서 디바이스들 간에 정보를 송수신하는 방법 및 장치
WO2016159727A1 (ko) * 2015-04-01 2016-10-06 삼성전자 주식회사 멀티미디어 시스템에서 디바이스들 간에 통신 방법 및 장치
US10791172B2 (en) * 2016-07-22 2020-09-29 Tinker Pte. Ltd. Systems and methods for interacting with nearby people and devices
CN106776057B (zh) * 2016-11-22 2020-04-17 北京云知声信息技术有限公司 事件处理方法及装置
CN106547634B (zh) * 2016-11-28 2020-07-31 武汉斗鱼网络科技有限公司 一种跨进程通信的方法及装置
US20230297448A1 (en) * 2022-03-17 2023-09-21 OpenFin Inc. Initiating operations for applications via communication bridges

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013031556A1 (ja) * 2011-08-26 2013-03-07 日本放送協会 受信機および受信方法
JP2013066159A (ja) * 2011-08-26 2013-04-11 Nippon Hoso Kyokai <Nhk> 受信機

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7216225B2 (en) 2000-05-24 2007-05-08 Voltaire Ltd. Filtered application-to-application communication
US7472194B2 (en) 2002-06-28 2008-12-30 Qualcomm Incorporated Data channel resource optimization for devices in a network
KR100677141B1 (ko) * 2004-10-11 2007-02-02 삼성전자주식회사 일대일 이름-기반 소켓 통신 수행 장치 및 방법
US8166175B2 (en) * 2005-09-12 2012-04-24 Microsoft Corporation Sharing a port with multiple processes
KR100809395B1 (ko) * 2005-12-08 2008-03-05 한국전자통신연구원 원격 제어 기능을 구비한 휴대 단말 장치 및 이를 이용한원격 제어 방법
US20080098450A1 (en) * 2006-10-16 2008-04-24 Toptrend Global Technologies, Inc. Dual display apparatus and methodology for broadcast, cable television and IPTV
US20090143055A1 (en) 2007-12-04 2009-06-04 Roy Emek Mobile Application and Content Provisioning using Web Services Technology
US9459936B2 (en) * 2009-05-01 2016-10-04 Kaazing Corporation Enterprise client-server system and methods of providing web application support through distributed emulation of websocket communications
KR101231203B1 (ko) * 2011-01-10 2013-02-15 주식회사 로직플랜트 통신기기와 정보기기 간 데이터 통신 시스템 및 통신 방법
US8327005B2 (en) 2011-02-24 2012-12-04 Jibe Mobile Method to set up application to application communication over a network between applications running on endpoint devices
CN103095669A (zh) * 2011-11-08 2013-05-08 联想(北京)有限公司 一种建立连接的方法、装置及设备
EP2608479A1 (en) * 2011-12-23 2013-06-26 France Telecom Method of communication between at least a first device requesting an execution of a remote function by a second device capable of executing the remote function
TWI495329B (zh) * 2012-03-02 2015-08-01 Realtek Semiconductor Corp 具有多個顯示器和動態配置分層伺服器的跨平台多媒體互動系統,及相關的方法、電子裝置和電腦程式產品
US9258380B2 (en) * 2012-03-02 2016-02-09 Realtek Semiconductor Corp. Cross-platform multimedia interaction system with multiple displays and dynamically-configured hierarchical servers and related method, electronic device and computer program product
US8937637B2 (en) * 2012-07-26 2015-01-20 Google Inc. Method and apparatus providing synchronization and control for server-based multi-screen videoconferencing
US8914832B2 (en) * 2012-12-14 2014-12-16 Sony Corporation Information processing apparatus, information processing method, and program
US9613011B2 (en) * 2012-12-20 2017-04-04 Cable Television Laboratories, Inc. Cross-reference of shared browser applications
WO2014144339A1 (en) * 2013-03-15 2014-09-18 Zoll Medical Corporation Patient monitor screen aggregation

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013031556A1 (ja) * 2011-08-26 2013-03-07 日本放送協会 受信機および受信方法
JP2013066159A (ja) * 2011-08-26 2013-04-11 Nippon Hoso Kyokai <Nhk> 受信機
EP2750309A1 (en) * 2011-08-26 2014-07-02 Nippon Hoso Kyokai Receiver and reception method
US20140214967A1 (en) * 2011-08-26 2014-07-31 Nippon Hoso Kyokai Receiver and reception method

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
クジラ飛行机: "HTML5 スマホアプリ開発入門", 日経ソフトウエア, vol. 第16巻,第1号, JPN6018036695, 24 November 2012 (2012-11-24), JP, pages 110 - 115, ISSN: 0004135075 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019516197A (ja) * 2016-05-11 2019-06-13 アリババ グループ ホウルディング リミテッド アプリケーション起動方法及びシステム
JP6995780B2 (ja) 2016-05-11 2022-01-17 アドバンスド ニュー テクノロジーズ カンパニー リミテッド アプリケーション起動方法及びシステム

Also Published As

Publication number Publication date
US20160239353A1 (en) 2016-08-18
KR102121472B1 (ko) 2020-06-17
MX359294B (es) 2018-09-24
CN105579969A (zh) 2016-05-11
US20190012215A1 (en) 2019-01-10
US9720745B2 (en) 2017-08-01
RU2016115536A (ru) 2017-10-30
RU2676418C2 (ru) 2018-12-28
WO2015041488A1 (ko) 2015-03-26
US10592301B2 (en) 2020-03-17
KR20150033163A (ko) 2015-04-01
BR112016006437A2 (pt) 2017-08-01
JP6665086B2 (ja) 2020-03-13
CA2925279C (en) 2022-10-18
BR112016006437B1 (pt) 2022-11-22
MX2018011368A (es) 2022-01-18
US20170308413A1 (en) 2017-10-26
EP3051417A4 (en) 2017-05-17
US10592303B2 (en) 2020-03-17
RU2016115536A3 (ja) 2018-06-26
MX2016003842A (es) 2016-08-04
CA2925279A1 (en) 2015-03-26
EP3051417A1 (en) 2016-08-03

Similar Documents

Publication Publication Date Title
JP6665086B2 (ja) 機器別応用プログラムの間の通信のための装置及び方法
JP2019536155A (ja) データ伝送方法及び装置
US8285831B2 (en) Image display apparatus and control method
US20140047322A1 (en) Method and system for browsing things of internet of things on ip using web platform
JP7028117B2 (ja) 情報処理システム、情報処理装置、情報処理方法及びプログラム
KR102258608B1 (ko) 홈 네트워크 서비스를 제공하기 위한 장치 및 그 방법
KR20110025135A (ko) 홈 네트워크에서 원격 사용자 인터페이스 제어 방법 및 장치
JP5937005B2 (ja) 近距離ネットワークにおける遠隔制御のための装置及び方法とこれをサポートするシステム
CN103067448B (zh) 设备控制方法与移动通信终端
CN103051694B (zh) 移动通信终端控制设备的方法与移动通信终端
CN103607654A (zh) 基于多屏协同系统的移动终端辅助输入装置及方法
JP6271203B2 (ja) 電子機器、プログラム、及び情報制御方法
JP2013534678A (ja) 遠隔ユーザインターフェース管理装置及び方法とそのためのシステム
CN104065992A (zh) 一种基于html的多屏机顶盒遥控器系统和工作方法
KR102246755B1 (ko) 기기 별 응용 프로그램간 통신을 위한 장치 및 방법
JP6108443B2 (ja) 制御側端末が遠隔からWebサーバを介して被制御側デバイスの設定情報を更新するページ設定方法及びシステム
WO2015093192A1 (ja) 被制御装置、制御装置、および情報機器
CN110275718B (zh) 网络装置与系统及嵌入式控制程序的安装及启动方法
JP2020053988A (ja) 受信機および通信方法、サーバ機器
JP2018078600A (ja) 受信機および通信方法、サーバー機器
KR20150135959A (ko) 무선 통신 시스템에서 응용 프로그램 실행 방법 및 장치
KR20110004266A (ko) 휴대 기기 간 원격 인터넷 브라우징을 수행하기 위한 장치 및 방법
KR20150033185A (ko) 통신 시스템에서 멀티스크린을 지원하는 방법 및 장치

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160324

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170828

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180830

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180925

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181225

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20190402

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190731

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20190807

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191023

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200122

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: 20200204

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200219

R150 Certificate of patent or registration of utility model

Ref document number: 6665086

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250