JP6301464B2 - 電子装置及び電子装置の制御方法 - Google Patents

電子装置及び電子装置の制御方法 Download PDF

Info

Publication number
JP6301464B2
JP6301464B2 JP2016526847A JP2016526847A JP6301464B2 JP 6301464 B2 JP6301464 B2 JP 6301464B2 JP 2016526847 A JP2016526847 A JP 2016526847A JP 2016526847 A JP2016526847 A JP 2016526847A JP 6301464 B2 JP6301464 B2 JP 6301464B2
Authority
JP
Japan
Prior art keywords
application
web socket
client
companion
server
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.)
Active
Application number
JP2016526847A
Other languages
English (en)
Other versions
JP2017502373A (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.)
LG Electronics Inc
Original Assignee
LG Electronics Inc
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 LG Electronics Inc filed Critical LG Electronics Inc
Publication of JP2017502373A publication Critical patent/JP2017502373A/ja
Application granted granted Critical
Publication of JP6301464B2 publication Critical patent/JP6301464B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/4104Peripherals receiving signals from specially adapted client devices
    • H04N21/4126The peripheral being portable, e.g. PDAs or mobile phones
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1069Session establishment or de-establishment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • H04N21/41407Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance embedded in a portable device, e.g. video client on a mobile phone, PDA, laptop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4433Implementing client middleware, e.g. Multimedia Home Platform [MHP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • H04N21/64322IP
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8166Monomedia components thereof involving executable data, e.g. software
    • H04N21/8173End-user applications, e.g. Web browser, game
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/4104Peripherals receiving signals from specially adapted client devices
    • H04N21/4122Peripherals receiving signals from specially adapted client devices additional display device, e.g. video projector

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer And Data Communications (AREA)
  • Library & Information Science (AREA)
  • Telephone Function (AREA)
  • Information Transfer Between Computers (AREA)

Description

本明細書は、電子装置及び電子装置の制御方法に関する。
放送及び通信技術の発展に伴い、多様な放送装置及び放送サービスに対する技術が開発されている。最近、スマートフォンとスマートTVの大衆化と共に、多様なアプリケーションがスマートフォンとスマートTV上で実行可能である。一つのアプリケーションがスマートフォンで実行されているとき、ユーザは、スマートTVでもスマートフォンで実行中のアプリケーションを実行しようとする場合がある。この場合、一般に、ユーザは、定められた経路に沿ってスマートTVを操作し、スマートフォンで実行中のアプリケーションを実行させることができる。最近の通信環境において、自分が使用中のアプリケーションと他の機器で実行中のアプリケーションとの間の通信を行おうとするユーザの要求が増加している。しかし、上述したように、別途にスマートTVを操作してアプリケーションを実行させることは不便であった。
このような不便さを解決するために、一つの機器のアプリケーションと他の機器のアプリケーションとの間の通信を行える技術に対する必要性がある。
本発明の目的は、一つの電子装置のアプリケーションと他の電子装置のアプリケーションとの間の通信を行える電子装置及び電子装置の制御方法を提供することにある。
本明細書の一実施例によると、電子装置は、アプリケーションプロセッサ及びネットワークプロセッサを含み、コンパニオン装置と連結する制御部と、前記コンパニオン装置との間でデータを送受信する通信部とを含み、前記アプリケーションプロセッサは、前記ネットワークプロセッサにコンパニオン装置との連結を要求し、前記ネットワークプロセッサは、前記コンパニオン装置から連結要求を受けると、前記連結要求したアプリケーションプロセッサと前記コンパニオン装置とを連結することができる。
そして、前記ネットワークプロセッサは、ウェブソケットサーバであり得る。
また、前記アプリケーションプロセッサは、前記ネットワークプロセッサで動作する電子装置及びコンパニオン装置のうち少なくとも一つの情報を示すホスト要求ヘッダ情報を前記ネットワークプロセッサに伝送することができる。
また、前記ネットワークプロセッサは、前記アプリケーションプロセッサの連結要求があるとき、前記アプリケーションプロセッサのストリームヘッドを生成してストリームヘッドグループに含ませ、前記コンパニオン装置から連結要求を受けると、前記コンパニオン装置のストリームヘッドを生成し、このストリームヘッドを前記ストリームヘッドグループに含まれたマッチする前記アプリケーションプロセッサのストリームヘッドと連結することができる。
そして、前記ネットワークプロセッサは、マッチする前記アプリケーションプロセッサのストリームヘッド及び前記コンパニオン装置のストリームヘッドのうち少なくとも一つを前記ストリームヘッドグループから除去することができる。
そして、前記アプリケーションプロセッサは、連結しようとするコンパニオン装置のIPアドレスを前記ネットワークプロセッサに伝送することができる。
また、前記ネットワークプロセッサは、前記アプリケーションプロセッサと前記コンパニオン装置とを同一のポートを用いて連結することができる。
本明細書の一実施例によると、電子装置の制御方法は、電子装置をコンパニオン装置と連結する段階、及び前記コンパニオン装置との間でデータを送受信する段階を含み、前記連結する段階は、前記アプリケーションプロセッサがネットワークプロセッサにコンパニオン装置との連結を要求し、前記ネットワークプロセッサは、前記コンパニオン装置から連結要求を受けると、前記連結要求したアプリケーションプロセッサと前記コンパニオン装置とを連結することができる。
そして、前記ネットワークプロセッサは、ウェブソケットサーバであり得る。
そして、電子装置の制御方法は、前記ネットワークプロセッサで動作する電子装置及びコンパニオン装置のうち少なくとも一つの情報を示すホスト要求ヘッダ情報を前記アプリケーションプロセッサが前記ネットワークプロセッサに伝送する段階をさらに含むことができる。
また、電子装置の制御方法は、前記アプリケーションプロセッサの連結要求があるとき、前記ネットワークプロセッサが前記アプリケーションプロセッサのストリームヘッドを生成してストリームヘッドグループに含ませる段階、及び前記コンパニオン装置から連結要求を受けると、前記ネットワークプロセッサが前記コンパニオン装置のストリームヘッドを生成し、このストリームヘッドを前記ストリームヘッドグループに含まれたマッチする前記アプリケーションプロセッサのストリームヘッドと連結する段階をさらに含むことができる。
また、電子装置の制御方法は、前記ネットワークプロセッサが、マッチする前記アプリケーションプロセッサのストリームヘッド及び前記コンパニオン装置のストリームヘッドのうち少なくとも一つを前記ストリームヘッドグループから除去する段階をさらに含むことができる。
また、電子装置の制御方法は、前記アプリケーションプロセッサが連結しようとするコンパニオン装置のIPアドレスを前記ネットワークプロセッサに伝送する段階をさらに含むことができる。
一方、前記連結する段階は、前記アプリケーションプロセッサと前記コンパニオン装置とを同一のポートを用いて連結することができる。
本明細書の多様な実施例によると、電子装置及び制御方法は、一つの電子装置で実行中のアプリケーションと他の電子装置で実行中のアプリケーションとの間の通信を行うことができる。
そして、電子装置及び制御方法は、一つの電子装置と他の電子装置との間の通信のためにウェブソケットサーバを使用してインタフェースすることができる。
また、電子装置及び制御方法は、一つの電子装置と他の電子装置とを1対1に連結させることができる。
一実施例に係る電子装置のブロック図である。 一実施例に係る第1のクライアントの連結を説明する図である。 一実施例に係る第2のクライアントの連結を説明する図である。 一実施例に係る第1及び第2のクライアント間の連結を説明する図である。 一実施例に係る追加連結要求を説明する図である。 一実施例に係るIPアドレスがない場合におけるクライアント間の連結を説 一実施例に係るアプリケーション間の連結のための待機連結を説明する図である。 一実施例に係る第2のクライアントとの連結のための新たな連結要求を説明する図である。 一実施例に係るIPアドレスを含む場合における第1のクライアントの設定を説明する図である。 一実施例に係るIPアドレスを含む場合における第1及び第2のクライアントの設定を説明する図である。 IPアドレスを含む場合における複数の第2のクライアントに連結する一実施例を説明する図である。 一実施例に係る電子装置の制御方法のフローチャートである。
以下、上述した目的を具体的に実現可能な本明細書の好適な実施例を添付の図面を参照して説明する。このとき、図面に図示され、また、これによって説明される本明細書の構成と作用は、少なくとも一つの実施例として説明されるものであって、これによって本明細書の技術的思想とその核心構成及び作用が制限されることはない。
本明細書で使用される用語としては、本明細書での機能を考慮しながら可能な限り現在広く使用される一般的な用語を選択したが、これは、当該技術分野に携わる技術者の意図、慣例又は新たな技術の出現などによって変わり得る。また、特定の場合は、出願人が任意に選定した用語もあり、この場合、該当する明細書の説明部分でその意味を詳細に記載する。したがって、本明細書で使用される用語は、単純な用語の名称ではなく、その用語が有する意味と本明細書の全般にわたった内容に基づいて定義すべきであることを明らかにしておく。
図1は、一実施例に係る電子装置のブロック図である。
図1を参照すると、電子装置100は、制御部110及び通信部120を含むことができる。制御部110は、コンパニオン装置との通信連結を行うことができる。そして、コンパニオン装置との通信連結が行われると、通信部120は、コンパニオン装置との間でデータを送受信することができる。
そして、制御部110は、ネットワークプロセッサ111及びアプリケーションプロセッサ112を含むことができる。アプリケーションプロセッサ112は、ネットワークプロセッサ111にコンパニオン装置との連結を要求することができる。
ネットワークプロセッサ111は、アプリケーションプロセッサ112から受けた連結要求を待機状態に置くことができる。これは、ネットワークプロセッサ111が未だにコンパニオン装置と連結されていないためである。その後、ネットワークプロセッサ111はコンパニオン装置から連結要求を受信することができる。ネットワークプロセッサ111は、コンパニオン装置から受信した情報に基づいてマッチするアプリケーションプロセッサ112の連結要求を検索することができる。ネットワークプロセッサ111は、マッチする連結要求を検索すると、コンパニオン装置とアプリケーションプロセッサ112とを連結することができる。
一実施例として、アプリケーションプロセッサ112は、アプリケーションモジュール及びアプリケーションブラウザであるか、又はHbbTVアプリケーションであり得る。一実施例として、ネットワークプロセッサ111はネットワークモジュールとして具現することができる。又は、ネットワークプロセッサ111は、ウェブソケットサーバ(WebSocket Server)であり得る。ネットワークプロセッサ111は、アプリケーションプロセッサ112とコンパニオン装置とを連結することができる。一実施例として、ネットワークプロセッサ111がウェブソケットサーバとして具現される場合、アプリケーションプロセッサ112とコンパニオン装置はそれぞれ一つのクライアントと見なすことができる。言い換えれば、ウェブソケットサーバが第1のクライアントと第2のクライアントとを連結することができる。又は、第1のクライアントと第2のクライアントをそれぞれピア(peer)と呼ぶこともできる。場合に応じて、ウェブソケットサーバは、電子装置の外部に別途の装置として具現することもできる。
一方、アプリケーションプロセッサ112は、一つのアプリケーションを駆動させることができる。そして、コンパニオン装置も一つのアプリケーションを駆動させることができる。アプリケーションプロセッサ112は、ネットワークプロセッサ111を通じてコンパニオン装置と連結することができる。コンパニオン装置は、アプリケーションプロセッサ112からデータを受信し、アプリケーションプロセッサ112が駆動中のアプリケーションを受信して駆動させることができる。又は、アプリケーションプロセッサ112とコンパニオン装置はそれぞれアプリケーションを駆動させることができる。アプリケーションプロセッサ112は、コンパニオン装置と連結し、コンパニオン装置との間でデータを送受信することができる。この場合、電子装置100とコンパニオン装置はアプリケーション間の通信を行うと言える。
ウェブソケットサーバは、中継器として用いられ、アプリケーション間の通信チャネルを生成することができる。生成された通信チャネルは、電子装置100とコンパニオン装置との間の通信を可能にし得る。ウェブソケットサーバは、通信チャネルを生成するために通信しようとするアプリケーションネームアイディ(application name id)とアプリケーションオリジンアイディ(application origin id)を用いて同一の情報を要求する各アプリケーション間のチャネルを連結することができる。一実施例として、上述した方法は、HbbTV 2.0でウェブソケットAPIを修正することなく、アプリケーション(クライアント)とアプリケーション(クライアント)とを連結することができる。
本明細書では、各用語を混用して使用することにする。
図2は、一実施例に係る第1のクライアントの連結を説明する図である。
図2を参照すると、電子装置100a及びコンパニオン装置200aが示されている。電子装置100aは、アプリケーションプロセッサ及びネットワークプロセッサを含むことができる。一実施例として、アプリケーションプロセッサはHbbTVアプリケーション又は第1のクライアントであり、ネットワークプロセッサはHbbTVウェブソケットサーバであり得る。コンパニオン装置200aはコンパニオン装置プロセッサを含むことができる。一実施例として、コンパニオン装置プロセッサは、コンパニオンアプリケーション又は第2のクライアントであり得る。各クライアント間の連結を行うために、ウェブソケットサーバの変更が必要であり得る。以下では、ウェブソケットサーバの変更と関連する動作を説明する。変更されたウェブソケットサーバはHbbTV 2.0TVで駆動させることができる。
一般に、ウェブソケットクライアントは、連結しようとする遠隔ホスト、及びウェブソケット連結アップグレードヘッダと共に、初期GETの要求時にそのホストで望むサービスのための相対的URIを指定することができる。しかし、HbbTVの場合、通信連結のためのピア(例えば、コンパニオン装置)が未だにウェブソケットサーバとコンタクトされていないこともある。よって、各クライアント間の連結のための第1のクライアントからの連結要求は、対象ピアの連結要求があるまで活性を維持する必要がある。
このような必要性のために、アップグレードウェブソケットプロトコルGET要求は、特定の使用を定義した二つのフィールドを含むことができる。URI要求(Request―URI)は、一般の接頭辞ストリングの既に設定されたフォーマットを有することができる。このフィールドは、対応する各通信ピアをマッチするのに使用することができる。ホスト要求ヘッダ(Host request―header)フィールドは、ウェブソケットサーバで動作するTVセットを言及(マッチングURI要求を有する任意のピアとの通信が設立される場合)したり、特定のコンパニオン装置を言及(指定された装置及びマッチングURI要求との通信が設立される場合)することができる。すなわち、アプリケーションプロセッサは、ネットワークプロセッサで動作する電子装置情報又はコンパニオン装置情報を示すホスト要求ヘッダ情報をネットワークプロセッサに伝送することができる。
URI要求のためのフォーマットは、以下のABNF文法に従うことができる。
HbbTV―Request―URI="/hbbtv/"org―id" ."app―id
org―id=8HEX
app―id=4HEX
ウェブソケットサーバは、URI要求に対応してストリームヘッドを生成しなければならないが、これは、クライアントによってアップグレードGET要求でサポートされるURI要求と関連するハーフ(half)オープン連結を意味し得る。ウェブソケットサーバは、ウェブソケットプロトコルハンドシェイク(handshake)応答に直ぐ応答する代わりに、他のピアが表れることを待ちながら第1のクライアントの待機状態を維持させることができる。ウェブソケットサーバの終了を希望する場合、サーバは、504ゲートウェイタイムアウト応答(504 Gateway Timeout response)に反応することができる。
各クライアント間の連結を要求するとき、クライアントはSec―ウェブソケットプロトコルヘッダを使用しないこともある。サーバは、各クライアント間の連結のための要求内のSec―ウェブソケットプロトコルヘッダを無視することもある。各クライアント間の連結要求内のホストヘッダフィールドが、サーバがアタッチ(attached)されるローカルサブネットワーク上の何らの装置も指定していないと、サーバは403禁止応答(403 Forbidden response)に反応することができる。すべてのHbbTV 2.0ウェブソケットクライアントは、HbbTV 2.0ウェブソケットサーバから各クライアント間の連結を要求するメソッドを使用することができる。
言い換えれば、通常、ウェブソケットクライアントは、連結が設立されることを望む遠隔ホスト、及びウェブソケット連結アップグレードヘッダと共に、初期GETの要求時にそのホストで望むサービスのための相対的URIを指定することができる。しかし、HbbTVの場合、通信が設立されるピアが未だにウェブソケットサーバとコンタクトされていると仮定され得ない。よって、特定のクライアント対クライアントモードでのクライアントからの連結要求は、他の適切なピアが到着するまで活性を維持する必要がある。
これを達成するために、ウェブソケットプロトコルアップグレードGET要求の二つのフィールドのための特定の使用を定義する。
要求―ライン(Request―Line)の部分であるURI要求(Request―URI)は、一般の接頭辞ストリングで事前に定義されたフォーマットを取得する。このフィールドは、対応する各通信ピアをマッチするのに使用される。
ホスト要求ヘッダ(Host request―header)フィールドは、ウェブソケットサーバで動作するTVセットを言及(マッチングURI要求を有する任意のピアとの通信が設立される場合)したり、特定のコンパニオン装置を言及(指定された装置及びマッチングURI要求とのみ通信が設立される場合)することができる。
URI要求フィールドのためのフォーマットは、以下のABNF文法に従うことができる。
HbbTV―Request―URI="/hbbtv/"org―id" ."app―id
org―id=8HEX
app―id=4HEX
これら規則は図2に示されている。このような要求に応答して、HbbTVウェブソケットサーバはストリームヘッドを生成することができ、これは、クライアントによってアップグレードGET要求で供給されるURI要求と関連するハーフオープン連結である。サーバは、ウェブソケットプロトコルハンドシェイク応答に直ぐ応答せず、その代わりに、他のピアが表れることを待ち、その結果、第1のクライアントの待機を維持させる。サーバがタイムアウトを実行することを希望する場合、サーバは、504ゲートウェイタイムアウト応答(504 Gateway Timeout response)に反応することができる。
クライアント対クライアント連結を要求するとき、クライアントはSec―ウェブソケット―プロトコルヘッダを使用しないこともある。サーバは、クライアント対クライアント連結のための要求内のSec―ウェブソケット―プロトコルヘッダを無視することもある。クライアント対クライアント連結要求内のホストヘッダフィールドは、サーバがアタッチされるローカルサブネットワーク上のいずれにおいても装置を指定していないと、サーバは403禁止応答(403 Forbidden response)に反応することができる。すべてのHbbTV 2.0ウェブソケットクライアントは、HbbTV 2.0ウェブソケットサーバからクライアント対クライアント連結を要求するためにこのセクションで説明されたメソッドを使用することができる。
図3は、一実施例に係る第2のクライアントの連結を説明する図である。
図3を参照すると、電子装置100a及びコンパニオン装置200aが示されている。電子装置100aは、アプリケーションプロセッサ及びネットワークプロセッサを含むことができる。ネットワークプロセッサ(例えば、ウェブソケットサーバ)は、HbbTVアプリケーション及びコンパニオンアプリケーションから連結要求を受信することができる。
他のクライアントが上述のメソッドを用いて各クライアント間の連結を要求するとき、サーバは、図3に示すように、新たな要求のためのストリームヘッドを生成することができる。新たなストリームヘッドが生成された後、サーバは、URI要求及び新たに生成されたストリームヘッドとマッチするホストヘッダフィールド値のために現在連結待機中のストリームヘッドの集合を検索することができる。何らのマッチングも発見されない場合、サーバは、新たに生成されたストリームヘッドを連結のために待機中のストリームヘッドの集合に追加し、追加的な各クライアント間の連結要求を待つことができる。
言い換えれば、他のクライアントが上述のメソッドを用いてクライアント対クライアント連結を要求するとき、サーバは、図3に示すように、新たな要求のためのストリームヘッドを生成することもできる。新たなストリームヘッドが生成された後、サーバは、URI要求及び新たに生成されたストリームヘッドとマッチするホストヘッダフィールド値のために現在連結待機中のストリームヘッドの集合を検索することができる。何らマッチも発見されない場合、サーバは、新たに生成されたストリームヘッドを連結のために現在待機中のストリームヘッドの集合に追加し、追加的なクライアント対クライアント連結要求のための待機を維持することができる。
図4は、一実施例に係る第1及び第2のクライアント間の連結を説明する図である。
図4を参照すると、電子装置100a及びコンパニオン装置200aが示されている。電子装置100aは、アプリケーションプロセッサ及びネットワークプロセッサを含むことができる。ネットワークプロセッサ(例えば、ウェブソケットサーバ)は、HbbTVアプリケーションとコンパニオンアプリケーションとを連結することができる。
新たに生成されたストリームヘッドが現在連結のために待機するストリームヘッドの集合内のストリームヘッドとして同一のホストヘッダフィールド値及び同一のURI要求(Request―URI)と連関している場合、ウェブソケットサーバは、その集合からマッチするストリームヘッドを除去し、二つのストリームヘッド間の双方向通信チャネルを設立することができる。
二つのストリームヘッドが連結されると、サーバは、直ぐ一つのストリームヘッドから受信したすべてのデータを出力し、それぞれ他のストリームヘッドに変更しない。このようにすると、二つのクライアント間の透明な通信チャネル(a transparent communications channel)を設立することができる。
二つのクライアントのうち一つがクローズフレーム(Close frame)を伝送すると、サーバは、他のクライアントに対応するクローズフレームを伝送することができる。二つのクライアントのうち一つがクローズフレームを伝送しない状態で連結を解除すると、サーバは、クローズフレームを生成して他のクライアントに伝送することができる。
すなわち、ネットワークプロセッサは、アプリケーションプロセッサの連結要求があるとき、アプリケーションプロセッサのストリームヘッドを生成してストリームヘッドグループに含ませることができる。そして、ネットワークプロセッサは、コンパニオン装置から連結要求を受けると、コンパニオン装置のストリームヘッドを生成し、マッチするストリームヘッドの存在有無を検索することができる。マッチするストリームヘッドが存在すると、ネットワークプロセッサは、ストリームヘッドグループに含まれるマッチするアプリケーションプロセッサのストリームヘッドとコンパニオン装置のストリームヘッドとを連結することができる。このとき、ネットワークプロセッサは、マッチするアプリケーションプロセッサのストリームヘッド又はコンパニオン装置のストリームヘッドをストリームヘッドグループから除去することができる。
言い換えれば、新たに生成されたストリームヘッドが、現在連結待機中のストリームヘッドの集合内のストリームヘッドとして同一のURI要求(Request―URI)及びホストヘッダフィールド値と連関している場合、サーバは、その集合からマッチするストリームヘッドを除去することができ、図4に示したように、二つのストリームヘッド間の全二重通信チャネルを設立することができる。二つのストリームヘッドが連結されると、サーバは、直ぐ一つのストリームヘッドから受信したすべてのデータを出力し、それぞれ他のストリームヘッドに変更しない。その結果、二つのクライアント間に透明な通信チャネル(a transparent communications channel)が設立される。二つのクライアントのうち一つがクローズフレーム(Close frame)を伝送すると、サーバは、他のクライアントに対応するクローズフレームを伝送することができる。二つのクライアントのうち一つがクローズフレームを伝送しない状態で連結を切ると、サーバは、クローズフレームを生成することができ、これを他のクライアントに伝送することができる。
図5は、一実施例に係る追加連結要求を説明する図である。
図5を参照すると、HbbTVアプリケーション(クライアント)は、コンパニオン装置200aのコンパニオンアプリケーション(クライアント)と連結されている。そして、HbbTVアプリケーションは、他のクライアントのための他のストリームヘッドを生成することができる。HbbTVアプリケーションは他のアプリケーションとさらに連結することができる。ストリームヘッドは、各クライアント間の連結を設立する前に連結可能なストリームヘッド集合から除去されるので、各クライアント間の連結は1対1になり得る。クライアントが一つ以上の他のクライアントとの通信を望む場合、クライアントは、処理可能な各クライアント間の連結最大数に至るまで追加連結要求をサーバに伝送することができる。
ウェブソケットサーバは、連結のために待機するストリームヘッド集合上で同一のURI要求とホストを有する同一のクライアントのための一つ以上のストリームヘッドを承諾しない。クライアントが一つの成功的な連結やタイムアウト前に同一のURI要求及びホストを有する他のクライアントとの連結要求を発行すると、サーバは403禁止応答(403 Forbidden response)に反応することができる。
クライアントは、連結される待機状態でいくつかの別個のURI要求/ホスト組み合わせの各クライアント間の連結要求を有することができる。クライアントは、一つが成功的に連結されたりタイムアウトされる前に同一のURI要求/ホスト組み合わせを有して他のクライアントとの連結を要求する試みをすることができない。
言い換えれば、任意のストリームヘッドは、クライアント対クライアント連結を設立する前に連結に使用可能なストリームヘッド集合から除去され、このようなクライアント対クライアント連結は1対1のみである。クライアントが一つ以上の他のクライアントとの通信を望む場合、クライアントは、処理可能なクライアント対クライアント連結の最大数に至るまで追加連結要求をサーバに発行することができる。サーバは、現在連結待機中のストリームヘッド集合上で同一のURI要求とホストを有する同一のクライアントのための一つ以上のストリームヘッドを承諾しない。クライアントが一つの成功的な連結又はタイムアウト前に同一のURI要求及びホストを有する他のクライアント対クライアント連結要求を発行すると、サーバは403禁止応答(403 Forbidden response)に反応することができる。クライアントは、連結される待機状態で異なるURI要求/ホスト組み合わせのいくつかのクライアント対クライアント連結要求を有することができる。クライアントは、一つが成功的に連結されたりタイムアウトされる前に同一のURI要求/ホスト組み合わせを有して他のクライアント対クライアント連結を要求する試みをしない。
他のものと共に行われ、標準ウェブソケットサーバ機能を使用し、それらの間の干渉をなくすために、特定の装置間の動作としてURI要求のための/hbbtv/orgid.appidスキーム(scheme)を使用することができる。URI要求及びホストヘッダフィールドのマッチングは、二つの接近方法を許容することができる。第一に、特定の装置(クライアント)がホストヘッダによってターゲットにされると、クライアントは、そのターゲットにされた特定のクライアントとの対話を希望することができる。他の手段(例えば、UPnPのパートとしてSSDP)を通じてその存在に対して認識することができる。第二に、ホストヘッダフィールドがサーバをターゲットにすると、同一のサーバをターゲットにするすべてのクライアントにおいて同一であり得る。これは、URI要求のみが適切な通信ピアを選択するための差別的な要素であることを示す。このようにホストヘッダフィールドで効果的にサーバをターゲットにすることは、同一のURI要求を使用してサーバをターゲットにする他のクライアントとマッチするワイルドカードを提供することができる。専用的且つ機会的な連結設立戦略が可能である。
言い換えれば、他の標準ウェブソケットサーバ機能と共に実行され、それらの間の干渉をなくすために、特定のサーバクライアント対クライアント動作への流出としてURI要求のための/hbbtv/orgid.appidスキームを使用する。URI要求及びホストヘッダフィールドのマッチングの選択は、二つの接近方法を許容することができる。第一に、特定の装置がホストヘッダによってターゲットにされると、クライアントは、その特定の他のクライアントとの対話のみを希望することができる。他の手段(例えば、UPnPのパートとしてSSDP)を通じてその存在に対して認識することができる。第二に、ホストヘッダフィールドがサーバをターゲットにすると、同一のサーバをターゲットにするすべてのクライアントにおいて同一であり得る。これは、URI要求のみが適切な通信ピアを選択するための差別的な要素であるという結果になり得る。このようにホストヘッダフィールドで効果的にサーバをターゲットにすることは、同一のURI要求を使用してサーバをターゲットにする他のクライアントとマッチするワイルドカードを提供する。そのため、専用的且つ機会的な連結設立戦略が可能である。
HbbTV 2.0ウェブソケットサーバは、何ら認証、許可又は確認過程も行わないので、各クライアント間の連結やクライアントとウェブソケットサーバとの間の信頼性がない場合がある。個人情報又はウェブソケットサーバを介した敏感な情報を交換しようとするクライアントは、通信プライバシーを保証する終端間暗号を行うことができる。クライアントは、ウェブソケットサーバを介して通信を行うピアの身元や真偽を設立する暗号化方式を行うことができる。HbbTV 2.0ウェブソケットサーバは、連結されたインターネットを介して表示されたクライアントとの連結を設立するので、HbbTVウェブソケットサーバを介して他のクライアントに対する成功的なサービス拒否攻撃(denial―of―service attack)を受けない場合もある。攻撃を受けるクライアントは、サーバに他のクライアントへの連結を要求することを中止することができる。
サーバは、未だに連結されていないURI連結/ホスト組み合わせへの同時連結試みを拒絶することに定義したので、サービス拒否攻撃は、サーバ自体に対して試みられる場合もある。これは、エラー応答が生成されるように同一の連結要求を繰り返して伝送したり、多くのオープンストリームヘッドを生成し、サーバのリソースを消費するための一つの試みとしてランダム連結要求を伝送することによって行うことができる。二つの技術は、HTTPサーバに対する一般的な戦略であって、ウェブソケットやHbbTV使用の特定なものではない。いずれかのウェブソケットサーバ実行は適切な軽減構造を有することができる(例えば、応答伝送やストリームヘッドの生成を中止させることによって)。
言い換えれば、HbbTV 2.0ウェブソケットサーバは、何ら認証、許可又は他の確認も行わないので、クライアント対クライアント連結やクライアントとウェブソケットサーバとの間の信頼性がない場合がある。個人情報又はウェブソケットサーバを介した敏感な情報を交換しようとするクライアントは、通信プライバシーを保証する終端間暗号を用いることができる。同様に、このようなクライアントは、ウェブソケットサーバを介して通信を行うことを望む任意の通信ピアの身元及び真偽を設立する暗号化方式を用いることができる。HbbTV 2.0ウェブソケットサーバは、連結された意図を示したクライアントのみとの連結を設立するので、HbbTVウェブソケットサーバを介して他のクライアントに対する成功的なサービス拒否攻撃(denial―of―service attack)が行われない場合もある。攻撃を受けるクライアントは、サーバに他のクライアントへの連結を要求することを簡単に中止することができる。
サーバは、未だに連結されていないURI連結/ホスト組み合わせへの同時連結試みを拒絶することに定義したので、サービス拒否攻撃は、サーバ自体に対して試みられる場合もある。これは、エラー応答が生成されるように同一の連結要求を繰り返して伝送したり、又は多くのオープンストリームヘッドを生成し、サーバのリソースを消費するための一つの試みとしてランダム連結要求を伝送することによって行うことができる。二つの技術は、HTTPサーバに対する一般的な戦略であって、ウェブソケットやHbbTV使用の特定なものではない。そのため、任意のウェブソケットサーバ実行は適切な軽減構造を有することができる(例えば、応答伝送やストリームヘッドの生成を中止させることによって)。
図6は、一実施例に係るIPアドレスがない場合における各クライアント間の連結を説明する図である。
図6を参照すると、各クライアント間の通信連結を行う方法が示されている。上述したウェブソケット基盤の各アプリケーション間の通信方法は、ウェブソケットサーバが、URIの経路(ホストネームを除いた残りの経路(path)が同一であるアプリケーション同士を連結させ、各アプリケーション間の通信を可能にし得る。クライアント間の通信は、電子装置で駆動されるアプリケーション(例えば、TVアプリケーション)とコンパニオン装置で駆動されるアプリケーション(CSアプリケーション)とを区分し、選択的に各アプリケーション間の通信を行うことができる。
一実施例として、HbbTVにおいて、URI要求(Request―URI)は、IPアドレスを含まない状態で構成することができる。URIの経路は、ルート("/")の後のHbbTVを知らせる予約語("hbbtv")から始め、その後に機関又は会社区分子(org―id)及びアプリケーション区分子(app―id)を含んで構成することができる。ウェブソケットサーバ(ネットワークプロセッサ)は、ウェブソケットAPIコールのURI経路が同一であるアプリケーション同士を連結させることができる。
シンタックス)GET"/hbbtv/"org―id"."app―id
実施例)GET/hbbtv/org.mychannel.myapp
一方、連結を要求する各クライアントは、同一又は異なるポートを使用することができる。各クライアントが同一のポートを使用する場合、ウェブソケットAPIを呼び出すアプリケーションのIPが同一であると、ウェブソケットサーバは、呼び出すアプリケーションがHbbTVアプリケーションであることが分かり、IPが異なる場合、コンパニオン装置アプリケーションであることが分かる。同一のポートを使用する場合、ウェブソケットサーバはサーバ実行とテストを簡素化することができ、ディスカバリが不要であるという長所がある(ほとんどのウェブソケットライブラリでは、ポート当たりに異なるインスタンスを開始する必要がある。app―2―appサーバがTVの明確に定義されたポート上で聞く場合、ディスカバリが必要でない。)
次に、各クライアントが異なるポートを使用する場合を説明する。この場合は、TVで駆動するアプリケーションとコンパニオン装置で駆動するアプリケーションとが同一のURI経路を使用するが、別個のポートを使用する場合を意味する。一実施例として、TVで駆動するHbbTVアプリケーションは8900ポートを使用し、コンパニオン装置で駆動するアプリケーションは8901ポートを使用することができる。ウェブソケットサーバがTVアプリケーション/コンパニオンアプリケーションが使用するポートを知ると、TVアプリケーション/コンパニオンアプリケーション間の通信とコンパニオンアプリケーション/コンパニオンアプリケーション間の通信とを区分することができる。異なるポートを使用するとき、互いに同一のホスト要求―ヘッダを使用して多数のコンパニオン装置がTVに連結される場合、これを区分して各クライアント間の連結を容易に行うことができる。TVとコンパニオン装置はいずれも同一のホスト要求―ヘッダを有するが、ウェブソケットサーバに別個のポートを介して接続して通信するので、いずれの装置がコンパニオン装置で、いずれの装置がTVであるのかを知ることができる。これによって、保安側面で補完することができる。
図7は、一実施例に係る各アプリケーション間の連結のための待機連結を説明する図である。
図7を参照すると、電子装置100a及びコンパニオン装置200aが示されている。電子装置100aのTVアプリケーションは、ウェブソケットサーバに連結要求を伝送することができる。TVアプリケーションは電子装置内に含まれているので、ウェブソケットサーバはTVアプリケーションをローカルアプリケーションとして認識することができる。そして、コンパニオンアプリケーションは電子装置の外部に存在するので、ウェブソケットサーバはコンパニオンアプリケーションを遠隔アプリケーションとして認識することができる。一実施例として、アプリケーションは、連結要求をするとき、次のようなメソッドを使用することができる。
Figure 0006301464
Figure 0006301464
一実施例として、ネットワークプロセッサは、W3CウェブソケットAPIを実行することができ、少なくとも200個の同時ウェブソケット連結をサポートすることができる。
ネットワークプロセッサは、ウェブソケットプロトコル仕様のサーバ側で実行する二つのサービスエンドポイントを提供することができる。ローカルエンドポイントは、HbbTVアプリケーションによってネットワークプロセッサに連結するためのものである。遠隔エンドポイントは、他の装置のアプリケーションによってホームネットワークに連結することができ、他のHbbTV装置で駆動する遠隔コンパニオンアプリケーション又はHbbTVアプリケーションを含むためのものである。HbbTVアプリケーションは、それらが動作するネットワークプロセッサのローカルサービスエンドポイントや同一のホームネットワーク上の他のハイブリッドターミナルの遠隔サービスエンドポイントに連結することができる。ネットワークプロセッサは、ホームネットワーク内の他の装置のローカルサービスエンドポイントに連結しない方がよい。例えば、これは、ネットワークプロセッサのローカルループバックインタフェースのローカルサービスエンドポイントを位置させることによって達成することができる。他のサービスエンドポイントがウェブソケットプロトコル仕様のサーバ側を実行し、HbbTVアプリケーションやコンパニオンアプリケーションがそのようなサービスエンドポイントを使用すると、ハイブリッドターミナルは、他のサービスエンドポイントとして同一のホスト及びポート組み合わせでサービスエンドポイントを位置させてはならない。
各アプリケーション間のサービスエンドポイントのための基本URLは、ウェブソケットURLであり得る。ウェブソケットURLは、ホスト、ポート、保安及びサービスエンドポイントのリソースネームを定義することができる。クライアントは、サービスエンドポイントのウェブソケットURLによって明示されたホストとポートに連結しなければならない。クライアントによって最初のプロトコル要求で使用されるリソースネームはABNF文法に従う。
resource―name=base―url―resource―name app―endpoint
base―url―resource―nameは、サービスエンドポイントのウェブソケットURLから導出されたリソースネームである。app―endpointはアプリケーション仕様である。これは、クライアントに対応するクライアントの連結マッチングプロセスに使用することができる。対応するクライアントのメッセージは、ウェブソケットプロトコルを通じて伝達することができる。app―endpointは、衝突を避けるためにアプリケーションデベロッパによって選択することができる。したがって、app―endpointは、HbbTVアプリケーション又はコンパニオンアプリケーション及びそのデベロッパと独特に連関したリバースDNS表記で形式化された識別子から始めることができる。ハイブリッドターミナルは、少なくとも1000文字の長さとウェブソケットプロトコル仕様によってリソースネームで許容されたいずれかの文字を含むapp―endpointをサポートすることができる。
サービスエンドポイントは、クライアントから少なくとも10個の同時TCPソケット連結をサポートすることができる。クライアントがサーバとTCPソケットとの間の連結をオープンするために努力するとき、サーバは、サーバが同時連結を取り扱えないと要求を拒絶することができる。そうでない場合、サーバは、TCPソケット連結を承認し、ウェブソケットプロトコルハンドシェイクを始めることができる。サーバは、クライアント要求ハンドシェイクを受信するが、ハンドシェイク応答に直ぐ応答しない場合もある。その代わりに、サーバは、連結がペアになるまで又はクライアントの連結が解除されるまで待つことができる。この状態で、連結は待機連結を構成することができる。サーバがタイムアウトを実行しようとする場合、サーバは504ゲートウェイタイムアウト応答に反応することができる。
サーバは、クライアントによって伝送された要求ハンドシェイクのいずれかのオリジン(origin)ヘッダを無視することができる。クライアントは、各クライアント間の連結を要求するとき、Sec―ウェブソケット―プロトコルヘッダを使用しないこともある。サーバは、各クライアント間の連結のための要求においてSec―ウェブソケット―プロトコルヘッダを無視することができる。サーバは、Sec―ウェブソケット―プロトコルヘッダを使用するプロトコル拡張のためのクライアント要求を承認しないこともある。クライアントがSec―ウェブソケット拡張ヘッダを使用すると、サーバは、ウェブソケットプロトコル仕様で定義された方式で連結できないこともある。
図7に示したように、クライアントとして動作するHbbTVアプリケーションが"org.mychannel.myapp"のapp―endpointと/hbbtv/のbase―url―resource―nameを有するローカルサービスエンドポイントとの連結を試みることができる。コンパニオン装置との連結は、コンパニオンアプリケーションが未だに同一のapp―endpointを使用する各アプリケーション間の通信に連結できなかったため待機状態を維持することができる。
図8は、一実施例に係る第2のクライアントとの連結のための新たな連結要求を説明する図である。
図8を参照すると、HbbTVアプリケーション(クライアント)は、コンパニオン装置200aのコンパニオンアプリケーション(クライアント)と連結されている。そして、HbbTVアプリケーションは、他のクライアントのための他のストリームヘッドを生成することができる。
サーバは、同一のapp―endpointを有する同一の本来のIPアドレスから一つ以上の同時待機連結を承諾することができない。成功的に連結されたり終了する前に該当するIPアドレスのクライアントが同一のapp―endpointを使用する他の連結要求を発行すると、サーバは403禁止応答に反応することができる。
クライアントは、他のリソース―ネーム組み合わせを使用する同一のサービスエンドポイントを通じてマルチプル同時クライアント間の連結を設立することを希望することができる。クライアントは、存在するサービスエンドポイントへの連結待機に成功したり、タイムアウトされたり、連結解除される前にサービスエンドポイントから他の連結の要求を試みることができない。このようなクライアントの動作は、ウェブソケットプロトコル仕様によって定義することができる。
図8によると、クライアントが一つ以上のクライアントと通信することを希望すると、クライアントは、存在する待機連結がペアになるまで待機することができる。このとき、処理可能な各クライアント間の連結最大数字に至るまで追加連結要求をサーバに発行することができる。すなわち、HbbTVアプリケーションは、各アプリケーション間の通信の設立を承諾するための新たな待機連結要求を生成することができる。
一方、クライアントは、URI経路にIPアドレスを含ませることもできる。
図9は、一実施例に係るIPアドレスを含む場合における第1のクライアントの設定を説明する図である。
一実施例として、上述したURI経路は、ルート("/")の後のHbbTVを知らせる予約語("hbbtb")から始め、その後に機関/会社区分子(org―id)及びアプリケーション区分子(app―id)を含んで構成することができる。各アプリケーション間の通信を行おうとするアプリケーションがターゲットアプリケーションを指定するために、URIの経路にターゲットアプリケーションが駆動中の装置のIPアドレスを追加することができる。ウェブソケットサーバは、ウェブソケットAPIコールのURI経路が同一であるアプリケーションのうち互いに通信しようとするIPによって連結させることができる。
シンタックス)GET"/hbbtv/"target IP"/"org―id"."app―id
実施例)GET/hbbtv/1.1.1.1/org.mychannel.myapp
一実施例として、TVアプリケーションAがIP 1.1.1.1で駆動中で、コンパニオンアプリケーションBがIP 1.1.1.2(第1のユーザ端末機)で駆動中で、コンパニオンアプリケーションCがIP 1.1.1.3(第2のユーザ端末機)で駆動中であり得る。このとき、TVアプリケーションAがコンパニオンアプリケーションCと互いに通信しようと試みることができる。TVアプリケーションAは、ウェブソケット要求に含まれるURIの経路にコンパニオンアプリケーションCが駆動中であるIP(1.1.1.3)を含ませることができる。そして、コンパニオンアプリケーションCは、ウェブソケット要求に含まれるURIの経路にTVアプリケーションAのIP(1.1.1.1)を含ませることができる。
図9によると、URI経路は、hbbtv/192.0.2.7/org.mychannel.myapp HTTP/1/1と同一であり得る。ここで、192.0.2.7は、ターゲットアプリケーションのIPアドレスであり得る。192.0.2.110は自分のIPアドレスであり得る。そして、org.mychannel.myappはアプリケーションIDであり得る。
図10は、一実施例に係るIPアドレスを含む場合における第1及び第2のクライアントの設定を説明する図である。
ウェブソケットサーバは、それぞれのクライアントから図9を参照して説明したURI要求を受信することができる。図10を参照すると、192.0.2.110のIPアドレスを有する第1のクライアント、及び192.0.2.7のIPアドレスを有する第2のクライアントがある。第1のクライアントが第2のクライアントに連結を要求する場合、出発地(From Host)は192.0.2.110で、到着地(To Host)は192.0.2.7になる。そして、アプリケーションIDはorg.mychannel.myappであり得る。第2のクライアントが第1のクライアントに連結を要求する場合、出発地(From Host)は192.0.2.7で、到着地(To Host)は192.0.2.110になる。そして、アプリケーションIDはorg.mychannel.myappであり得る。すなわち、第1のクライアントと第2のクライアントの出発地と目的地の住所は互いに反対になり得る。しかし、アプリケーションIDは同一である。ウェブソケットサーバは、マッチするクライアントを互いに連結させることができる。
また、ホストIPアドレスを含むURI経路を使用することもできる。
例えば、URI経路は、Syntax)GET"/"hbbtv"/"host_address"/"org―id"."app―id、
実施例)GET/hbbtv/192.0.2.7/org.mychannel.myappのように使用することができる。
図11は、IPアドレスを含む場合における複数の第2のクライアントに連結する一実施例を説明する図である。
図11を参照すると、HbbTVは、一定のIPアドレスを有し、org.mychannel.myappのアプリケーションIDを含んでいる。第1のコンパニオンアプリケーションIPアドレスは192.0.2.7で、第2のコンパニオンアプリケーションIPアドレスは192.0.2.1である。第1及び第2のコンパニオンアプリケーションのアプリケーションIDはorg.mychannel.myappである。図10を参照して説明したように、ウェブソケットサーバは、マッチするクライアントを互いに連結させることができる。よって、各クライアントの要求に対応して、ウェブソケットサーバはマッチする各クライアントを互いに連結させることができる。
このように、URI経路にIPアドレスを使用する場合、両クライアントは連結対象を指定するので保安性が向上し、各クライアント間の連結が可能であり、別途の努力がなくてもすべての情報のマッチングが可能であるという長所がある。一方、URI経路にIPアドレスを使用する場合にも、各クライアントは同一又は別個のポートを使用することができる。
図12は、一実施例に係る電子装置の制御方法のフローチャートである。
図12によると、電子装置は、コンパニオン装置と連結することができる(S1210)。電子装置は、ネットワークプロセッサ及びアプリケーションプロセッサを含むことができる。電子装置においては、アプリケーションプロセッサがネットワークプロセッサにコンパニオン装置との連結を要求することができる。ネットワークプロセッサは、コンパニオン装置から連結要求を受けると、連結要求したアプリケーションプロセッサとコンパニオン装置とを連結することができる。
上述したように、アプリケーションプロセッサは、アプリケーションモジュール及びアプリケーションブラウザであるか、又はHbbTVアプリケーションであり得る。ネットワークプロセッサはネットワークモジュールとして具現することができる。又は、ネットワークプロセッサは、ウェブソケットサーバであり得る。ネットワークプロセッサがウェブソケットサーバとして具現される場合、アプリケーションプロセッサとコンパニオン装置はそれぞれ一つのクライアントと見なすことができる。又は、第1のクライアントと第2のクライアントをそれぞれピアと呼ぶこともできる。
アプリケーションプロセッサは、ネットワークプロセッサで動作する電子装置情報又はコンパニオン装置情報を示すホスト要求ヘッダ情報をネットワークプロセッサに伝送することができる。そして、ネットワークプロセッサは、アプリケーションプロセッサの連結要求があるとき、アプリケーションプロセッサのストリームヘッドを生成してストリームヘッドグループに含ませることができる。ネットワークプロセッサは、コンパニオン装置から連結要求を受けると、コンパニオン装置のストリームヘッドを生成し、このストリームヘッドをストリームヘッドグループに含まれたマッチするアプリケーションプロセッサのストリームヘッドと連結することができる。このとき、ネットワークプロセッサは、マッチするアプリケーションプロセッサのストリームヘッド又はコンパニオン装置のストリームヘッドをストリームヘッドグループから除去することができる。一方、アプリケーションプロセッサは、連結しようとするコンパニオン装置のIPアドレスを伝送することができ、それぞれのアプリケーションは同一のポートを用いることができる。
電子装置は、コンパニオン装置との間でデータを送受信することができる(S1220)。このような過程を通じて、電子装置は、コンパニオン装置と連結して通信を行うことができる。
本明細書に係る電子装置及び制御方法は、上述した各実施例の構成と方法に限定して適用されるものではなく、各実施例の全部又は一部が選択的に組み合わされ、多様な変形が可能である。
一方、本明細書の電子装置の制御方法は、電子装置で備えられたプロセッサで読み取り可能な記録媒体にソフトウェアとして具現可能である。プロセッサで読み取り可能な記録媒体は、プロセッサによって読まれるデータが格納されるすべての種類の記録装置を含む。プロセッサで読み取り可能な記録媒体の例としては、ROM、RAM、CD―ROM、磁気テープ、フロッピー(登録商標)ディスク、光データ格納装置などがあり、また、インターネットを介した伝送などのキャリアウェーブの形態に具現されるものも含む。また、プロセッサで読み取り可能な記録媒体は、ネットワークで連結されたコンピューターシステムに分散され、分散方式でプロセッサで読み取り可能なコードが格納されて実行され得る。
また、以上では、本明細書の好ましい実施例に対して図示して説明したが、本明細書は、上述した特定の実施例に限定されるものではなく、特許請求の範囲で請求する要旨から逸脱することなく、当該発明の属する技術分野で通常の知識を有する者によって多様な変形実施が可能であることは当然であり、このような変形実施は、本明細書の技術的思想や展望から個別的に理解してはならない。
電子装置で使用可能であり、反復可能性があるという産業上の利用可能性を有する。

