JP6545824B2 - クライアント・デバイスと第1のスクリーン・デバイスの間の探索および接続プロトコルの相互運用性 - Google Patents

クライアント・デバイスと第1のスクリーン・デバイスの間の探索および接続プロトコルの相互運用性 Download PDF

Info

Publication number
JP6545824B2
JP6545824B2 JP2017558623A JP2017558623A JP6545824B2 JP 6545824 B2 JP6545824 B2 JP 6545824B2 JP 2017558623 A JP2017558623 A JP 2017558623A JP 2017558623 A JP2017558623 A JP 2017558623A JP 6545824 B2 JP6545824 B2 JP 6545824B2
Authority
JP
Japan
Prior art keywords
coupling
screen
application
client device
screen application
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
JP2017558623A
Other languages
English (en)
Other versions
JP2018511896A (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.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Publication of JP2018511896A publication Critical patent/JP2018511896A/ja
Application granted granted Critical
Publication of JP6545824B2 publication Critical patent/JP6545824B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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
    • 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/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • 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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/75Indicating network or usage conditions on the user display
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/005Discovery of network devices, e.g. terminals

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • Computer And Data Communications (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Description

説明する実施形態は一般にクライアント・デバイスに対する探索およびカップリング・プロトコルの相互運用性に関し、より具体的には第1のスクリーン・デバイスとのビデオ・セッションを確立する際のクライアント・デバイス相互運用性を促進することに関する。
第2のデバイス上のアプリケーション(例えば、ラップトップ)を介して第1のデバイス上のアプリケーション(例えば、テレビ)の探索および/または開始に使用される、幾つかのプロトコル(例えば、単純なサービス探索プロトコルベースの探索および開始(「DIAL」)、マルチキャスト・ドメインネーム・システム・ベースのCASTV2API(「CAST」)等)がある。CASTは、ANDROID(登録商標)および/またはGOOGLEデバイスに対する幾つかの通信の基盤となる非公開プロトコルである。当該アプリケーションのユーザが当該プロトコル仕様を実装することが、例えば、ラップトップ上のブラウザにより表示されているコンテンツを、テレビ上のアプリケーションを介して表示させることができる。これらのプロトコルを用いたコンテンツの表示には、デバイス複製およびプロトコル相互運用性の問題を含む、幾つかの問題がある。
デバイス複製は、利用可能なディスプレイ・デバイスとしてのデバイスを発見することに対して、発見されたデバイスが複数回列挙されるという問題である。幾つかの事例では、デバイスは、当該発見デバイスとのビデオ・セッションを確立するための複数のプロトコルをサポートする。これらのケースでは、当該デバイスを、当該デバイスが発見される各経路を介して、かつ、恐らくは異なる名前でユーザに提供することができる。例えば、ラップトップ上のアプリケーションはDIAL探索を使用してテレビを発見し、次いでDIALを使用してテレビ上のアプリケーションを開始することができる。しかしながら、テレビは別の探索プロトコル(例えば、CAST)をサポートすることもでき、かつ/または、ラップトップと以前に手動でペアリングされうる。手動ペアリングは、例えばテレビによりラップトップに提供されるかまたはラップトップによりテレビに提供されるパスコードを入力したときに発生し、この結果、ラップトップがBLUETOOTH(登録商標)接続を介してテレビに無線で接続される。本例では、追加のステップなしに、幾つかのテレビがユーザに3回、恐らく異なる名前で示されるであろう。この状況は混乱をもたらすものであり、ユーザ・エクスペリエンスに影響を及ぼし次善のプロトコルの選択をもたらしうる。
プロトコル相互運用性は、特にデバイスが2つの他のデバイスの間の既存のセッションに参加するのを試みる文脈で発生する別の問題である。この問題に対する根底となる原因は、特定のプロトコルを用いて開始されたセッションに別のプロトコルを用いて参加できず、幾つかのデバイスにおいて探索モジュールが独立に機能することである。異なるプロトコルを用いて既存のセッションに参加するのを試みるのは、失敗するか、または、現在のセッションの混乱および新たなセッションの生成をもたらしうる。例えば、テレビはDIALおよびCASTプロトコルの両方をサポートすることがあり、デバイスAはDIALのみをサポートすることがあり、デバイスBはDIALおよびCASTの両方をサポートすることがある。デバイスAはDIALプロトコルを用いてテレビとのセッションを生成し、後の何らかの時点で、デバイスBがCASTを用いて当該セッションへの参加を試み、当該セッションの混乱をもたらす。当該混乱は、テレビとの当該セッションがDIALおよびCASTの両方で同時に動作できないことに起因する。
様々な実施形態では、制御サーバは、第2のスクリーン・デバイス上(例えば、ラップトップ)で動作している第2のスクリーン・アプリケーションの第1のスクリーン・デバイス(例えば、テレビ)上で動作している第1のスクリーン・アプリケーションとの相互運用性を促進する。制御サーバは、第1のスクリーン・アプリケーションが以前に1つまたは複数の第2のスクリーン・デバイスに手動でペアリングされているかどうかを示すペアリング情報を維持する。制御サーバはまた、第1のスクリーン・アプリケーションが1つまたは複数の第2のスクリーン・デバイスとのビデオ・ディスプレイ・セッションに参加しているかどうか、そうである場合、どのカップリング・プロトコルが当該ビデオ・セッションで使用されているかを示す情報を維持する。
第2のスクリーン・デバイス上で動作している第2のスクリーン・アプリケーションは、各デバイスから受信された探索情報および制御サーバから受信されたペアリング情報を用いた接続のために利用可能なデバイスの重複排除されたリストを生成する。デバイスの当該重複排除されたリストは、例えば、第1のスクリーン・デバイス、第2のスクリーン・デバイス、またはそれらの幾つかの組合せを含んでもよい。第2のスクリーン・アプリケーションは、ユーザ・インタフェースを介してデバイスの当該重複排除されたリストを第2のスクリーン・デバイスのユーザに提供する。
幾つかの実施形態では、ユーザは、ユーザ・インタフェースを介して、ビデオ・ディスプレイ・セッションにともに参加する列挙された第1のスクリーン・デバイスを選択する。第2のスクリーン・アプリケーションは、選択されたデバイスの第1のスクリーン・アプリケーションに対する制御サーバからアプリケーション情報を取得する。アプリケーション・ステータス情報は、第1のスクリーン・アプリケーションが幾つかの他の第2のスクリーン・デバイスとの既存のビデオ・ディスプレイ・セッション内にあるかどうかを示す。第2のスクリーン・アプリケーションは、示されたアプリケーション・ステータスおよび第2のスクリーン・デバイスに利用可能なカップリング・プロトコルおよび第1のスクリーン・アプリケーションの1つまたは複数のカップリング・プロトコルに基づいてカップリング方法を決定する。
当該アプリケーション・ステータスが、第1のスクリーン・アプリケーションが幾つかの他の第2のスクリーン・デバイスとの既存のセッション内にあること、および、当該セッションが特定のカップリング・プロトコルを使用していることを示す諸実施形態では、第2のスクリーン・アプリケーションは、当該特定のカップリング・プロトコルもまた第2のスクリーン・デバイスによりサポートされるかどうかを判定する。サポートされる場合、第2のスクリーン・デバイスは当該特定のカップリング・プロトコルを介して既存のセッションに接続する。そうでない場合、第2のスクリーン・デバイスは既存のセッションに制御サーバを介して間接的に接続する。第2のスクリーン・デバイスおよび制御サーバは、第2のスクリーン・デバイスによりサポートされるカップリング・プロトコルを用いて通信し、制御サーバおよび第1のスクリーン・デバイスは、既存のセッションで使用されている特定のカップリング・プロトコルを介して接続する。
クライアント・デバイスの第1のスクリーン・デバイスとの相互運用性を促進するための環境の1実施形態を示すブロック図である。 1実施形態に従う第1のスクリーン・デバイスを発見し重複排除するための方法の対話図である。 1実施形態に従う第1のスクリーン・アプリケーションと1つまたは複数の第2のスクリーン・アプリケーションの間のセッションを確立するための方法の対話図である。 1実施形態に従う、図1の第2のスクリーン・アプリケーションの詳細な図を示すブロック図である。 1実施形態に従う、デバイス重複排除をデバイス探索の一部として実施するプロセスを示す流れ図である。 1実施形態に従う、第1のスクリーン・アプリケーションと第2のスクリーン・アプリケーションの間のセッションを確立するためのプロセスを示す流れ図である。 図1に示すエンティティを実装するための例示的なコンピュータを示すブロック図である。
図面および以下の説明では特定の実施形態を例示によりのみ説明する。当業者は、以下の説明から、本明細書で示した構造および方法の代替的な実施形態を、本明細書で説明した原理から逸脱することなく使用してもよいことを容易に認識するであろう。次に、幾つかの実施形態を詳細に参照する。その例は添付図面で示されている。適用可能な場合は常に、図面において同様なまたは同じ参照番号を使用してもよく、同じまたは同様な機能を示してもよいことに留意されたい。
図1は、クライアント・デバイス100、105の第1のスクリーン・デバイス120との相互運用性を促進するための環境の1実施形態を示すブロック図である。当該環境は、クライアント・デバイス100およびクライアント・デバイス105を含み、夫々はネットワーク110により第1のスクリーン・デバイス120と制御サーバ130に接続される。ここで、2つのクライアント・デバイスのみ、1つのスクリーン・デバイスおよび1つの制御サーバが図示されているが、これらのエンティティの各々の複数のインスタンスがあってもよい。例えば、1つまたは複数の制御サーバ130と通信する何千何百ものクライアント・デバイス100、105および第1のスクリーン・デバイス120がありうる。
ネットワーク110は、クライアント・デバイス100、105、第1のスクリーン・デバイス120、および制御サーバ130の間の通信インフラを提供する。ネットワーク110は一般にインターネットであるが、任意のネットワークであってもよい。当該任意のネットワークには、ローカル・エリア・ネットワーク(LAN)、メトロポリタン・エリア・ネットワーク(MAN)、広域ネットワーク(WAN)、モバイル有線または無線ネットワーク、プライベート・ネットワーク、または仮想プライベート・ネットワーク、またはそれらの幾つかの組合せが含まれるがこれらに限られない。例えば、クライアント・デバイス100、105および第1のスクリーン・デバイス120は、例えば、WIFIカップリングを用いて互いと通信し、インターネット・カップリングを用いて制御サーバ130と通信してもよい。
第1のスクリーン・デバイス120およびクライアント・デバイス100、105は、非一時的コンピュータ可読媒体に格納されユーザが媒体コンテンツを視聴し消費できるようにする、コンピュータ・プログラム・モジュール、例えば、ウェブ・ブラウザまたは他のクライアント・アプリケーションを実行するコンピューティング・デバイスである。第1のスクリーン・デバイス120およびクライアント・デバイス100は、ANDROID(登録商標)「登録商標」またはAPPLE「登録商標」IOS「登録商標」のようなオペレーティング・システムを有するスマートフォンのようなコンピューティング・デバイス、タブレット・コンピュータ、ラップトップ・コンピュータ、デスクトップ・コンピュータ、テレビ、ゲーム・コンソール、またはデジタル・コンテンツをユーザに提供できる任意の他のタイプのネットワーク可能デバイスである。説明の簡単さのため、ここでは、限定ではなく、第1のスクリーン・デバイス120がテレビであると想定する。典型的な第1のスクリーン・デバイス120および/またはクライアント・デバイス100、105は、音(例えば、スピーカおよびマイクロフォン)および画像を入力し出力するのに必要なハードウェアおよびソフトウェアを含み、(例えば、Wi−Fiおよび/または4Gまたは他の無線電気通信標準を介して)ネットワーク110に接続される。
第1のスクリーン・デバイス120およびクライアント・デバイス100、105は、1つまたは複数のカップリング・プロトコルを用いてセッションを確立するために互いに接続される。カップリング・プロトコルは、他のローカル・デバイス(例えば、クライアント・デバイス100、105および/または第1のスクリーン・デバイス120)を発見し、かつ/または、セッションに参加(例えば、セッションを生成)するために、発見されたローカル・デバイスに接続するために使用される機構である。カップリング・プロトコルは、例えば、DIAL、CAST、手動ペアリング、AIRPLAY、SMARTGLASS、MIRACAST、(一般にホーム・ネットワーク上で)アプリケーションを発見し開始するための幾つかの他の機構、またはそれらの幾つかの組合せを含んでもよい。第1のスクリーン・デバイス120およびクライアント・デバイス100、105は特定のタイプのカップリング・プロトコルと動作可能であり、幾つかの場合、第1のスクリーン・デバイス120およびクライアント・デバイス100、105と動作可能なカップリング・プロトコルのタイプは異なってもよい。例えば第1のスクリーン・デバイス120はDIALおよびCASTと動作可能であってもよく、クライアント・デバイス100はCASTと動作可能であってもよく、クライアント・デバイス105はDIALと動作可能であってもよい。
第1のスクリーン・デバイス120は、接続されたクライアント・デバイスから制御しうる第1のスクリーン・アプリケーション140を含む。例えば、第1のスクリーン・アプリケーション140とのセッションにおいてクライアント・デバイス100を動作させるユーザは、クライアント・デバイス100を用いて、クライアント・デバイス100に表示されたコンテンツを第1のスクリーン・アプリケーション140により表示させうる。第1のスクリーン・アプリケーション140はアプリケーション識別子を生成する。当該アプリケーション識別子は、第1のスクリーン・アプリケーション140を第1のスクリーン・デバイス120のアプリケーションであるとして識別する。第1のスクリーン・アプリケーション140は第1のスクリーン・デバイス120への第1のスクリーン・アプリケーション140のインストールの一部として当該アプリケーション識別子を生成してもよい。当該アプリケーション識別子を、例えば、乱数生成器、デバイス識別子のハッシュ、第1のスクリーン・アプリケーション140等を曖昧さなく特定する識別子を生成する幾つかの他の方法を用いて、生成してもよい。探索要求を受信したことに応答して、第1のスクリーン・アプリケーション140は、当該アプリケーション識別子および利用可能な接続プロトコルを当該要求クライアント・デバイスに提供する。
さらに、クライアント・デバイスとのセッションをセットアップする際、第1のスクリーン・アプリケーション140は、当該セッションを説明する(例えば、セッション、当該セッションで使用されるカップリング・プロトコル等を識別する)そのアプリケーション・ステータス情報を制御サーバ130に登録する。クライアント・デバイス100、105は後に第1のスクリーン・アプリケーション140のアプリケーション・ステータスを制御サーバ130に要求し、当該情報を使用して、第1のスクリーン・アプリケーション140とのセッションに参加する好適な方法を決定してもよい。したがって、当該セッションと動作不能な接続プロトコルを用いて既存のセッションに参加するリスクが除去される。
クライアント・デバイス100は、第2のスクリーン・アプリケーション160と同様な機能を有する第2のスクリーン・アプリケーション150を含む。第2のスクリーン・アプリケーション150は、例えば、WIFI、BLUETOOTH(登録商標)等を介してクライアント・デバイス100に接続するために利用可能なデバイスを発見する。当該探索プロセスの一部として、第2のスクリーン・アプリケーション150は、当該発見されたデバイスの任意の以前の手動ペアリングを記述する情報を制御サーバ130から取得する。手動ペアリングは、ユーザにより手動で実施された、第2のスクリーン・アプリケーション150および発見されたデバイスの間の接続である。例えば、ユーザは、2つのデバイスを探索モードに配置し、次いで当該デバイスのうち1つにより他のデバイスに提供されたパスコードを入力してもよく、これが、当該デバイスをペアリングさせる。第2のスクリーン・アプリケーション150は発見されたデバイスのデバイス・リストを維持する。第2のスクリーン・アプリケーション150は、当該発見されたデバイス(例えば、アプリケーション識別子、カップリング・プロトコル等)に関する情報で当該デバイス・リストを更新する。第2のスクリーン・アプリケーション150はまた、発見されたデバイスの任意の以前の手動ペアリングを記述する制御サーバ130からの情報で当該デバイス・リストを更新する。しばしば、第1のスクリーン・アプリケーション140は、複数のカップリング・プロトコルおよび/または手動ペアリングと関連付けられてもよい(即ち、それらにより発見可能であってもよい)。更新されたデバイス・リストはこれらのカップリング・プロトコルおよび手動ペアリングの各々に対するエントリを示し、同一の第1のスクリーン・アプリケーション140に対して当該更新されたデバイス・リスト内に複数のエントリをもたらす。第2のスクリーン・アプリケーション150は、例えば、アプリケーション識別子ごとに、第2のスクリーン・アプリケーション150とインタフェースするために使用されるセッション・インタフェースにおいて、当該デバイス・リスト内のエントリをアプリケーション識別子により収集し、次いで単一のデバイス・エントリを生成することによって、重複排除を当該更新されたデバイス・リストに実施する。幾つかの実施形態では、ユーザは、第1のスクリーン・アプリケーション140とのセッションを確立し、かつ/または、第1のスクリーン・アプリケーション140との既存のセッションに参加するようにクライアント・デバイス100に要求するために当該エントリを選択することができる。
当該セッション・インタフェースは、第2のスクリーン・アプリケーション150とインタフェースするためにユーザが使用するグラフィカル・ユーザ・インタフェースである。例えば、ユーザは、他のデバイスを発見し、当該セッション・インタフェースを用いて特定の第1のスクリーン・デバイス120等に接続するように第2のスクリーン・アプリケーション150に指示してもよい。第2のスクリーン・アプリケーション150は、発見されたデバイスおよび/またはこれらのデバイス上で動作しているアプリケーションのリストを(例えば、当該セッション・インタフェースを介して)提供する。発見されたデバイスのリストは、当該デバイス・リストの重複排除により生成されたエントリを用いて生成される。したがって、当該リスト内の各エントリは特定のデバイス上で動作している特定のアプリケーションに対応する。
第2のスクリーン・アプリケーション150はユーザからの選択を受信する。当該選択は、当該選択に関連付けられた第1のスクリーン・デバイス120とのセッションに参加する希望を示す。例えば、ユーザは、第1のスクリーン・デバイス120上で動作している第1のスクリーン・アプリケーション140に対応する発見されたデバイスのリスト内のエントリを選択してもよい。第2のスクリーン・アプリケーション150は、当該デバイスが既に既存のセッション内にあるかどうかを判定するように制御サーバ130に問い合せ、そうである場合、既存のセッションに関連付けられたカップリング・プロトコルは何かを問い合わせる。第2のスクリーン・アプリケーション150は、第1のスクリーン・デバイス120が既存のセッション内にあるかどうかおよびクライアント・デバイス100および第1のスクリーン・デバイス120に利用可能なカップリング・プロトコルに基づいて、クライアント・デバイス100を第1のスクリーン・デバイス120に接続するためのカップリング方法を決定する。接続方法は、例えば、第1のスクリーン・アプリケーション140への直接カップリングまたは制御サーバ130を介した第1のスクリーン・アプリケーション140への間接カップリングであってもよい。第2のスクリーン・アプリケーション150はついで、決定されたカップリング方法に基づいて第1のスクリーン・アプリケーション140に接続する。第1のスクリーン・アプリケーション140に接続されると、第2のスクリーン・アプリケーション150のユーザは、第1のスクリーン・アプリケーション150により提供されたコンテンツに対する幾つかの制御を有することができる。例えば、ユーザは、第2のスクリーン・アプリケーション150により提供されているビデオを、第1のスクリーン・アプリケーション140により提供させてもよい。
制御サーバ130は、第1のスクリーン・アプリケーションおよびクライアント・デバイスに関する情報を維持する。当該維持される情報は、例えば、ペアリング情報およびアプリケーション・ステータスを含む。ペアリング情報は、第1のスクリーン・アプリケーション140と手動でペアリングされる任意のデバイス(例えば、クライアント・デバイス100、105)を記述する。手動ペアリングは、ユーザが、第2のスクリーン・アプリケーションおよび第1のスクリーン・アプリケーション140の間の接続を手動で確立したときに発生する。制御サーバ130は、ペアリング情報を、例えば、第2のスクリーン・アプリケーション150、160および/または第1のスクリーン・アプリケーション140から受信してもよく、制御サーバ130は次いでデータベースを受信されたペアリング情報で更新する。アプリケーション・ステータスは、第1のスクリーン・アプリケーション140が既存のセッション内にあるかどうか、およびそうである場合、どのカップリング・プロトコルが既存のセッションで使用されているかを記述する。制御サーバ130は、アプリケーション・ステータス情報を第1のスクリーン・アプリケーション140から受信し、次いで制御サーバ130がデータベースを受信された情報で更新する。第2のスクリーン・アプリケーション(例えば、第2のスクリーン・アプリケーション150)からの要求を受信したことに応答して、制御サーバ130は、ペアリング情報、アプリケーション・ステータス情報、またはその両方を第2のスクリーン・アプリケーション150、160に提供する。
幾つかの実施形態では、制御サーバ130は、第2のスクリーン・アプリケーション150を第1のスクリーン・アプリケーション140に間接的に接続してセッションに参加する。上述のように、第1のスクリーン・デバイス120は、限定された1組のカップリング・プロトコルとの相互運用性を有する。クライアント・デバイス100が第1のスクリーン・デバイス120に対して動作する同一のカップリング・プロトコルの少なくとも1つと動作可能でないケースでは、クライアント・デバイス100は、制御サーバ130を介して第1のスクリーン・デバイス120に間接的に接続してもよい。当該事例では、クライアント・デバイス100は、クライアント・デバイス100および制御サーバ130の両方に利用可能なカップリング・プロトコルを用いて制御サーバ130と通信し、制御サーバ130は、第1のスクリーン・アプリケーション140および制御サーバ130の両方に利用可能な異なるカップリング・プロトコルを用いて第1のスクリーン・アプリケーション140と通信する。制御サーバ130は、実際に、クライアント・デバイス100からの通信を、制御サーバ130により受理可能なフォーマットに変換し、その反対も成り立つ。したがって、第1のスクリーン・デバイス120および別のクライアント・デバイス(例えば、クライアント・デバイス105)の間の既存のセッションで使用される特定のカップリング・プロトコルと動作可能でないクライアント・デバイス100は、当該特定のカップリング・プロトコルを用いて制御サーバ130を介して間接的に当該セッションに参加することができる。当該方式で既存のセッションに参加することにより、クライアント・デバイス100は当該セッションの混乱なしに当該セッションに参加することができる。例えば、当該セッションで現在使用されているものと異なるカップリング・プロトコルを用いてセッションに参加するのを試みることが、現在のセッションを失敗させ、当該異なるカップリング・プロトコル等を用いて再開させる可能性がある
図2は探索プロセスをより詳細に示す対話図である。特に、図2は第1のスクリーン・デバイスを発見し重複排除するための方法の1実施形態の対話図である。様々な実施形態では、当該方法が、図2と関連して説明したものと異なるステップおよび/または追加のステップを含んでもよい。さらに、幾つかの実施形態では、当該ステップを図2と関連して説明したものと異なる順序で実施してもよい。
第1のスクリーン・デバイス120上で動作している第1のスクリーン・アプリケーション140は、第1のスクリーン・アプリケーション140に一意なアプリケーション識別子を生成する(205)。第1のスクリーン・アプリケーション140は、他の要求アプリケーションに対して発見可能なアプリケーション識別子を生成する(210)。
第2のスクリーン・アプリケーション150が探索要求を第1のスクリーン・アプリケーション140に送信する(215)。第2のスクリーン・アプリケーション150が、例えば、ローカル・エリア・ネットワークを介して当該探索要求を当該ネットワーク上のデバイスに送出してもよい。探索要求の受信に応答して、第1のスクリーン・アプリケーション140は探索情報を第2のスクリーン・アプリケーション150に提供する(220)。探索情報は、どのようにクライアント・デバイス(例えば、100、105)が第1のスクリーン・アプリケーション140に接続しうるかを記述する情報である。探索情報は、例えば、当該アプリケーション識別子および第1のスクリーン・アプリケーション140等とのセッションを確立するために使用されうるカップリング・プロトコルのリストを含む。
第2のスクリーン・アプリケーション150は、受信された探索情報を用いてデバイス・リストを更新する。当該デバイス・リストは、第2のスクリーン・アプリケーション150が発見したデバイスのリストである。第2のスクリーン・アプリケーション150は、当該探索情報に関連付けられた全てのカップリング・プロトコルに対するデバイス・リストにエントリを追加する。したがって、単一のアプリケーション識別子に対して複数のエントリがあってもよい。例えば、当該探索情報がアプリケーション識別子X、およびカップリング・プロトコルDIALおよびCASTを含んだ場合、当該デバイス・リストは、第1のスクリーン・アプリケーション140に対する2つのエントリ(例えば、[アプリケーション識別子X:DIAL;アプリケーション識別子X:CAST])を含むであろう。
第2のスクリーン・アプリケーション150が、第1のスクリーン・アプリケーション140に対するペアリング情報を制御サーバ130に要求する(230)。ペアリング情報に対する当該要求は、第1のスクリーン・アプリケーション140に対するアプリケーション識別子を含む。ペアリング情報は、第1のスクリーン・アプリケーション140が手動でペアリングされているかもしれない任意のデバイス(例えば、クライアント・デバイス105)を記述する情報である。ペアリング情報に対する当該要求は当該アプリケーション識別子を含む。制御サーバ130は当該アプリケーション識別子を用いてペアリング情報を取り出す(235)。例えば、制御サーバ130が、様々な第1のスクリーン・アプリケーションに対する手動ペアリングのリストを格納するデータベースにアクセスしてもよく、関心のある第1のスクリーン・アプリケーションに関連付けられたアプリケーション識別子を用いて以前に第1のスクリーン・アプリケーションとペアリングされたクライアント・デバイスの特定のリストを取り出してもよい。制御サーバ130は当該ペアリング情報を第2のスクリーン・アプリケーション150に提供する(240)。
第2のスクリーン・アプリケーション150は、当該ペアリング情報を用いてデバイス・リストを更新する(245)。第2のスクリーン・アプリケーション150は、当該ペアリング情報で列挙された全ての以前の手動ペアリングに対するデバイス・リストにエントリを追加する。したがって、単一のアプリケーション識別子に対する複数のエントリがあってもよい。したがって、当該デバイス・リストが、特定のカップリング・プロトコルおよび/または手動ペアリングに対応する単一のアプリケーション識別子に対して複数のエントリを含んでもよい。
第2のスクリーン・アプリケーション150は当該デバイス・リスト内の項目の重複排除を実施する(250)。第2のスクリーン・アプリケーション150はアプリケーション識別子により当該デバイス・リスト内のエントリを収集し、次いで当該アプリケーション識別子と関連付けられたカップリング・プロトコルおよび/または手動ペアリングにマップされる単一のデバイス・エントリをセッション・インタフェース内に生成する。当該セッション・インタフェースは、クライアント・デバイスがそれにより他のデバイス(例えば、第1のスクリーン・デバイス130)上で動作しているアプリケーションを探索しかつ/または当該アプリケーションとのセッションを確立しうる、グラフィカル・ユーザ・インタフェースである。
第2のスクリーン・アプリケーション150は当該デバイス・エントリを含むセッション・インタフェースを提供する(255)。当該セッション・インタフェースは、発見されセッションを確立するために利用可能な、デバイス(例えば、第1のスクリーン・デバイス130)ごとに単一のデバイス・エントリを提供する。例えば、3つの異なるテレビが発見されておりセッションを確立するために利用可能であった場合、3つのデバイス・エントリがテレビごとに1つ存在するはずである。幾つかの実施形態では、デバイス・エントリの選択により、当該セッション・インタフェースは、第2のスクリーン・アプリケーション150が第1のスクリーン・アプリケーション140に接続するための異なるオプションを提供する。例えば、第1のスクリーン・アプリケーション140に対する当該デバイス・エントリの選択が、当該セッション・インタフェースに、第1のスクリーン・アプリケーション140に接続するために利用可能なプロトコルの列挙を提供させてもよい。
次に、デバイス間のセッションの確立の議論に移る。図3は、第1のスクリーン・アプリケーションと1つまたは複数の第2のスクリーン・アプリケーションの間のセッションを確立するための方法の1実施形態の対話図である。様々な実施形態では、当該方法が、図3と関連して説明したものと異なるステップおよび/または追加のステップを含んでもよい。さらに、幾つかの実施形態では、当該ステップを図3と関連して説明したのと異なる順序で実施してもよい。
第2のスクリーン・デバイス105上の第2のスクリーン・アプリケーション160は、第2のスクリーン・デバイス105にローカルな発見されたデバイスを提供する(305)。例えば、第2のスクリーン・アプリケーション160は、発見されたデバイスごとに単一のデバイス・エントリを示すセッション・インタフェースを提供してもよい。図2を参照して上述したプロセスを用いて、デバイス・エントリのリストが生成されてもよい。第2のスクリーン・アプリケーション160は、第1のスクリーン・アプリケーション140に関連付けられたデバイス・エントリの選択を受信する(310)。例えば、ユーザは、第1のスクリーン・デバイス120に対するデバイス・エントリを選択してもよく、第1のスクリーン・アプリケーション140は第1のスクリーン・デバイス120上で動作しているアプリケーションである。
第2のスクリーン・アプリケーション160は、第1のスクリーン・アプリケーション140に関連付けられたアプリケーション・ステータス情報を制御サーバ130に要求する(315)。アプリケーション・ステータス情報に対する当該要求は第1のスクリーン・アプリケーション140に関連付けられたアプリケーション識別子を含む。制御サーバ130は、当該アプリケーション識別子を用いてデータベースから当該アプリケーション・ステータス情報を取り出す。当該データベースは、第1のスクリーン・アプリケーションが既存のセッション内にあるかどうか、そうである場合、どのカップリング・プロトコルが既存のセッションで使用されているかを記述するアプリケーション・ステータス情報を維持する。制御サーバ130は、第1のスクリーン・アプリケーション140に対するアプリケーション・ステータスを第2のスクリーン・アプリケーション160に提供する(320)。
第2のスクリーン・アプリケーション160は、幾つかの他のクライアント・デバイスとの既存のセッションがあるかどうかを、当該受信されたアプリケーション・ステータス情報を用いて決定する(325)。既存のセッションがない場合、第2のスクリーン・アプリケーション160は、第1のスクリーン・アプリケーション140とのセッションを確立する(330)。
幾つかの事例では、やはりクライアント・デバイス105によりサポートされた第1のスクリーン・デバイス120によりサポートされる複数のカップリング・プロトコルがあってもよい。幾つかの実施形態では、第2のスクリーン・アプリケーション160は、順位付けられたカップリング・プロトコルのテーブルを含む。幾つかの実施形態では、当該カップリング・プロトコルは、第2のスクリーン・アプリケーション160の管理者により順位付けられる。当該管理者は当該カップリング・プロトコルを任意の順序で順位付けてもよい。幾つかの実施形態では、当該カップリング・プロトコルが、当該カップリング・プロトコルがユーザに提供したセッション上の制御の量により順位づけられてもよい。例えば、CASTはDIALより多い音量調節制御を提供するので、当該テーブルはCASTをDIALより高く順位付けるはずである。幾つかの実施形態では、第2のスクリーン・アプリケーション160は、クライアント・デバイス105および第1のスクリーン・デバイス120CASTCASTの両方に利用可能なテーブル内の最高ランクのカップリング・プロトコルである好適なカップリング・プロトコルを選択する。他の実施形態では、第2のスクリーン・アプリケーション160は、セッションを確立するために使用されるカップリング・プロトコルを選択するようにユーザに促してもよい。
セッションを確立する際のステップは一般にカップリング・プロトコル固有であるが、しかし、選択されたカップリング・プロトコルに関わらず、第1のスクリーン・アプリケーション140は、第1のスクリーン・アプリケーション140が第2のスクリーン・アプリケーション160とのセッション内にありかつ当該セッションが特定のカップリング・プロトコルを用いて開始されたことを示すアプリケーション・ステータス情報を制御サーバ130に提供する(335)。制御サーバ130はついで、第1のスクリーン・アプリケーション120に関連付けられたアプリケーション・ステータス情報を、受信されたアプリケーション・ステータス情報で更新する(340)。例えば、制御サーバ130が、第1のスクリーン・アプリケーション140のアプリケーション識別子に関連付けられたデータベース・エントリを、受信されたアプリケーション・ステータス情報で更新してもよい。
幾つかの実施形態では、第2のスクリーン・アプリケーション160は、カップリング・プロトコルを介して幾つかの他のクライアント・デバイス(例えば、第2のスクリーン・アプリケーション150)との既存のセッション345があると、制御サーバ130からのアプリケーション・ステータス情報を用いて判定する。第2のスクリーン・デバイス160は、当該カップリング・プロトコルがクライアント・デバイス105にも利用可能である(即ち、当該カップリング・プロトコルがクライアント・デバイス100によりサポートされる)かどうかを決定する(350)。当該カップリング・プロトコルがサポートされる実施形態では、第2のスクリーン・アプリケーション150は、当該カップリング・プロトコルを用いて第1のスクリーン・アプリケーション140に接続する(355)。第1のスクリーン・アプリケーション140への接続は、既存のセッション345で使用される同一のプロトコルを使用するので、第2のスクリーン・アプリケーション150は、既存のセッション345を混乱させること(例えば、故障を生じさせること、当該セッションを再開させること等)なしに既存のセッション345に接続することができる(355)。
当該カップリング・プロトコルが利用可能でない(即ち、クライアント・デバイス100によりサポートされない)幾つかの実施形態では、第2のスクリーン・アプリケーション150は当該セッションに制御サーバ130を介して接続する。制御サーバ130へのカップリング360は、クライアント・デバイス100によりサポートされる幾つかの他のプロトコルを介して行われる。制御サーバ130はついで、既存のセッション345で使用されるカップリング・プロトコルを用いて第1のスクリーン・アプリケーションに接続する。制御サーバ130は当該セッションに対するカップリング・プロトコルを用いて既存のセッション345に接続するので、制御サーバ130は、第2のスクリーン・アプリケーション150を、制御サーバ130を介して、混乱なしに既存のセッションに効果的に参加させることができる。
第1のスクリーン・アプリケーション140と別のクライアント・デバイスの間に既存のセッションがない幾つかの事例では(図3には示さず)、クライアント・デバイス105に利用可能なカップリング・プロトコルが第1のスクリーン・デバイス120に利用可能であるカップリング・プロトコルと異なる。したがって、クライアント・デバイス105は、第1のスクリーン・アプリケーション140に直接接続し第1のスクリーン・アプリケーション140とのセッションを確立することができない。幾つかの実施形態では、クライアント・デバイス105は、制御サーバ130を介して間接的に第1のスクリーン・アプリケーション140に接続する。例えば、クライアント・デバイス105はクライアント・デバイス105および制御サーバ130に利用可能なカップリング・プロトコルを用いて制御サーバ130と通信し、制御サーバ130は、クライアント・デバイス105から受信された情報を、第1のスクリーン・デバイスによりサポートされるカップリング・プロトコルと互換なフォーマットに変換し、当該カップリング・プロトコルを用いて第1のスクリーン・アプリケーションと通信する。
次に第2のスクリーン・アプリケーション150の構造の議論に移ると、図4は、1実施形態に従う第2のスクリーン・アプリケーション150内のモジュールの詳細な図を示すブロック図である。第2のスクリーン・アプリケーション150の幾つかの実施形態は、ここで説明したのと異なるモジュールを有する。同様に、当該機能を、ここで説明したのと異なる方式でモジュール間で配分することができる。第2のスクリーン・アプリケーション150は、デバイス・データベース410、探索モジュール420、重複排除モジュール430、インタフェース・モジュール440、およびカップリング・モジュール450を含むモジュールから成る。さらに、以下の議論は第2のスクリーン・アプリケーション150の文脈で行われるが、これは第2のスクリーン・アプリケーション160にも等しく適用される。
デバイス・データベース410は、第1のスクリーン・デバイス120上の第1のスクリーン・アプリケーション140との探索およびセッション参加に関する情報を格納する。探索およびセッション参加に関する情報はデバイス・リストを含む。デバイス・リストは、発見されたデバイス(例えば、クライアント・デバイスおよび/または第1のスクリーン・デバイス120)に関連付けられた情報のリストである。当該デバイス・リスト内の各デバイスに関連付けられた情報は、例えば、当該デバイスで動作している特定のアプリケーションのアプリケーション識別子、デバイスと互換のカップリング・プロトコル、ペアリング情報、またはそれらの幾つかの組合せを含んでもよい。
探索モジュール420は、第2のスクリーン・アプリケーション150に対する探索動作を実施する。探索モジュール420は、探索要求を(例えば、WIFI、BLUETOOTH(登録商標)等を介して)ローカル・デバイスに送信して、探索のためにローカルに利用可能なデバイス(例えば、第1のスクリーン・デバイス120および/または他のクライアント・デバイス)を特定する。探索モジュール420は、探索情報を、任意の発見された第1のスクリーン・デバイス120から受信する。当該探索情報は、当該発見された第1のスクリーン・アプリケーション140に対するアプリケーション識別子と第1のスクリーン・アプリケーション140とのセッションを確立するために使用されうるカップリング・プロトコルとの両方を含む。
探索モジュール420は、デバイス・リストを受信された探索情報で更新する。探索モジュール420は、当該探索情報に関連付けられた全てのカップリング・プロトコルに対するデバイス・リストにエントリを追加する。したがって、単一のアプリケーション識別子に対する複数のエントリ(例えば、[アプリケーション識別子X:DIAL;アプリケーション識別子X:CAST・・・])があってもよい。
探索モジュール420は、発見された第1のスクリーン・デバイス120に関連付けられたペアリング情報を制御サーバ130から取得する。当該ペアリング情報は、第1のスクリーン・アプリケーション140が手動でペアリングされているかもしれない任意のクライアント・デバイスを記述する情報である。探索モジュール420は当該デバイス・リストを制御サーバ130から受信されたペアリング情報で更新する。探索モジュール420は、当該ペアリング情報で識別された全ての手動ペアリングに対するデバイス・リストにエントリを追加する。したがって、単一のアプリケーション識別子に対するカップリング・プロトコルおよび/または手動ペアリングの両方に対して複数のエントリ(例えば、[アプリケーション識別子X:DIAL;アプリケーション識別子X:CAST;アプリケーション識別子X:クライアント・デバイス1への手動ペアリング;アプリケーション識別子X:クライアント・デバイス2への手動ペアリング;・・・])があってもよい。
さらに、幾つかの実施形態では、探索モジュール420はクライアント・デバイス100に一意な識別子を生成してもよい。探索要求を幾つかの他のクライアント・デバイス(例えば、クライアント・デバイス105)から受信したことに応答して、探索モジュール420は、当該要求クライアント・デバイスに、当該識別子およびクライアント・デバイス100を接続するために利用可能なカップリング・プロトコルのリストを提供する。
重複排除モジュール430は、更新されたデバイス・リストを用いてデバイス重複排除を実施する。重複排除モジュール430は、当該更新されたデバイス・リスト内のエントリをアプリケーション識別子により収集し、次いで、当該アプリケーション識別子に関連付けられたカップリング・プロトコルおよび/または手動ペアリングにマップされたセッション・インタフェースに対する単一のデバイス・エントリを生成する。
インタフェース・モジュール440は、1つまたは複数のデバイス・エントリを用いてセッション・インタフェースを生成する。当該セッション・インタフェースは、クライアント・デバイス100がそれにより他のデバイス(例えば、第1のスクリーン・デバイス130)上で動作しているアプリケーションを発見しかつ/または当該アプリケーションとのセッションを確立しうる、グラフィカル・ユーザ・インタフェースである。当該セッション・インタフェースは当該デバイス・エントリのうち1つまたは複数をクライアント・デバイス100のユーザに提供する。各デバイス・エントリは単一の第1のスクリーン・デバイス120に関連付けられる。幾つかの実施形態では、デバイス・エントリは代替的に、幾つかの他のクライアント・デバイス(例えば、クライアント・デバイス105)に関連付けられてもよい。
特定のデバイス(例えば、第1のスクリーン・デバイス120)に対するデバイス・エントリの選択を受信したことに応答して、カップリング・モジュール350は、選択されたデバイスに関連付けられたアプリケーションのアプリケーション・ステータスを取得する。例えば、カップリング・モジュール350は、選択された第1のスクリーン・デバイス120上で動作している第1のスクリーン・アプリケーション140に対するアプリケーション・ステータス情報を制御サーバ130から取得してもよい。当該アプリケーション・ステータス情報は、第1のスクリーン・アプリケーションが既存のセッション内にあるかどうか、そうである場合、どのカップリング・プロトコルが既存のセッションで使用されているかを記述する情報である。
カップリング・モジュール450は、受信されたアプリケーション・ステータス情報およびクライアント・デバイス100に利用可能なカップリング・プロトコルを用いてカップリング方法を決定する。例えば、既存のセッションでないことを当該アプリケーション・ステータス情報が示す場合、カップリング・モジュール450は、好適なプロトコルを用いて第1のスクリーン・アプリケーション140とのセッションを確立してもよい。幾つかの実施形態では、当該好適なプロトコルはクライアント・デバイス100のユーザにより選択されたカップリング・プロトコルである。代替的な実施形態では、カップリング・モジュール450は、第1のスクリーン・デバイス120とクライアント・デバイス100の両方に利用可能などのカップリング・プロトコルがクライアント・デバイス100のユーザに最も多くの制御を提供するかに基づいて、好適なカップリング・プロトコルを選択する。例えば、DIALおよびCASTが利用可能なカップリング・プロトコルであると仮定すると、カップリング・モジュール450はCASTを当該カップリング・プロトコルとして選択してもよい。なぜならば、CASTは追加の音量調節制御を当該DIALカップリング・プロトコル上で提供するからである。さらに、既存のセッションがなく、クライアント・デバイス105に利用可能なカップリング・プロトコルが第1のスクリーン・デバイス120に利用可能であるカップリング・プロトコルと異なる実施形態では、カップリング・モジュール450は、制御サーバ130を通じて間接的に第1のスクリーン・アプリケーション140に接続する。
当該アプリケーション・ステータス情報が、第1のスクリーン・デバイス120が特定のカップリング・プロトコルを用いた別のクライアント・デバイス(例えば、クライアント・デバイス105)との既存のセッション内にあることを示す実施形態では、カップリング・モジュール450は、当該特定のカップリング・プロトコルがクライアント・デバイス100にも利用可能である(即ち、当該カップリング・プロトコルがクライアント・デバイス100によりサポートされる)かどうかを判定する。当該カップリング・プロトコルがサポートされる場合、カップリング・モジュール450は、当該特定のカップリング・プロトコルを用いて第1のスクリーン・アプリケーション140に接続する。当該特定のカップリング・プロトコルが利用可能でない(即ち、クライアント・デバイス100によりサポートされない)場合には、当該カップリング・プロトコルは制御サーバ130を介して当該セッションに接続する。この場合、当該セッションへのカップリングは、クライアント・デバイス100によりサポートされるプロトコルを用いてクライアント・デバイス100が制御サーバ130に接続し、制御サーバ130が次いで当該特定のカップリング・プロトコルを用いて当該セッションに接続するという意味で間接的である。何れのケースでも、クライアント・デバイス100は、既存のセッションで使用されている当該特定のカップリング・プロトコルを介して既存のセッションに参加している。したがって、クライアント・デバイス100は混乱なしに既存のセッションに効果的に参加でき、これは、そうでなければ、既存のセッションへの接続が、既存のセッションで使用されているカップリング・プロトコルからのカップリング・プロトコルの差異を用いて試みられていた場合に、生ずるかもしれない。
図5は、1実施形態に従うデバイス重複排除をデバイス探索の一部として実施するプロセスを示す流れ図である。1実施形態では、図5のプロセスはクライアント・デバイス100により実施される。他のエンティティは、他の実施形態におけるプロセスのステップの一部または全部を実施してもよい。同様に、実施形態は異なるおよび/または追加のステップを含んでもよく、または、当該ステップを異なる順序で実施してもよい。
クライアント・デバイス100は、第1のスクリーン・デバイス120上で動作している第1のスクリーン・アプリケーション140と、第1のスクリーン・デバイス120に接続するための利用可能なカップリング・プロトコルをを発見する(510)。例えば、クライアント・デバイス100は、例えば、BLUETOOTH(登録商標)、WIFI等を介して1つまたは複数の探索要求を送出してもよい。当該発見された第1のスクリーン・デバイス120は、クライアント・デバイス100に、アプリケーション識別子と第1のスクリーン・デバイス120によりサポートされる利用可能なカップリング・プロトコルとを含む探索情報を提供する。
クライアント・デバイス100は、第1のスクリーン・デバイス120に関連付けられた情報(例えば、当該探索情報の一部または全部)および利用可能なカップリング・プロトコルを用いてデバイス・リストを更新する(520)。クライアント・デバイス100は、カップリング・プロトコルごとにエントリを当該デバイス・リストに追加して、各エントリも当該アプリケーション識別子に関連付けられるようにする。したがって、単一のアプリケーション識別子に対して複数のエントリ(例えば、[アプリケーション識別子X:DIAL;アプリケーション識別子X:CAST])があってもよい。
クライアント・デバイス100は、ペアリング情報を第1のスクリーン・デバイス120に対する制御サーバ130から取得する(530)。例えば、クライアント・デバイス100は第1のスクリーン・アプリケーション140および/または第1のスクリーン・デバイス120に関連付けられたペアリング情報を制御サーバ130に要求してもよい。制御サーバ130から受信されたペアリング情報は、第1のスクリーン・アプリケーション140が手動でペアリングされているかもしれない任意のデバイス(例えば、クライアント・デバイス105)を記述する。クライアント・デバイス100は当該ペアリング情報を用いて当該デバイス・リストを更新する(540)。クライアント・デバイス100は、手動ペアリングに関連付けられた全てのアプリケーション識別子に対するエントリを当該デバイス・リストに追加し、単一のアプリケーション識別子に対する複数のエントリがあってもよい。例えば、当該デバイス・リストは、カップリング・プロトコルおよび同一のアプリケーション識別子に関連付けられた手動ペアリングの両方に対するエントリ(例えば、[アプリケーション識別子X:DIAL;アプリケーション識別子X:CAST;アプリケーション識別子X:デバイス1への手動ペアリング;アプリケーション識別子X:デバイス2への手動ペアリング;・・・])を含んでもよい。
クライアント・デバイス100は、当該更新されたデバイス・リストを用いてデバイス重複排除を実施する(540)。クライアント・デバイス100は、当該デバイス・リスト内のエントリをアプリケーション識別子により収集し、ついで、当該アプリケーション識別子に関連付けられたカップリング・プロトコルにマップされるセッション・インタフェース内の単一のデバイス・エントリを生成する。クライアント・デバイス100は、以前に発見されている任意の他のデバイス・エントリとともに、第1のスクリーン・デバイス120に対する単一のデバイス・エントリを含むセッション・インタフェースをユーザに提供する。したがって、当該セッション・インタフェースにより提供されたリスト構成デバイス・エントリはデバイスの重複排除されたリストであり、各エントリは異なるデバイスに対応する。
図6は、1実施形態に従う第1のスクリーン・アプリケーションと第2のスクリーン・アプリケーションの間のセッションを確立するためのプロセスを示す流れ図である。1実施形態では、図6のプロセスはクライアント・デバイス100により実施される。他のエンティティは、他の実施形態におけるプロセスのステップの一部または全部を実施してもよい。同様に、実施形態は、異なるおよび/または追加のステップを含んでもよく、または当該ステップを異なる順序で実施してもよい。
クライアント・デバイス100は、ユーザ・インタフェース内のデバイスの重複排除されたリストをクライアント・デバイス100のユーザに提供する(610)。当該重複排除されたリストが例えば、図5を参照して上述したプロセスを用いて生成されてもよい。
クライアント・デバイス100は、セッションにともに参加するための列挙されたデバイスの選択を受信する(620)。幾つかの実施形態では、当該セッションは、例えば、ビデオ・ディスプレイ・セッションであってもよい。この文脈では、参加は、選択されたデバイスとの既存のセッションに参加することまたは選択されたデバイスとのセッションを確立することを指してもよい。
クライアント・デバイス100は、選択されたデバイス上の第1のスクリーン・アプリケーション140のアプリケーション・ステータスを制御サーバ130から取得する(630)。クライアント・デバイス100は、当該アプリケーション・ステータスおよびクライアント・デバイス100と第1のスクリーン・デバイス100の両方に利用可能なカップリング・プロトコルに基づいてカップリング方法を決定する(640)。既存のセッションがないことを当該アプリケーション・ステータスが示す実施形態では、クライアント・デバイス100は、クライアント・アプリケーション100と第1のスクリーン・アプリケーション120の両方に利用可能な好適なカップリング・プロトコル(例えば、クライアント・デバイス100のユーザに最も多くの制御を提供するもの)を用いて、第1のスクリーン・アプリケーション140に接続する(650)。第1のスクリーン・アプリケーション140がクライアント・デバイス105との既存のセッション内にあり当該セッションが特定のカップリング・プロトコルを使用していることをアプリケーション・ステータスが示す実施形態では、クライアント・デバイス100は、当該特定のカップリング・プロトコルもまたクライアント・デバイス100によりサポートされるかどうかを判定する。サポートされる場合、クライアント・デバイス100は既存のセッションに当該特定のカップリング・プロトコルを介して接続する(650)。そうでない場合、クライアント・デバイス100は間接的に既存のセッションに制御サーバ130を介して接続する。クライアント・デバイス100と制御サーバ130はクライアント・デバイス100によりサポートされるカップリング・プロトコルを用いて通信し、制御サーバ130と第1のスクリーン・アプリケーション140は、既存のセッションで用いられている特定のカップリング・プロトコルを介して接続する。
クライアント・デバイス100、105、第1のスクリーン・デバイス120、および/または制御サーバ130の実装の議論に移ると、図7は、図1に示すエンティティを実装するための例示的なコンピュータ700を示すブロック図である。コンピュータ700は、チップ・セット704に接続された少なくとも1つのプロセッサ702を含む。チップ・セット704はメモリコントローラハブ720および入出力(I/O)コントローラハブ722を含む。メモリ706およびグラフィクスアダプタ712はメモリコントローラハブ720に接続され、ディスプレイ718はグラフィクスアダプタ712に接続される。記憶デバイス708、入力デバイス714、およびネットワークアダプタ716は入出力コントローラハブ722に接続される。コンピュータ700の他の実施形態は異なるアーキテクチャを有する。
記憶デバイス708は、ハードドライブ、コンパクトディスク読取り専用メモリ(CD−ROM)、DVD、または固体メモリデバイスのような非一時的コンピュータ可読記憶媒体である。メモリ706は、プロセッサ702により使用される命令およびデータを保持する。入力インタフェース714は、タッチスクリーンインタフェース、マウス、トラックボール、または他のタイプのポインティング・デバイス、キーボード、またはそれらの幾つかの組合せであり、データをコンピュータ700に入力するために使用される。幾つかの実施形態では、コンピュータ700は、ユーザからのジェスチャを介して入力インタフェース714からの入力(例えば、コマンド)を受信するように構成されてもよい。グラフィクスアダプタ712は、画像および他の情報をディスプレイ718に表示する。ネットワークアダプタ716はコンピュータ700を1つまたは複数のコンピュータネットワークに接続する。
コンピュータ700は、本明細書で説明した機能を提供するためのコンピュータ・プログラム・モジュールを実行するように適合される。本明細書で使用する際、「モジュール」という用語は、当該指定された機能提供するために使用されるコンピュータ・プログラムロジックを指す。したがって、モジュールを、ハードウェア、ファームウェア、および/またはソフトウェアで実装することができる。1実施形態では、プログラム・モジュールは当該記憶デバイス708に格納され、メモリ706にロードされ、プロセッサ702により実行される。
図1のエンティティにより使用されるコンピュータ700のタイプは、当該実施形態と当該エンティティにより要求される処理パワーとに依存して変化することができる。幾つかの実施形態では、クライアント・デバイス100は、本明細書で説明した機能を提供するために協働する1つまたは複数のサーバと対話することができる。例えば、制御サーバ130は、例えば、本明細書で説明した機能を提供するためにサーバ・ファーム内で、ネットワークを通じて互いに通信する複数のコンピュータ700を含んでもよい。コンピュータ700には、グラフィクスアダプタ712、およびディスプレイ718のような上述のコンポーネントの幾つかが欠けていることができる。
他の考慮事項
上述の説明の幾つかの部分は、アルゴリズム的プロセスまたは動作の点で実施形態を説明した。これらのアルゴリズム的説明および表現は、その作業を効果的に他の業界の当業者に伝えるために、当業者により共通的に使用される。これらの動作は、機能的に、計算的に、またはロジック的に説明されているが、プロセッサまたは均等な電気回路、マイクロコード等により実行するための命令を含むコンピュータ・プログラムにより実装されることは理解される。さらに、一般性を失うことなく、機能的動作のこれらの構成をモジュールと称することが時には都合が良いことも証明されている。当該説明した動作およびその関連付けられたモジュールをソフトウェア、ファームウェア、ハードウェア、または任意のそれらの組合せに組み込んでもよい。
本明細書で使用する際、「1実施形態」への任意の言及は、当該実施形態と関連して説明した特定の要素、媒体特徴、構造、または特徴が少なくとも1つの実施形態に含まれることを意味する。本明細書における様々な場所での「1実施形態では」という語句の出願は必ずしも全て同一の実施形態を指すわけではない。
幾つかの実施形態を、「結合された」および「接続された」という表現をその派生物とともに使用して説明してもよい。これらの用語は互いに対する類義語として意図されていないことは理解されるべきである。例えば、幾つかの実施形態を、2つ以上の要素が互いと直接物理または電気的に接触することを示すように「接続」と言う用語を用いて説明してもよい。別の例では、幾つかの実施形態を、2つ以上の要素が直接物理または電気的に接触することを示すように「結合」という用語を用いて説明してもよい。しかし、「結合」という用語がまた、2つ以上の要素が直接には互いと接触しないが、依然として互いと協調または対話することを意味してもよい。当該実施形態は当該文脈では限定されない。
本明細書で使用する際、「comprises」、「comprising」、「includes」、「including」、「has」、「having」という用語またはそれらの任意の他の変形は、非排他的な包含をカバーすることを意図している。例えば、要素のリストを含むプロセス、方法、製品、または装置は必ずしもこれらの要素にだけ限定されるものではないが、明示的に列挙されないかまたはかかるプロセス、方法、製品、または装置に固有な他の要素を含んでもよい。さらに、特に断らない限り、「または」は、包含的離接を指し、排他的離接は指さない。例えば、条件AまたはBは、Aが真である(または存在する)およびBが偽である(または存在しない)、Aが偽である(または存在しない)およびBが真である(または存在する)、およびAとBの両方が真である(または存在する)のうち任意の1つにより満たされる。
さらに、「a」または「an」の使用は、本明細書の実施形態の要素およびコンポーネントを説明するために利用される。これは便宜上行われるにすぎず、本開示の一般的な意味を与える。当該説明は1つまたは少なくとも1つを含むと読むべきであり、当該単数形はまた、それ以外を意味することが明らかでない限り複数形を含む。
本開示を読むと、当業者は、クライアント・デバイスの第1のスクリーン・デバイスとの相互運用性を促進するためのシステムおよびプロセスに対するさらなる追加の代替的、構造的、および機能的な設計を理解する。したがって、特定の実施形態および適用例を図示し説明したが、当該説明した主題は本明細書で開示した厳密な構成と要素に限定されず、当業者に明らかである様々な修正、変更および変形を本明細書で開示した方法および装置の配置、動作および詳細において行ってもよいことは理解される。
100クライアント・デバイス
105クライアント・デバイス
110ネットワーク
120第1のスクリーン・デバイス
130制御サーバ
140第1のスクリーン・アプリケーション
150第2のスクリーン・アプリケーション
160第2のスクリーン・アプリケーション

Claims (20)

  1. クライアント・デバイスの第1のスクリーン・デバイスとの相互運用性を促進するためのコンピュータ実行型の方法であって、
    クライアント・デバイスで動作する第2のスクリーン・アプリケーションにより、ユーザ・インタフェース内のデバイスの重複排除されたリストを表示するステップであって、各列挙されたデバイスは1つまたは複数のカップリング・プロトコルに関連付けられる、ステップと、
    前記ユーザ・インタフェースを介してビデオ・ディスプレイ・セッションに一緒に参加する列挙されたデバイスの選択を受信するステップと、
    前記選択されたデバイスの第1のスクリーン・アプリケーションに対するアプリケーション・ステータス情報を制御サーバから取得するステップであって、前記アプリケーション・ステータス情報は、前記第1のスクリーン・アプリケーションが第2のクライアント・デバイスとの既存のビデオ・ディスプレイ・セッション内にあるかどうかを示す、ステップと、
    前記示されたアプリケーション・ステータスおよび前記クライアント・デバイスに利用可能なカップリング・プロトコルおよび前記第1のスクリーン・アプリケーションの前記1つまたは複数のカップリング・プロトコルに基づいてカップリング方法を決定するステップと、
    前記決定されたカップリング方法を介して前記第1のスクリーン・アプリケーションに接続するステップと、
    を含む、方法。
  2. 前記示されたアプリケーション・ステータスおよび前記クライアント・デバイスに利用可能なカップリング・プロトコルおよび前記第1のスクリーン・アプリケーションの前記1つまたは複数のカップリング・プロトコルに基づいて前記カップリング方法を決定するステップはさらに、
    前記アプリケーション・ステータス情報を用いて、前記第1のスクリーン・アプリケーションが第2のクライアント・デバイスとの既存のビデオ・ディスプレイ・セッション内にあると判定するステップであって、前記アプリケーション・ステータス情報はさらに、前記既存のビデオ・ディスプレイ・セッションで使用される前記1つまたは複数のカップリング・プロトコルの特定のカップリング・プロトコルを示す、ステップと、
    前記特定のカップリング・プロトコルが前記クライアント・デバイスに利用可能でないと判定するステップと、
    を含み、
    前記決定されたカップリング方法を介して前記第1のスクリーン・アプリケーションに接続するステップはさらに、
    前記クライアント・デバイスが前記クライアント・デバイスおよび前記制御サーバに利用可能なカップリング・プロトコルを用いて制御サーバと通信し、前記制御サーバが前記特定のカップリング・プロトコルを用いて前記第1のスクリーン・アプリケーションと通信するように、前記制御サーバを通じて間接的に前記第1のスクリーン・アプリケーションと接続するステップ
    を含む、請求項1に記載の方法。
  3. 前記示されたアプリケーション・ステータスおよび前記クライアント・デバイスに利用可能なカップリング・プロトコルおよび前記第1のスクリーン・アプリケーションの前記1つまたは複数のカップリング・プロトコルに基づいて前記カップリング方法を決定するステップはさらに、
    前記アプリケーション・ステータス情報を用いて、前記第1のスクリーン・アプリケーションが第2のクライアント・デバイスとの既存のビデオ・ディスプレイ・セッション内にあると判定するステップであって、前記アプリケーション・ステータス情報はさらに、前記既存のビデオ・ディスプレイ・セッションで使用される前記1つまたは複数のカップリング・プロトコルの特定のカップリング・プロトコルを示す、ステップと、
    前記特定のカップリング・プロトコルは前記クライアント・デバイスに利用可能であると判定するステップと、
    を含み、
    前記決定されたカップリング方法を介して前記第1のスクリーン・アプリケーションに接続するステップはさらに、
    前記特定のカップリング・プロトコルを用いて前記既存のビデオ・ディスプレイ・セッションに接続するステップ
    を含む、請求項1に記載の方法。
  4. 前記示されたアプリケーション・ステータスおよび前記クライアント・デバイスに利用可能なカップリング・プロトコルおよび前記第1のスクリーン・アプリケーションの前記1つまたは複数のカップリング・プロトコルに基づいて前記カップリング方法を決定するステップはさらに、
    前記第1のスクリーン・アプリケーションが別のクライアント・デバイスとの既存のビデオ・ディスプレイ・セッション内にないことを、前記アプリケーション・ステータス情報を用いて判定するステップと、
    前記クライアント・デバイスおよび前記第1のスクリーン・デバイスに利用可能である前記1つまたは複数のカップリング・プロトコルの好適なカップリング・プロトコルを決定するステップと、
    を含み、
    前記決定されたカップリング方法を介して前記第1のスクリーン・アプリケーションに接続するステップはさらに、
    前記好適なカップリング・プロトコルを用いて第1のスクリーン・アプリケーションに接続するステップ
    を含む、請求項1に記載の方法。
  5. 前記好適なカップリング・プロトコルは、前記複数のカップリング・プロトコルの他のカップリング・プロトコルよりも多くの制御を前記ユーザに提供する前記クライアント・デバイスおよび前記第1のスクリーン・デバイスの両方に利用可能な複数のカップリング・プロトコルのカップリング・プロトコルである、請求項4に記載の方法。
  6. 前記示されたアプリケーション・ステータスおよび前記クライアント・デバイスに利用可能なカップリング・プロトコルおよび前記第1のスクリーン・アプリケーションの前記1つまたは複数のカップリング・プロトコルに基づいて前記カップリング方法を決定するステップはさらに、
    前記第1のスクリーン・アプリケーションが別のクライアント・デバイスとの既存のビデオ・ディスプレイ・セッション内にないことを、前記アプリケーション・ステータス情報を用いて判定するステップと、
    前記第1のスクリーン・デバイスに関連付けられた複数のカップリング・プロトコルが前記クライアント・デバイスに利用可能でないと判定するステップと、
    を含み、
    前記決定されたカップリング方法を介して前記第1のスクリーン・アプリケーションに接続するステップはさらに、
    前記クライアント・デバイスが前記クライアント・デバイスおよび前記制御サーバに利用可能なカップリング・プロトコルを用いて前記制御サーバと通信し、前記制御サーバが前記複数のカップリング・プロトコルのカップリング・プロトコルを用いて前記第1のスクリーン・アプリケーションを通信するように、制御サーバを通じて間接的に前記第1のスクリーン・アプリケーションと接続するステップ
    を含む、請求項1に記載の方法。
  7. 探索情報を前記第1のスクリーン・デバイスから受信するステップであって、前記探索情報は、前記第1のスクリーン・アプリケーションを一意に識別するアプリケーション識別子および前記第1のスクリーン・デバイスに接続するために使用されうるカップリング・プロトコルのリストを含む、ステップと、
    デバイス・リストを前記受信された探索情報で更新するステップと、
    前記第1のスクリーン・アプリケーションが以前に手動で幾つかの他のクライアント・デバイスとペアリングされていることを示すペアリング情報を制御サーバに要求するステップと、
    前記デバイス・リストを前記受信されたペアリング情報で更新するステップと、
    前記更新されたデバイス・リストを用いてデバイス重複排除を実施して、前記第1のスクリーン・デバイスに対応するビデオ・ディスプレイ・セッション・インタフェース内に単一のデバイス・エントリを生成するステップと、
    をさらに含む、請求項1に記載の方法。
  8. クライアント・デバイスの第1のスクリーン・デバイスとの相互運用性を促進するための実行可能なコンピュータ・プログラム命令を格納した非一時的コンピュータ可読記憶媒体であって、前記命令は、
    クライアント・デバイスで動作する第2のスクリーン・アプリケーションにより、ユーザ・インタフェース内のデバイスの重複排除されたリストを表示するステップであって、各列挙されたデバイスは1つまたは複数のカップリング・プロトコルに関連付けられる、ステップと、
    前記ユーザ・インタフェースを介してビデオ・ディスプレイ・セッションに一緒に参加する列挙されたデバイスの選択を受信するステップと、
    前記選択されたデバイスの第1のスクリーン・アプリケーションに対するアプリケーション・ステータス情報を制御サーバから取得するステップであって、前記アプリケーション・ステータス情報は、前記第1のスクリーン・アプリケーションが第2のクライアント・デバイスとの既存のビデオ・ディスプレイ・セッション内にあるかどうかを示す、ステップと、
    前記示されたアプリケーション・ステータスおよび前記クライアント・デバイスに利用可能なカップリング・プロトコルおよび前記第1のスクリーン・アプリケーションの前記1つまたは複数のカップリング・プロトコルに基づいてカップリング方法を決定するステップと、
    前記決定されたカップリング方法を介して前記第1のスクリーン・アプリケーションに接続するステップと、
    を含むステップを実施するように実行可能である、非一時的コンピュータ可読記憶媒体。
  9. 前記示されたアプリケーション・ステータスおよび前記クライアント・デバイスに利用可能なカップリング・プロトコルおよび前記第1のスクリーン・アプリケーションの前記1つまたは複数のカップリング・プロトコルに基づいて前記カップリング方法を決定するステップはさらに、
    前記アプリケーション・ステータス情報を用いて、前記第1のスクリーン・アプリケーションが第2のクライアント・デバイスとの既存のビデオ・ディスプレイ・セッション内にあると判定するステップであって、前記アプリケーション・ステータス情報はさらに、前記既存のビデオ・ディスプレイ・セッションで使用される前記1つまたは複数のカップリング・プロトコルの特定のカップリング・プロトコルを示す、ステップと、
    前記特定のカップリング・プロトコルが前記クライアント・デバイスに利用可能でないと判定するステップと、
    を含み、
    前記決定されたカップリング方法を介して前記第1のスクリーン・アプリケーションに接続するステップはさらに、
    前記クライアント・デバイスが前記クライアント・デバイスおよび前記制御サーバに利用可能なカップリング・プロトコルを用いて前記制御サーバと通信し、前記制御サーバが前記特定のカップリング・プロトコルを用いて前記第1のスクリーン・アプリケーションと通信するように、制御サーバを通じて間接的に前記第1のスクリーン・アプリケーションと接続するステップ
    を含む、請求項8に記載のコンピュータ可読記憶媒体。
  10. 前記示されたアプリケーション・ステータスおよび前記クライアント・デバイスに利用可能なカップリング・プロトコルおよび前記第1のスクリーン・アプリケーションの前記1つまたは複数のカップリング・プロトコルに基づいて前記カップリング方法を決定するステップはさらに、
    前記アプリケーション・ステータス情報を用いて、前記第1のスクリーン・アプリケーションが第2のクライアント・デバイスとの既存のビデオ・ディスプレイ・セッション内にあると判定するステップであって、前記アプリケーション・ステータス情報はさらに、前記既存のビデオ・ディスプレイ・セッションで使用される前記1つまたは複数のカップリング・プロトコルの特定のカップリング・プロトコルを示す、ステップと、
    前記特定のカップリング・プロトコルは前記クライアント・デバイスに利用可能であると判定するステップと、
    を含み、
    前記決定されたカップリング方法を介して前記第1のスクリーン・アプリケーションに接続するステップはさらに、
    前記特定のカップリング・プロトコルを用いて前記既存のビデオ・ディスプレイ・セッションに接続するステップ
    を含む、請求項8に記載のコンピュータ可読記憶媒体。
  11. 前記示されたアプリケーション・ステータスおよび前記クライアント・デバイスに利用可能なカップリング・プロトコルおよび前記第1のスクリーン・アプリケーションの前記1つまたは複数のカップリング・プロトコルに基づいて前記カップリング方法を決定するステップはさらに、
    前記第1のスクリーン・アプリケーションが別のクライアント・デバイスとの既存のビデオ・ディスプレイ・セッション内にないことを、前記アプリケーション・ステータス情報を用いて判定するステップと、
    前記クライアント・デバイスおよび前記第1のスクリーン・デバイスに利用可能である前記1つまたは複数のカップリング・プロトコルの好適なカップリング・プロトコルを決定するステップと、
    を含み、
    前記決定されたカップリング方法を介して前記第1のスクリーン・アプリケーションに接続するステップはさらに、
    前記好適なカップリング・プロトコルを用いて第1のスクリーン・アプリケーションに接続するステップ
    を含む、請求項8に記載のコンピュータ可読記憶媒体。
  12. 前記好適なカップリング・プロトコルは、前記複数のカップリング・プロトコルの他のカップリング・プロトコルよりも多くの制御を前記ユーザに提供する前記クライアント・デバイスおよび前記第1のスクリーン・デバイスの両方に利用可能な複数のカップリング・プロトコルのカップリング・プロトコルである、請求項11に記載のコンピュータ可読記憶媒体。
  13. 前記示されたアプリケーション・ステータスおよび前記クライアント・デバイスに利用可能なカップリング・プロトコルおよび前記第1のスクリーン・アプリケーションの前記1つまたは複数のカップリング・プロトコルに基づいて前記カップリング方法を決定するステップはさらに、
    前記第1のスクリーン・アプリケーションが別のクライアント・デバイスとの既存のビデオ・ディスプレイ・セッション内にないことを、前記アプリケーション・ステータス情報を用いて判定するステップと、
    前記第1のスクリーン・デバイスに関連付けられた複数のカップリング・プロトコルが前記クライアント・デバイスに利用可能でないと判定するステップと、
    を含み、
    前記決定されたカップリング方法を介して前記第1のスクリーン・アプリケーションに接続するステップはさらに、
    前記クライアント・デバイスが前記クライアント・デバイスおよび前記制御サーバに利用可能なカップリング・プロトコルを用いて前記制御サーバと通信し、前記制御サーバが前記複数のカップリング・プロトコルのカップリング・プロトコルを用いて前記第1のスクリーン・アプリケーションを通信するように、制御サーバを通じて間接的に前記第1のスクリーン・アプリケーションと接続するステップ
    を含む、請求項8に記載のコンピュータ可読記憶媒体。
  14. 探索情報を前記第1のスクリーン・デバイスから受信するステップであって、前記探索情報は、前記第1のスクリーン・アプリケーションを一意に識別するアプリケーション識別子および前記第1のスクリーン・デバイスに接続するために使用されうるカップリング・プロトコルのリストを含む、ステップと、
    デバイス・リストを前記受信された探索情報で更新するステップと、
    前記第1のスクリーン・アプリケーションが以前に手動で幾つかの他のクライアント・デバイスとペアリングされていることを示すペアリング情報を制御サーバに要求するステップと、
    前記デバイス・リストを前記受信されたペアリング情報で更新するステップと、
    前記更新されたデバイス・リストを用いてデバイス重複排除を実施して、前記第1のスクリーン・デバイスに対応するビデオ・ディスプレイ・セッション・インタフェース内に単一のデバイス・エントリを生成するステップと、
    をさらに含む、請求項8に記載のコンピュータ可読記憶媒体。
  15. クライアント・デバイスの第1のスクリーン・デバイスとの相互運用性を促進するためのデバイスであって、
    モジュールを実行するように構成されたプロセッサと、
    第2のスクリーン・アプリケーションの前記モジュールを格納するメモリであって、前記モジュールは、
    ユーザ・インタフェース内のデバイスの重複排除されたリストを提供し、
    前記ユーザ・インタフェースを介してビデオ・ディスプレイ・セッションに一緒に参加する列挙されたデバイスの選択を受信する
    ように構成されたインタフェース・モジュールであって、各列挙されたデバイスは1つまたは複数のカップリング・プロトコルに関連付けられた、インタフェース・モジュールと、
    前記選択されたデバイスの第1のスクリーン・アプリケーションに対するアプリケーション・ステータス情報を制御サーバから取得するように構成された探索モジュールであって、前記アプリケーション・ステータス情報は、前記第1のスクリーン・アプリケーションが第2のクライアント・デバイスとの既存のビデオ・ディスプレイ・セッション内にあるかどうかを示す、探索モジュールと、
    前記示されたアプリケーション・ステータスおよび前記クライアント・デバイスに利用可能なカップリング・プロトコルおよび前記第1のスクリーン・アプリケーションの前記1つまたは複数のカップリング・プロトコルに基づいてカップリング方法を決定し、
    前記決定されたカップリング方法を介して前記第1のスクリーン・アプリケーションに接続する
    ように構成されたカップリング・モジュールと、
    を備える、メモリと、
    を備える、デバイス。
  16. 前記カップリング・モジュールはさらに、
    前記アプリケーション・ステータス情報を用いて、前記第1のスクリーン・アプリケーションが第2のクライアント・デバイスとの既存のビデオ・ディスプレイ・セッション内にあると判定し、
    特定のカップリング・プロトコルが前記クライアント・デバイスに利用可能でないと判定し、
    前記クライアント・デバイスが前記クライアント・デバイスおよび前記制御サーバに利用可能なカップリング・プロトコルを用いて前記制御サーバと通信し、前記制御サーバが前記特定のカップリング・プロトコルを用いて前記第1のスクリーン・アプリケーションと通信するように、制御サーバを介して間接的に前記第1のスクリーン・アプリケーションに接続する
    ように構成され、
    前記アプリケーション・ステータス情報はさらに、前記既存のビデオ・ディスプレイ・セッションで使用される前記1つまたは複数のカップリング・プロトコルの前記特定のカップリング・プロトコルを示す、
    請求項15に記載のデバイス。
  17. 前記カップリング・モジュールはさらに、
    前記アプリケーション・ステータス情報を用いて、前記第1のスクリーン・アプリケーションが第2のクライアント・デバイスとの既存のビデオ・ディスプレイ・セッション内にあると判定し、
    特定のカップリング・プロトコルは前記クライアント・デバイスに利用可能であると判定し、
    前記特定のカップリング・プロトコルを用いて前記既存のビデオ・ディスプレイ・セッションに接続する
    ように構成され、
    前記アプリケーション・ステータス情報はさらに、前記既存のビデオ・ディスプレイ・セッションで使用される前記1つまたは複数のカップリング・プロトコルの前記特定のカップリング・プロトコルを示す、
    請求項15に記載のデバイス。
  18. 前記カップリング・モジュールはさらに、
    前記第1のスクリーン・アプリケーションが別のクライアント・デバイスとの既存のビデオ・ディスプレイ・セッション内にないことを、前記アプリケーション・ステータス情報を用いて判定し、
    前記クライアント・デバイスおよび前記第1のスクリーン・デバイスに利用可能である前記1つまたは複数のカップリング・プロトコルの好適なカップリング・プロトコルを決定し、
    前記好適なカップリング・プロトコルを用いて第1のスクリーン・アプリケーションに接続する
    ように構成される、請求項15に記載のデバイス。
  19. 前記カップリング・モジュールはさらに、
    前記第1のスクリーン・アプリケーションが別のクライアント・デバイスとの既存のビデオ・ディスプレイ・セッション内にないことを、前記アプリケーション・ステータス情報を用いて判定し、
    前記第1のスクリーン・デバイスに関連付けられた複数のカップリング・プロトコルが前記クライアント・デバイスに利用可能でないと判定し、
    前記クライアント・デバイスが前記クライアント・デバイスおよび前記制御サーバに利用可能なカップリング・プロトコルを用いて前記制御サーバと通信し、前記制御サーバが前記複数のカップリング・プロトコルのカップリング・プロトコルを用いて前記第1のスクリーン・アプリケーションを通信するように、制御サーバを介して間接的に前記第1のスクリーン・アプリケーションに接続する
    ように構成される、請求項15に記載のデバイス。
  20. 前記探索モジュールはさらに、
    探索情報を前記第1のスクリーン・デバイスから受信し、
    デバイス・リストを前記受信された探索情報で更新し、
    前記第1のスクリーン・アプリケーションが以前に手動で幾つかの他のクライアント・デバイスとペアリングされていることを示すペアリング情報を制御サーバに要求する、
    前記デバイス・リストを前記受信されたペアリング情報で更新し、
    前記更新されたデバイス・リストを用いてデバイス重複排除を実施して、前記第1のスクリーン・デバイスに対応するビデオ・ディスプレイ・セッション・インタフェース内に単一のデバイス・エントリを生成する
    ように構成され、
    前記探索情報は、前記第1のスクリーン・アプリケーションを一意に識別するアプリケーション識別子および前記第1のスクリーン・デバイスに接続するために使用されうるカップリング・プロトコルのリストを含む、
    請求項15に記載のデバイス。
JP2017558623A 2015-02-03 2016-01-20 クライアント・デバイスと第1のスクリーン・デバイスの間の探索および接続プロトコルの相互運用性 Active JP6545824B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/613,229 2015-02-03
US14/613,229 US9992307B2 (en) 2015-02-03 2015-02-03 Interoperability of discovery and connection protocols between client devices and first screen devices
PCT/US2016/014011 WO2016126418A1 (en) 2015-02-03 2016-01-20 Interoperability of discovery and connection protocols between client devices and first screen devices

Publications (2)

Publication Number Publication Date
JP2018511896A JP2018511896A (ja) 2018-04-26
JP6545824B2 true JP6545824B2 (ja) 2019-07-17

Family

ID=56554964

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017558623A Active JP6545824B2 (ja) 2015-02-03 2016-01-20 クライアント・デバイスと第1のスクリーン・デバイスの間の探索および接続プロトコルの相互運用性

Country Status (8)

Country Link
US (2) US9992307B2 (ja)
EP (2) EP3254446B1 (ja)
JP (1) JP6545824B2 (ja)
KR (2) KR101986839B1 (ja)
CN (2) CN111935236B (ja)
DE (1) DE112016000587T5 (ja)
GB (1) GB2552106A (ja)
WO (1) WO2016126418A1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9992307B2 (en) * 2015-02-03 2018-06-05 Google Llc Interoperability of discovery and connection protocols between client devices and first screen devices
US10542327B2 (en) 2015-12-21 2020-01-21 Opentv, Inc. Interactive application server on a second screen device
US11184364B2 (en) * 2018-01-09 2021-11-23 Cisco Technology, Inc. Localized, proximity-based media streaming
US10356620B1 (en) * 2018-05-07 2019-07-16 T-Mobile Usa, Inc. Enhanced security for electronic devices
US10779054B2 (en) * 2018-12-20 2020-09-15 Arris Enterprises Llc System and method for authentication and login portability for multiscreen discovery and launch of first screen content
US10721311B1 (en) * 2019-01-11 2020-07-21 Accenture Global Solutions Limited System and method for coupling two separate applications to an application session within a serverless infrastructure
CN110868335B (zh) * 2019-11-08 2023-05-09 彩讯科技股份有限公司 端到端的业务监控方法和装置
US20230009446A1 (en) * 2020-04-01 2023-01-12 Google Llc Enabling media features provided on a first screen device to be presented on a second screen device
CN112261572A (zh) * 2020-10-14 2021-01-22 北京小米移动软件有限公司 一种信息交互的方法、装置及存储介质

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7779097B2 (en) * 2000-09-07 2010-08-17 Sonic Solutions Methods and systems for use in network management of content
CA2428545C (en) * 2000-11-20 2011-02-22 British Telecommunications Public Limited Company Method of managing resources
US7421471B2 (en) * 2002-05-17 2008-09-02 Sony Computer Entertainment America Inc. Configuration switching: dynamically changing between network communication architectures
US20120084693A1 (en) * 2010-10-01 2012-04-05 Imerj LLC Modals in dual display communication devices
CN101031882B (zh) 2004-06-08 2010-09-08 达尔特设备互操作有限公司 用于通用设备互操作性平台的设备组招募和内容再现的体系结构、装置和方法
US8856665B2 (en) * 2009-04-23 2014-10-07 Avaya Inc. Setting user-preference information on the conference bridge
GB201005454D0 (en) * 2010-03-31 2010-05-19 Skype Ltd Television apparatus
US9143570B2 (en) * 2010-05-04 2015-09-22 Microsoft Technology Licensing, Llc Desktop screen sharing over HTTP
US8321566B2 (en) * 2011-02-24 2012-11-27 Jibe Mobile System and method to control application to application communication over a network
US8904289B2 (en) * 2011-04-21 2014-12-02 Touchstream Technologies, Inc. Play control of content on a display device
US10931735B2 (en) 2012-06-28 2021-02-23 Netflix, Inc. Application discovery
US8937637B2 (en) * 2012-07-26 2015-01-20 Google Inc. Method and apparatus providing synchronization and control for server-based multi-screen videoconferencing
CN103067234B (zh) * 2012-12-24 2017-04-05 乐视致新电子科技(天津)有限公司 异构网络下智能设备的识别与发现方法和系统
US20140281988A1 (en) * 2013-03-12 2014-09-18 Tivo Inc. Gesture-Based Wireless Media Streaming System
US20140282677A1 (en) 2013-03-12 2014-09-18 Cbs Interactive Inc. Second screen application linked to media content delivery
US9247309B2 (en) 2013-03-14 2016-01-26 Google Inc. Methods, systems, and media for presenting mobile content corresponding to media content
US10284657B2 (en) * 2013-03-14 2019-05-07 Samsung Electronics Co., Ltd. Application connection for devices in a network
EP2779709B1 (en) 2013-03-14 2020-02-05 Samsung Electronics Co., Ltd Application connection for devices in a network
EP2822285B1 (fr) 2013-07-04 2017-08-30 Nagravision S.A. Appariement de dispositifs au travers de réseaux distincts
KR102078867B1 (ko) * 2013-09-17 2020-02-18 삼성전자주식회사 제어권 관리 방법, 그에 따른 클라이언트 기기 및 그에 따른 마스터 기기
KR102084633B1 (ko) * 2013-09-17 2020-03-04 삼성전자주식회사 화면 미러링 방법 및 그에 따른 소스 기기
CN103475907B (zh) * 2013-09-23 2017-01-25 珠海迈科智能科技股份有限公司 一种多屏控制方法及系统
KR102263481B1 (ko) * 2014-02-07 2021-06-11 삼성전자 주식회사 사용자단말기 및 그 제어방법
US20150312648A1 (en) * 2014-04-23 2015-10-29 Verizon Patent And Licensing Inc. Mobile device controlled dynamic room environment using a cast device
CN104301400B (zh) * 2014-09-28 2017-10-03 四川长虹电器股份有限公司 基于Samba协议的多屏协同及资源共享方法
US9992307B2 (en) * 2015-02-03 2018-06-05 Google Llc Interoperability of discovery and connection protocols between client devices and first screen devices

Also Published As

Publication number Publication date
GB201714105D0 (en) 2017-10-18
US20180288193A1 (en) 2018-10-04
CN107211046B (zh) 2020-08-11
WO2016126418A1 (en) 2016-08-11
KR102030549B1 (ko) 2019-10-10
EP3254446A1 (en) 2017-12-13
KR101986839B1 (ko) 2019-06-07
CN111935236A (zh) 2020-11-13
EP3606013B1 (en) 2021-07-28
US10771592B2 (en) 2020-09-08
KR20170108105A (ko) 2017-09-26
US9992307B2 (en) 2018-06-05
US20160226999A1 (en) 2016-08-04
JP2018511896A (ja) 2018-04-26
DE112016000587T5 (de) 2017-12-21
EP3254446B1 (en) 2019-09-11
KR20190064689A (ko) 2019-06-10
GB2552106A (en) 2018-01-10
EP3606013A1 (en) 2020-02-05
CN107211046A (zh) 2017-09-26
EP3254446A4 (en) 2018-02-28
CN111935236B (zh) 2023-07-25

Similar Documents

Publication Publication Date Title
JP6545824B2 (ja) クライアント・デバイスと第1のスクリーン・デバイスの間の探索および接続プロトコルの相互運用性
US11818199B2 (en) Cross device application discovery and control
KR102452780B1 (ko) 크로스 디바이스 작업 연속성
TWI538499B (zh) 通用環境擴展器、發送機及其通用環境擴展器系統
KR20200075795A (ko) 앱을 다운로드하는 방법 및 앱을 실행시키는 방법
JP6469131B2 (ja) ワイヤレス通信システム
US9332061B2 (en) Master device, integrated service management system, and integrated service management method
EP2696559A1 (en) Method and Device for Resource Sharing Between Devices
KR20150013860A (ko) 클라이언트 없는 클라우드 컴퓨팅
US10419497B2 (en) Establishing communication between digital media servers and audio playback devices in audio systems
KR20140146004A (ko) 무선 통신 시스템에서 어플리케이션 데이터를 디스플레이하기 위한 방법 및 장치
GB2504725A (en) Resource sharing between devices
JP2017168991A (ja) 通信システム及び接続方法
WO2022094032A1 (en) Using wireless packets to indicate device boot status
KR20150058720A (ko) N-스크린 협업 서비스를 위한 스마트 단말 페어링 시스템 및 이의 작동 방법
JP2012256090A (ja) 情報処理装置、情報処理方法及びプログラム
WO2016070370A1 (zh) 基于二维码和网络适配的移动终端和web终端互连的方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180618

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20180918

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181115

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181217

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20190318

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190418

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190619

R150 Certificate of patent or registration of utility model

Ref document number: 6545824

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