Claims (4)

  1. 電子装置上でTVアプリケーションを実行するアプリケーションプロセッサと、ウェブソケット(WebSocket)プロトコルを用いて前記電子装置をコンパニオン装置と連結するウェブソケットサーバと、を有する制御部と、
    前記コンパニオン装置との間でデータを送受信する通信部と有し
    前記ウェブソケットサーバは、前記通信部を用いて、ウェブソケット連結を介して前記コンパニオン装置上で実行されるコンパニオンアプリケーションと前記TVアプリケーションとの間でデータを中継し、
    前記ウェブソケットサーバは、ローカルサービスエンドポイント及び遠隔サービスエンドポイントを提供し、
    前記ウェブソケットサーバは、第1アプリケーションエンドポイントデータを有し、前記コンパニオンアプリケーションから前記遠隔サービスエンドポイントに送られた第1要求を受信し、
    前記ウェブソケットサーバは、第2アプリケーションエンドポイントデータを有し、前記TVアプリケーションから前記ローカルサービスエンドポイントに送られた第2要求を受信し、
    前記ウェブソケットサーバは、前記第1アプリケーションエンドポイントデータと前記第2アプリケーションエンドポイントデータとが同じであるか否かをマッチングして前記コンパニオンアプリケーションと前記TVアプリケーションとの間の前記ウェブソケット連結を確立するか否かを決定し、前記第1アプリケーションエンドポイントデータ及び前記第2アプリケーションエンドポイントデータは、インターネットプロトコル(IP)アドレス情報を含まず、
    前記ウェブソケットサーバは、前記コンパニオンアプリケーションと前記TVアプリケーションとの間の前記ウェブソケット連結を確立してデータを中継する、電子装置。
  2. 前記アプリケーションプロセッサは、前記遠隔サービスエンドポイントに関するベースIPアドレスを前記コンパニオン装置に伝送する、請求項1に記載の電子装置。
  3. 電子装置の制御方法であって
    ウェブソケット(WebSocket)プロトコルを用いて前記電子装置をコンパニオン装置と連結する段階と、
    前記電子装置におけるウェブソケットサーバが、ウェブソケット連結を介して前記コンパニオン装置上で実行されるコンパニオンアプリケーションと前記電子装置上で実行されるTVアプリケーションとの間でデータを中継する段階と、を有し、
    前記連結する段階は、
    前記ウェブソケットサーバが、ローカルサービスエンドポイント及び遠隔サービスエンドポイントを提供する段階と、
    前記ウェブソケットサーバが、第1アプリケーションエンドポイントデータを有し、前記コンパニオンアプリケーションから前記遠隔サービスエンドポイントに送られた第1要求を受信する段階と、
    前記ウェブソケットサーバが、第2アプリケーションエンドポイントデータを有し、前記TVアプリケーションから前記ローカルサービスエンドポイントに送られた第2要求を受信する段階と、
    前記第1アプリケーションエンドポイントデータと前記第2アプリケーションエンドポイントデータとが同じであるか否かをマッチングして前記コンパニオンアプリケーションと前記TVアプリケーションとの間の前記ウェブソケット連結を確立するか否かを決定する段階であって、前記第1アプリケーションエンドポイントデータ及び前記第2アプリケーションエンドポイントデータは、インターネットプロトコル(IP)アドレス情報を含まない段階と、
    前記コンパニオンアプリケーションと前記TVアプリケーションとの間の前記ウェブソケット連結を確立してデータを中継する段階と、を有する、電子装置の制御方法。
  4. プリケーションプロセッサは、前記遠隔サービスエンドポイントに関するベースIPアドレスを前記コンパニオン装置に伝送する段階をさらに有する、請求項に記載の電子装置の制御方法。
JP2016526847A 2013-11-04 2014-11-04 電子装置及び電子装置の制御方法 Active JP6301464B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201361899305P 2013-11-04 2013-11-04
US61/899,305 2013-11-04
US201361911983P 2013-12-04 2013-12-04
US61/911,983 2013-12-04
PCT/KR2014/010491 WO2015065149A1 (ko) 2013-11-04 2014-11-04 전자 장치 및 전자 장치의 제어 방법

Publications (2)

Publication Number Publication Date
JP2017502373A JP2017502373A (ja) 2017-01-19
JP6301464B2 true JP6301464B2 (ja) 2018-03-28

Family

ID=53004648

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016526847A Active JP6301464B2 (ja) 2013-11-04 2014-11-04 電子装置及び電子装置の制御方法

Country Status (6)

Country Link
US (2) US10367864B2 (ja)
EP (1) EP3068139B1 (ja)
JP (1) JP6301464B2 (ja)
KR (1) KR101898492B1 (ja)
CN (1) CN105706455B (ja)
WO (1) WO2015065149A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10038721B2 (en) * 2015-02-16 2018-07-31 International Business Machines Corporation Enabling an on-premises resource to be exposed to a public cloud application securely and seamlessly
KR102335007B1 (ko) * 2015-04-01 2021-12-06 삼성전자주식회사 방송 시스템에서 디바이스들 간에 정보를 송수신하는 방법 및 장치
KR102714483B1 (ko) * 2015-05-26 2024-10-10 엘지전자 주식회사 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
GB2565807B (en) 2017-08-23 2022-04-20 Samsung Electronics Co Ltd Method and apparatus for controlling 360 degree video
ES2970259T3 (es) * 2017-08-23 2024-05-27 Samsung Electronics Co Ltd Dispositivo cliente, dispositivo de pantalla complementaria, y procedimiento de funcionamiento de los mismos
JP6803357B2 (ja) * 2017-10-04 2020-12-23 日本放送協会 受信装置およびプログラム
CN110290417A (zh) * 2019-07-30 2019-09-27 四川虹魔方网络科技有限公司 基于WebSocket的电视网络通信传输方法
EP3787299A1 (de) * 2019-09-02 2021-03-03 Institut für Rundfunktechnik GmbH Aufbau einer verbindung zwischen einer ersten anwendung auf einem ersten gerät und einer zweiten anwendung auf einem zweiten gerät

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101019147A (zh) 2004-08-19 2007-08-15 同步加株式会社 销售支持系统
KR20070073749A (ko) * 2007-03-16 2007-07-10 가부시끼가이샤 싱크 플러스 판매 지원 시스템
US8438294B2 (en) 2010-04-07 2013-05-07 Apple Inc. Application programming interface, system, and method for collaborative online applications
KR20120000142A (ko) * 2010-06-25 2012-01-02 이지성 스마트폰을 이용한 보드게임시스템
US9667713B2 (en) * 2011-03-21 2017-05-30 Apple Inc. Apparatus and method for managing peer-to-peer connections between different service providers
KR101252688B1 (ko) * 2011-04-08 2013-04-09 (주)서원인텍 용이하게 홈 네트워크를 구축할 수 있는 인터폰과 이를 컨트롤 할 수 있는 스마트폰을 포함하여 이루어진 인터폰시스템.
WO2013031556A1 (ja) 2011-08-26 2013-03-07 日本放送協会 受信機および受信方法
KR101346333B1 (ko) * 2011-11-25 2014-01-02 조현욱 스마트 티브이 기반의 홈네트워크 시스템
WO2013126507A1 (en) * 2012-02-21 2013-08-29 Brass Monkey, Inc. Mobile embedded servers systems and methods related thereto
KR101391553B1 (ko) * 2012-02-27 2014-05-07 한국산업기술대학교산학협력단 스마트 프리젠테이션 시스템
TWI511537B (zh) * 2012-04-27 2015-12-01 Wistron Corp 智慧型電視系統、智慧型電視、行動裝置及其輸入操作方法
KR102121472B1 (ko) * 2013-09-23 2020-06-17 삼성전자주식회사 기기 별 응용 프로그램간 통신을 위한 장치 및 방법

Also Published As

Publication number Publication date
US20190334966A1 (en) 2019-10-31
CN105706455B (zh) 2020-02-07
KR20160051794A (ko) 2016-05-11
WO2015065149A1 (ko) 2015-05-07
EP3068139A4 (en) 2017-05-03
CN105706455A (zh) 2016-06-22
JP2017502373A (ja) 2017-01-19
US10819761B2 (en) 2020-10-27
US20160241614A1 (en) 2016-08-18
US10367864B2 (en) 2019-07-30
KR101898492B1 (ko) 2018-09-13
EP3068139A1 (en) 2016-09-14
EP3068139B1 (en) 2020-09-23

Similar Documents

Publication Publication Date Title
JP6301464B2 (ja) 電子装置及び電子装置の制御方法
CN114866521B (zh) 会议服务器
US11070970B2 (en) Apparatus and method for providing universal plug and play service based on Wi-Fi direct connection in portable terminal
EP2803244B1 (en) Methods and apparatus for establishing a tunneled direct link setup (tdls) session between devices in a wireless network
US9948686B2 (en) Method and apparatus for sharing DLNA device
CN101651548B (zh) 用于设备的远程开机方法和系统
JP2017073813A (ja) 車両用ヘッドユニットとモバイル装置間のデータ交換のための装置及び方法
JP6548445B2 (ja) 通信装置、通信方法及びプログラム
US9929942B2 (en) Remote access to a residential multipath entity
KR102311514B1 (ko) 시커 디바이스와 목표 디바이스 간의 접속을 설정하는 방법 및 시스템
JP5982402B2 (ja) ホームネットワークを用いた通話方法及び装置
CN108307694A (zh) 一种网络连接信息获取方法及路由器
CN113747435A (zh) 计算机可读介质和通信设备
CN106534192B (zh) 一种共享认证方法及系统、智能设备及控制方法
JP2007116348A (ja) PPPoEブリッジ装置及びPPPoEセッション切断方法
CA2838356A1 (en) Remote vpn provisioning of an endpoint
JP5198916B2 (ja) インターネット接続システム
CN117411762B (zh) 分布式消息传输方法、装置、设备及介质
JP5331139B2 (ja) 通信方法及び制御装置
JP5246194B2 (ja) 回線多重システム、回線多重ネゴシエーション方法、及び多重ゲートウェイ装置
CN113746796A (zh) 计算机可读介质和通信设备
CN115208603A (zh) 用于私有通讯架构的连接方法与电脑可读取媒体
JP5057124B1 (ja) 通信装置、ルータ、通信システム、並びに通信装置及びルータの制御方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170526

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170704

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171004

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180228

R150 Certificate of patent or registration of utility model

Ref document number: 6301464

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250