CN107211046A - 客户端设备与第一屏幕设备之间的发现和连接协议的互操作性 - Google Patents

客户端设备与第一屏幕设备之间的发现和连接协议的互操作性 Download PDF

Info

Publication number
CN107211046A
CN107211046A CN201680008576.XA CN201680008576A CN107211046A CN 107211046 A CN107211046 A CN 107211046A CN 201680008576 A CN201680008576 A CN 201680008576A CN 107211046 A CN107211046 A CN 107211046A
Authority
CN
China
Prior art keywords
coupled
client device
screen
application
equipment
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
CN201680008576.XA
Other languages
English (en)
Other versions
CN107211046B (zh
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
Priority to CN202010678646.0A priority Critical patent/CN111935236B/zh
Publication of CN107211046A publication Critical patent/CN107211046A/zh
Application granted granted Critical
Publication of CN107211046B publication Critical patent/CN107211046B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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)
  • Physics & Mathematics (AREA)
  • General 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)

Abstract

一种在客户端设备上操作的第二屏幕应用在用户界面中呈现设备的去重列表,每个列出的设备与一个或者多个耦合协议相关联。经由所述用户界面来接收对利用其来参与视频显示会话的列出的设备的选择。针对所选择的设备的第一屏幕应用从控制服务器获得应用状态信息,所述应用状态信息指示所述第一屏幕应用是否处于与第二客户端设备的现有视频显示会话中。基于所指示的应用状态和可用于所述客户端设备的耦合协议和所述第一屏幕应用的所述一个或者多个耦合协议来确定耦合方案;以及经由所确定的耦合方案来将所述客户端设备耦合至所述第一屏幕应用。

Description

客户端设备与第一屏幕设备之间的发现和连接协议的互操 作性
技术领域
所描述的实施例大体上涉及客户端设备的发现和耦合协议的互操作性,并且更具体地涉及促进客户端设备在与第一屏幕设备建立视频会话时的互操作性。
背景技术
存在用于经由第二设备(例如,膝上型计算机)上的应用来发现和/或启动第一设备(例如,电视机)上的应用的多个协议(例如,基于简单服务发现协议的发现和启动(“DIAL”)、基于组播域名系统的CAST V2API(“CAST”)等)。CAST是作为ANDROID(安卓()和/或GOOGLE(谷歌()设备的一些通信的基础的未发布协议。例如,实现协议规范的应用的用户可以致使通过膝上型计算机上的浏览器显示的内容还可以经由电视机上的应用来显示。通过使用这些协议来显示内容存在若干问题,包括:设备重复和协议互操作性问题。
设备重复是这样的问题:被发现的设备作为可用显示设备被多次列出在进行发现的设备上。在一些实例中,设备支持用于与进行发现的设备建立视频会话的多种协议。在这些情况下,可以经由通过其发现设备的每个路径来将该设备呈现给用户,并且该设备可能具有不同的名称。例如,在膝上型计算机上的应用可以使用DIAL发现来发现电视机,并且然后使用DIAL启动在该电视机上的应用。但是电视机还可以支持另一发现协议(例如,CAST)和/或可能先前已经将其与该膝上型计算机手动配对。例如,当用户将电视机提供的密码录入该膝上型计算机时,发生手动配对,或者反之亦然,该手动配对引起该膝上型计算机经由(BLUETOOTH(蓝牙)连接无线耦合至电视机。在该示例中,在没有附加步骤的情况下,将三次向用户示出该电视机,并且可能使用不同的名称。该情景令人困惑,影响用户体验,并且可能导致对次优协议的选择。
协议互操作性是另一个问题,该问题尤其发生在设备试图加入两个其它设备之间的现有会话的情况下。该问题的基础原因在于:无法通过使用另一协议来加入使用特定协议开始的会话,并且在一些设备上,发现模块独立地发挥作用。试图通过使用不同的协议来加入现有会话能够失败或者可能会致使破坏当前会话并创建新会话。例如,电视机可能支持DIAL和CAST协议两者,设备A可能仅支持DIAL,并且设备B可能支持DIAL和CAST两者。设备A使用DIAL协议来与电视机创建会话,并且在稍后的时间设备B试图使用CAST来加入该会话—导致该会话中断。该中断是由于与电视机的会话无法在同一时间以DIAL和CAST两者进行操作而导致的。
发明内容
在各个实施例中,控制服务器促进在第二屏幕设备(例如,膝上型计算机)上操作的第二屏幕应用与在第一屏幕设备(例如,电视机)上操作的第一屏幕应用的互操作性。该控制服务器维持配对信息,该配对信息描述第一屏幕应用先前是否已经与一个或者多个第二屏幕设备手动配对。该控制服务器还维持信息,该信息指示第一屏幕应用是否参与与一个或者多个第二屏幕设备的视频显示会话,并且如果是,则在该视频会话中使用什么耦合协议。
在第二屏幕设备上操作的第二屏幕应用通过使用从每个设备接收到的发现信息和从控制服务器接收到的配对信息来生成可用于连接的设备的去重列表。该设备的去重列表可以包括:例如,第一屏幕设备、第二屏幕设备、或者其某个组合。该第二屏幕应用经由用户界面来将设备的去重列表呈现给第二屏幕设备的用户。
在一些实施例中,用户经由该用户界面来选择利用其来参与视频显示会话的列出的第一屏幕设备,。该第二屏幕应用针对选择的设备的第一屏幕应用来从控制服务器获得应用信息。该应用状态信息指示第一屏幕应用是否处于与某个其它第二屏幕设备的现有视频显示会话中。该第二屏幕应用基于指示的应用状态和可用于第二屏幕设备的耦合协议以及第一屏幕应用的一个或者多个耦合协议来确定耦合方案(methodology)。
在该应用状态指示第一屏幕应用处于与某个其它第二屏幕设备的现有视频显示会话中并且该会话正使用特定耦合协议的实施例中,该第二屏幕应用确定第二屏幕设备是否也支持该特定耦合协议。如果支持,则第二屏幕设备经由该特定耦合协议来耦合至现有会话。否则,第二屏幕设备经由控制服务器来间接地耦合至现有会话,其中,第二屏幕设备和控制服务器通过使用第二屏幕设备支持的耦合协议来进行通信,并且客户端设备和第一屏幕设备经由在现有会话中使用的特定耦合协议来进行耦合。
附图说明
图1是图示了用于促进与第一屏幕设备的客户端设备互操作性的环境的实施例的框图。
图2是根据实施例的,用于发现第一屏幕设备和对该第一屏幕设备进行去重的方法的交互图。
图3是根据实施例的,用于在第一屏幕应用与一个或者多个第二屏幕应用之间建立会话的方法的交互图。
图4是图示了根据一个实施例的,图1的第二屏幕应用的详细视图的框图。
图5是图示了根据一个实施例的,作为设备发现的一部分的执行设备去重的过程的流程图。
图6是图示了根据一个实施例的,用于在第一屏幕应用与第二屏幕应用之间建立会话的过程的流程图。
图7是图示了用于实现在图1中示出的实体的示例计算机的框图。
具体实施方式
附图和以下描述仅通过说明的方式来描述某些实施例。本领域的技术人员将通过以下描述容易地认识到,在不脱离本文描述的原理的情况下,可以采用本文说明的结构和方法的替代实施例。现在将详细参照若干实施例,在附图中图示了该若干实施例的示例。注意,在可行的情况下,类似的或者相似的附图标记可以在附图中使用并且可以指示类似的或者相似的功能。
图1是图示了用于促进客户端设备100、105与第一屏幕设备120的互操作性的环境的实施例的框图。该环境包括客户端设备100和客户端设备105,该客户端设备100和客户端设备105均通过网络110耦合至第一屏幕设备120和控制服务器130。此处,仅图示了两个客户端设备、一个屏幕设备和一个控制服务器,但是可以存在这些实体中的每一个的多个实例。例如,可以存在与一个或者多个控制服务器130通信的数千或者数百万个客户端设备100、105和第一屏幕设备120。
网络110提供客户端设备100、105、第一屏幕设备120与控制服务器130之间的通信基础架构。网络110通常是互联网,但是也可以是任何网络,包括但不限于:局域网(LAN)、城域网(MAN)、广域网(WAN)、移动有线或者无线网、私有网络、或者虚拟私有网络、或者其某个组合。例如,客户端设备100、105和第一屏幕设备120可以通过使用例如WIFI耦合来彼此通信,并且通过使用互联网耦合来与控制服务器130通信。
第一屏幕设备120和客户端设备100、105是执行计算机程序模块(——例如web浏览器或者其它客户端应用)——的计算设备,该计算机程序模块存储在非暂时性计算机可读介质上并且允许用户查看和消费媒体内容。第一屏幕设备120和客户端设备100是计算设备,诸如,具有操作系统(——诸如,或者)——的智能电话、平板计算机、膝上型计算机、台式计算机、电视机、游戏控制台、或者可以在其上向用户呈现数字内容的任何其它类型的支持网络的设备。为了便于描述,我们此处不作为限制地假设第一屏幕设备120是电视机。典型的第一屏幕设备120和/或客户端设备100、105包括输入和输出声音(例如,扬声器和麦克风)和图像并且耦合至网络110(例如,经由Wi-Fi和/或4G或者其它无线电信标准)所需的硬件和软件。
第一屏幕设备120和客户端设备100、105通过使用一个或者多个耦合协议来耦合至彼此以建立会话。耦合协议是用于发现其它本地设备(例如,客户端设备100、105和/或第一屏幕设备120)和/或耦合至发现的本地设备以参与(例如,创建和/或加入)会话的机制。耦合协议可以包括:例如,DIAL、CAST、手动配对、AIRPLAY、SMARTGLASS、MIRACAST、用于发现和启动应用(通常在家庭网络上)的一些其它机制、或者其某个组合。第一屏幕设备120和客户端设备100、105可与特定类型的耦合协议一起操作,并且在一些情况下,可与第一屏幕设备120和客户端设备100、105一起操作的耦合协议的类型可以不同。例如,第一屏幕设备120可与DIAL和CAST一起操作,客户端设备100可与CAST一起操作,并且客户端设备105可利用DIAL来操作。
第一屏幕设备120包括可以通过耦合的客户端设备来控制的第一屏幕应用140。例如,在与第一屏幕应用140的会话中操作客户端设备100的用户可以通过使用客户端设备100来致使第一屏幕应用140也呈现在客户端设备100上呈现的内容。第一屏幕应用140生成将其标识为第一屏幕设备120的应用的应用标识符。第一屏幕应用140可以生成该应标识符以作为将第一屏幕应用140安装在第一屏幕设备120上的一部分。例如,可以通过使用随机数字生成器、设备标识符散列、创建无歧义地标识第一屏幕应用140的标识符的某个其它方法等来生成应用标识符。响应于接收到发现请求,第一屏幕应用140将该应用标识符和可用连接协议提供至进行请求的客户端设备。
此外,在设置与客户端设备的会话时,第一屏幕设备应用140向控制服务器130登记描述该会话的其应用状态信息(例如,标识会话、在该会话中使用的耦合协议等)。客户端设备100、105稍后可以向控制服务器130请求第一屏幕应用140的应用状态,并且使用该信息来确定参与与第一屏幕应用140的会话的优选方法。因此,去除了使用不可与该会话一起操作的连接协议来加入现有会话的风险。
客户端设备100包括第二屏幕应用150,该第二屏幕应用150具有与第二屏幕应用160类似的功能。第二屏幕应用150发现可用于经由例如WIFI、BLUETOOTH等来耦合至客户端设备100的设备。作为发现过程的一部分,第二屏幕应用150从控制服务器130获得描述发现的设备的任何先前手动配对的信息。手动配对是由用户手动执行的第二屏幕应用150与发现的设备之间的耦合。例如,用户可以将两个设备置于发现模式,并且然后将由所述设备中的一个提供的密码录入至另一设备,这致使所述设备被配对。第二屏幕应用150维持发现的设备的设备列表。第二屏幕应用150利用有关发现的设备的信息(例如,应用标识符、耦合协议等)来更新该设备列表。第二屏幕应用150还利用来自控制服务器130的描述发现的设备的任何先前手动配对的信息来更新该设备列表。通常,还可以将第一屏幕应用140与多个耦合协议和/或手动配对相关联(即,可通过多个耦合协议和/或手动配对来发现)。更新的设备列表示出了这些耦合协议和手动配对中的每一个的条目—针对相同的第一屏幕应用140在更新的设备列表中产生多个条目。第二屏幕应用150例如通过按应用标识符来收集设备列表中的条目并且然后在用于与第二屏幕应用150对接的会话界面中针对每个应用标识符创建单个设备条目,来对更新的设备列表执行去重。在一些实施例中,用户能够选择该条目以请求客户端设备100与第一屏幕应用140建立会话和/或加入与第一屏幕应用140的现有会话。
会话界面是用户用来与第二屏幕应用150对接的图形用户界面。例如,用户可以通过使用会话界面来指令第二屏幕应用150发现其它设备、耦合至特定第一屏幕设备120等。第二屏幕应用150呈现(例如,经由会话界面呈现)在那些设备上操作的发现的设备和/或应用的列表()。使用通过对设备列表进行去重所创建的条目来生成发现的设备的列表。因此,在列表中的每个条目与在特定设备上操作的特定应用相对应。
第二屏幕应用150从用户接收指示期望参与与第一屏幕设备120的会话的选择,该第一屏幕设备120与该选择相关联。例如,用户可以在发现的设备的列表中选择与第一屏幕设备120上操作的第一屏幕应用140相对应的条目。第二屏幕应用150向控制服务器130进行查询以确定该设备是否已经处于现有会话中,并且如果是,则确定与现有会话相关联的耦合协议是什么。第二屏幕应用150基于第一屏幕设备120是否处于现有会话中和可用于客户端设备100和第一屏幕设备120的耦合协议来确定用于将客户端设备100耦合至第一屏幕设备120的耦合方案。一种连接方案可以是:例如经由控制服务器130向第一屏幕应用140的直接耦合或者向第一屏幕应用140的间接耦合。然后,第二屏幕应用150基于确定的耦合方案来耦合至第一屏幕应用140。一旦耦合至第一屏幕应用140,第二屏幕应用150的用户就能够对由第一屏幕应用150呈现的内容进行一些控制。例如,用户可以致使第一屏幕应用140也呈现由第二屏幕应用150呈现的视频。
控制服务器130维持与第一屏幕应用和客户端设备有关的信息。所维持的信息包括:例如,配对信息和应用状态。配对信息描述与第一屏幕应用140手动配对的任何设备(例如,客户端设备100、105)。当用户手动建立第二屏幕应用与第一屏幕应用140之间的耦合时,发生手动配对。控制服务器130可以从例如,第二屏幕应用150、160和/或第一屏幕应用140接收配对信息,并且控制服务器130然后利用接收到的配对信息来更新数据库。应用状态描述第一屏幕应用140是否处于现有会话中,并且如果是,则描述在现有会话中使用什么耦合协议。控制服务器130从第一屏幕应用140接收应用状态信息,并且然后控制服务器130利用接收到的信息来更新数据库。响应于从第二屏幕应用(例如,第二屏幕应用150)接收到请求,控制服务器130向第二屏幕应用150、160提供配对信息、应用状态信息、或者两者。
在一些实施例中,控制服务器130将第二屏幕应用150间接地耦合至第一屏幕应用140以参与会话。如上面提到的,第一屏幕设备120与有限的一组耦合协议具有互操作性。在客户端设备100不可与对于第一屏幕设备120奏效的相同耦合协议中的至少一个耦合协议一起操作的情况下,客户端设备100可以通过控制服务器130来间接地耦合至第一屏幕设备120。在该实例中,客户端设备100通过使用可用于客户端设备100和控制服务器130两者的耦合协议来与控制服务器130通信,并且控制服务器130通过使用可用于第一屏幕应用140和控制服务器130两者的不同耦合协议来与第一屏幕应用140通信。实际上,控制服务器130将来自客户端设备110的通信转换为控制服务器130可接受的格式,并且反之亦然。因此,不可和在第一屏幕设备120与另一客户端设备(例如,客户端设备105)之间的现有会话中使用的特定耦合协议一起操作的客户端设备100能够经由控制服务器130使用该特定耦合协议来间接地加入该会话。按照这种方式来加入现有会话允许客户端设备100能够在不中断该会话的情况下加入该会话。例如,试图通过使用与当前正在会话中使用的耦合协议不同的耦合协议来加入会话可能致使当前会话失败、通过使用不同的耦合协议来重新开始等。
图2是更详细地示出了发现过程的交互图,具体地,图2是用于发现第一屏幕设备和对该第一屏幕设备进行去重的方法的一个实施例的交互图。在各个实施例中,该方法可以包括与结合图2所描述的那些步骤不同的步骤和/或附加步骤。此外,在一些实施例中,可以按照与结合图2描述的顺序不同的顺序来执行步骤。
在第一屏幕设备120上运行的第一屏幕应用140生成对于第一屏幕应用140唯一的应用标识符(205)。第一屏幕应用140使该应用标识符可被其它进行请求的应用发现(210)。
第二屏幕应用150向第一屏幕应用140发送发现请求(215)。第二屏幕应用150可以经由例如局域网来将该发现请求向外发送至在该网络上的设备。响应于接收到发现请求,第一屏幕应用140向第二屏幕应用150提供发现信息(220)。发现信息是描述客户端设备(例如,100、105)可以耦合至第一屏幕应用140的方式的信息。发现信息包括:例如,应用标识符和可以用于与第一屏幕应用140建立会话的耦合协议列表等。
第二屏幕应用150通过使用接收到的发现信息来更新设备列表。该设备列表是第二屏幕应用150已经发现的设备的列表。第二屏幕应用150针对与发现信息相关联的每个耦合协议向设备列表添加条目。因此,针对单个应用标识符,可能存在多个条目。例如,如果发现信息包括应用标识符X以及耦合协议DIAL和CAST,则该设备列表将包括针对第一屏幕应用140的两个条目(例如,[应用标识符X:DIAL;应用标识符X:CAST])。
第二屏幕应用150向控制服务器130请求第一屏幕应用140的配对信息(230)。对配对信息的请求包括第一屏幕应用140的应用标识符。配对信息是描述第一屏幕应用140可能已经与其手动配对的任何设备(例如,客户端设备105)。对配对信息的请求包括该应用标识符。控制服务器130通过使用该应用标识符来检索配对信息(235)。例如,控制服务器130可以访问存储各个第一屏幕应用的手动配对列表的数据库,并且可以通过使用与感兴趣的第一屏幕应用相关联的应用标识符来检索先前已经与第一屏幕应用配对的特定客户端设备列表。控制服务器130将该配对信息提供至第二屏幕应用150(240)。
第二屏幕应用150通过使用该配对信息来更新设备列表(245)。第二屏幕应用150针对在该配对信息中列出的每个先前手动配对向该设备列表添加条目。因此,针对单个应用标识符,可能存在多个条目。因此,针对与特定耦合协议和/或手动配对相对应的单个应用标识符,设备列表可能包括多个条目。
第二屏幕应用150对设备列表中的项目执行去重(250)。第二屏幕应用150通过应用标识符来收集设备列表中的条目,并且然后在会话界面中创建映射至与该应用标识符相关联的耦合协议和/或手动配对的单个设备条目。会话界面是图形用户界面,通过该图形用户界面客户端设备可以发现与在其它设备(例如,第一屏幕设备130)上操作的应用的会话和/或与该应用建立会话。
第二屏幕应用150呈现包括该设备条目的会话界面(255)。该会话界面呈现已经被发现并且可用于与之建立会话的每个设备(例如,第一屏幕设备130)的单个设备条目。例如,如果已经发现三个不同的电视机并且可与该三个不同的电视机建立会话,则会仅存在三个设备条目,每个电视机一个条目。在一些实施例中,选择设备条目致使该会话界面呈现不同的选项以供第二屏幕应用150耦合至第一屏幕应用140。例如,选择第一屏幕应用140的条目可以致使该会话界面呈现可用于耦合至第一屏幕应用140的协议列表。
现在转向对在设备之间建立会话的讨论,图3是用于在第一屏幕应用与一个或者多个第二屏幕应用之间建立会话的方法的一个实施例的交互图。在各个实施例中,该方法可以包括与结合图3描述的那些步骤不同的步骤和/或附加步骤。此外,在一些实施例中,可以按照与结合图3描述的顺序不同的顺序来执行该步骤。
在第二屏幕设备105上的第二屏幕应用160呈现在第二屏幕设备105本地的发现的设备(305)。例如,第二屏幕应用160可以呈现示出每个发现的设备的单个设备条目的会话界面。可以通过使用上面参照图2描述的过程来生成设备条目列表。第二屏幕应用160接收对与第一屏幕应用140相关联的设备条目的选择(310)。例如,用户可以选择第一屏幕设备120的设备条目,并且第一屏幕应用140是在第一屏幕设备120上操作的应用。
第二屏幕应用160向控制服务器130请求与第一屏幕应用140相关联的应用状态信息(315)。对应用状态信息的请求包括与第一屏幕应用140相关联的应用标识符。控制服务器130通过使用该应用标识符来从数据库检索应用状态信息。数据库维持应用状态信息,该应用状态信息描述第一屏幕应用是否处于现有会话中,并且如果是,则描述在现有会话中使用什么耦合协议。控制服务器130将第一屏幕应用140的应用状态提供至第二屏幕应用160(320)。
第二屏幕应用160通过使用接收到的应用状态信息来确定是否存在与某个其它客户端设备的现有会话(325)。如果不存在现有会话,则第二屏幕应用160与第一屏幕应用140建立会话(330)。
在一些实例中,可以存在第一屏幕设备120所支持的多个耦合协议,客户端设备105也支持该多个耦合协议。在一些实施例中,第二屏幕应用160包括经排名耦合协议表。在一些实施例中,由第二屏幕应用160的管理员来对耦合协议进行排名。该管理员可以按照任何顺序来对耦合协议进行排名。在一些实施例中,可以按照耦合协议提供给用户的对会话的控制量来对耦合协议进行排名。例如,该表可将CAST排名得高于DIAL,因为CAST提供比DIAL更大的量调节控制。在一些实施例中,第二屏幕应用160选择该表中可用于客户端设备105和第一屏幕设备120两者的排名最高的优选耦合协议CASTCAST。在其它实施例中,第二屏幕应用160可以提示用户选择用于建立会话的耦合协议。
建立会话的步骤通常是耦合协议特定的,然而,不管选择是什么耦合协议,第一屏幕应用140都向控制服务器130提供指示第一屏幕应用140处于与第二屏幕应用160的会话中并且通过使用特定耦合协议来开始该会话的应用状态信息(335)。然后,控制服务器130利用接收到的应用状态信息来更新与第一屏幕应用120相关联的应用状态信息(340)。例如,控制服务器130可以利用接收到的应用状态信息来更新与第一屏幕应用140的应用标识符相关联的数据库条目。
在一些实施例中,第二屏幕应用160通过使用来自控制服务器130的应用状态信息来确定存在与某个其它客户端设备(例如,第二屏幕应用150)经由耦合协议的现有会话345。第二屏幕设备160确定该耦合协议是否还可用于客户端设备105(即,客户端设备100支持该耦合协议)(350)。在支持该耦合协议的实施例中,第二屏幕应用150通过使用该耦合协议来将第二屏幕应用150耦合至第一屏幕应用140。因为与第一屏幕应用140的耦合使用在现有会话345中使用的相同协议,所以,第二屏幕应用150能够在不中断现有会话345(例如,致使失败、致使会话重新开始等)的情况下耦合至现有会话345(355)。
在耦合协议不可用(即,客户端设备100不支持该耦合协议)的一些实施例中,第二屏幕应用150经由控制服务器130来耦合至该会话。与控制服务器130的耦合是经由客户端设备100所支持的某个其它协议来实现的(360)。然后,控制服务器130通过使用在现有会话345中使用的耦合协议来耦合至第一屏幕应用。因为控制服务器130通过使用用于该会话的耦合协议来耦合至现有会话345,所以控制服务器130能够经由控制服务器130来将第二屏幕应用150在没有中断的情况下有效地加入现有会话。
在一些实例(在图3中未示出)中,在第一屏幕应用140与另一客户端设备之间不存在现有会话,并且可用于客户端设备105的耦合协议与可用于第一屏幕设备120的耦合协议不同。因此,客户端设备无法直接耦合至与第一屏幕应用140的会话以及与第一屏幕应用140建立该会话。在一些实施例中,客户端设备105通过控制服务器130来间接地耦合至第一屏幕应用140。例如,客户端设备105通过使用可用于客户端设备105和控制服务器130的耦合协议来与控制服务器130通信,控制服务器130将从客户端设备105接收到的信息转换为与第一屏幕设备所支持的耦合协议兼容的格式,并且通过使用该耦合协议来与第一屏幕应用通信。
现在转向对第二屏幕应用150的结构的讨论,图4是图示了根据一个实施例的在第二屏幕应用150内的模块的详细视图的框图。第二屏幕应用150的一些实施例具有与此处描述的那些模块不同的模块。类似地,可以按照与此处描述的方式不同的方式来在模块间分布功能。第二屏幕应用150由包括以下的模块组成:设备数据库410、发现模块420、去重模块430、接口模块440、和耦合模块450。此外,虽然下面的讨论在第二屏幕应用150的场境(context)中,但是下面的讨论也同样适用于第二屏幕应用160。
设备数据库410将与第一屏幕应用140的发现和会话参与有关的信息存储在第一屏幕设备120上。与发现和会话参与有关的信息包括设备列表。设备列表是与已经发现的设备(例如,客户端设备和/或第一屏幕设备120)相关联的信息列表。与设备列表中的各个设备相关联的信息可以包括:例如,在设备上运行的特定应用的应用标识符、与设备兼容的耦合协议、配对信息、或者其某个组合。
发现模块420对第二屏幕应用150执行发现操作。发现模块420向本地设备发送(例如,经由WIFI、BLUETOOTH等)发现请求以识别可在本地发现的设备(例如,第一屏幕设备120和/或其它客户端设备)。发现模块420从任何发现的第一屏幕设备120接收发现信息。该发现信息包括发现的第一屏幕应用140的应用标识符和可以用于与第一屏幕应用140建立会话的耦合协议两者。
发现模块420利用接收到的发现信息来更新设备列表。发现模块420针对与该发现信息相关联的每个耦合协议向设备列表添加条目。因此,针对单个应用标识符可能存在多个条目(例如,[应用标识符X:DIAL;应用标识符X:CAST…])。
发现模块420从控制服务器130获得与发现的第一屏幕设备120相关联的配对信息。该配对信息是描述第一屏幕应用140可能已经与其手动配对的任何客户端设备。发现模块420利用从控制服务器130接收到的配对信息来更新设备列表。发现模块420针对在配对信息中识别到的每个手动配对向设备列表添加条目。因此,针对单个应用标识符的耦合协议和/或手动配对两者可能存在多个条目(例如,[应用标识符X:DIAL;应用标识符X:CAST;应用标识符X:与客户端设备1的手动配对;应用标识符X:与客户端设备2的手动配对;…])。
此外,在一些实施例中,发现模块420可以生成对于客户端设备100唯一的标识符。响应于从某个其它客户端设备(例如,客户端设备105)接收到发现请求,发现模块420向进行请求的客户端设备提供该标识符和可用于耦合至客户端设备100的耦合协议列表。
去重模块430通过使用更新的设备列表来执行设备去重。去重模块430通过应用标识符来收集更新的设备列表中的条目,并且然后为会话界面创建被映射至与该应用标识符相关联的耦合协议和/或手动配对的单个设备条目。
接口模块440通过使用一个或者多个设备条目来生成会话界面。该会话界面是图形用户界面,通过该图形用户界面客户端设备100可以发现与在其它设备(例如,第一屏幕设备130)上操作的应用的会话和/或与该应用建立会话。该会话界面向客户端设备100的用户呈现该设备条目中的一个或者多个设备条目。每个设备条目与单个第一屏幕设备120相关联。在一些实施例中,替选地,可以将设备条目与某个其它客户端设备(例如,客户端设备105)相关联。
响应于接收到对特定设备(例如,第一屏幕设备120)的设备条目的选择,耦合模块350获得与选择的设备相关联的应用的应用状态。例如,耦合模块350可以从控制服务器130获得在选择的第一屏幕设备120上运行的第一屏幕应用140的应用状态信息。该应用状态信息是描述以下的信息:第一屏幕应用是否处于现有会话中,并且如果是,则描述在现有会话中使用什么耦合协议。
耦合模块450通过使用接收到的应用状态信息和可用于客户端设备100的耦合协议来确定耦合方案。例如,如果应用状态信息指示不存在现有会话,则耦合模块450可以通过使用优选协议来与第一屏幕应用140建立会话。在一些实施例中,优选协议是由客户端设备100的用户选择的耦合协议。在替选实施例中,耦合模块450基于可用于第一屏幕设备120和客户端设备100两者的耦合协议来选择向客户端设备100的用户提供最多控制的优选耦合协议。例如,假设DIAL和CAST是可用耦合协议,则耦合模块450可以选择CAST作为耦合协议,因为CAST相比DIAL耦合协议会提供附加量调节控制。此外,在不存在现有会话并且可用于客户端设备105的耦合协议与可用于第一屏幕设备120的耦合协议不同的实施例中,耦合模块450通过控制服务器130来间接地耦合至第一屏幕应用140。
在应用状态信息指示第一屏幕设备120通过使用特定耦合协议处于与另一客户端设备(例如,客户端设备105)的现有会话中的实施例中,耦合模块450确定该特定耦合协议是否还可用于客户端设备100(即,客户端设备100支持该耦合协议)。如果支持该耦合协议,则耦合模块450通过使用该特定耦合协议来耦合至第一屏幕应用140。如果该特定耦合协议不可用(即,客户端设备100不支持该特定耦合协议),则该耦合协议经由控制服务器130来耦合至会话。在这种情况下,由于客户端设备100通过使用客户端设备100所支持的协议来耦合至控制服务器130并且控制服务器130然后通过使用该特定耦合协议来耦合至该会话,所以从这种意义上,与该会话的耦合是间接的。在任一情况下,客户端设备100都经由在现有会话中使用的特定耦合协议来加入该现有会话。因此,客户端设备100能够在不中断现有会话的情况下有效地加入现有会话,如果试图通过使用与在现有会话中使用的耦合协议不同的耦合协议来耦合至现有会话,则该中断可能会发生。
图5是图示了根据一个实施例的、作为设备发现的一部分的执行设备去重的过程的流程图。在一个实施例中,由客户端设备100来执行图5的过程。在其它实施例中,其它实体可以执行该过程的步骤中的一些或者所有步骤。同样,实施例可以包括不同的步骤和/或附加步骤,或者按照不同的顺序来执行该步骤。
客户端设备100发现在第一屏幕设备120上操作的第一屏幕应用140和用于耦合至第一屏幕设备120的可用耦合协议(510)。例如,客户端设备100可以经由例如,BLUETOOTH、WIFI等来向外发送一个或者多个发现请求。发现的第一屏幕设备120向客户端设备100提供包括应用标识符和第一屏幕设备120所支持的可用耦合协议的发现信息。
客户端设备通过使用与第一屏幕设备120相关联的信息(例如,发现信息中的一些或者所有信息)和可用耦合协议来更新设备列表(520)。客户端设备100针对每个耦合协议向该设备列表添加条目,使得每个条目还与该应用标识符相关联。因此,针对单个应用标识符可能存在多个条目(例如,[应用标识符X:DIAL;应用标识符X:CAST]。
客户端设备100针对第一屏幕设备120从控制服务器130获得配对信息(530)。例如,客户端设备100可以向控制服务器130请求与第一屏幕应用140和/或第一屏幕设备120相关联的配对信息。从控制服务器130接收到的配对信息描述第一屏幕应用140可能已经与其手动配对的任何设备(例如,客户端设备105)。客户端设备100通过使用配对信息来更新该设备列表(540)。因为客户端设备100针对与手动配对相关联的每个应用标识符向设备列表添加条目,所以,针对单个应用标识符可能存在多个条目。例如,设备列表可以包含针对与相同的应用标识符相关联的耦合协议和手动配对两者的条目(例如,[应用标识符X:DIAL;应用标识符X:CAST;应用标识符X:与设备1的手动配对;应用标识符X:与设备2的手动配对;…])。
客户端设备100通过使用更新的设备列表来执行设备去重(540)。客户端设备100通过应用标识符来收集设备列表中的条目,并且然后在会话界面中创建被映射至与该应用标识符相关联的耦合协议的单个设备条目。客户端设备100将包括第一屏幕设备120的单个设备条目连同先前已经发现的任何其它设备条目的会话界面呈现给用户。因此,由该会话界面呈现的设备条目列表是设备的去重列表,在该列表中每个条目与不同的设备相对应。
图6是图示了根据一个实施例的、用于在第一屏幕应用与第二屏幕应用之间建立会话的过程的流程图。在一个实施例中,由客户端设备100来执行图6的过程。在其它实施例中,其它实体可以执行该过程的步骤中的一些或者所有步骤。同样,实施例可以包括不同的步骤和/或附加步骤,或者按照不同的顺序来执行该步骤。
客户端设备100向客户端设备100的用户呈现在用户界面中的设备的去重列表。可以通过使用例如上面参照图5描述的过程来生成该去重列表。
客户端设备100接收对利用其参与会话的列出的设备的选择(620)。在一些实施例中,该会话可以是例如视频显示会话。在该场境中,参与可以指代加入与选择的设备的现有会话或者与选择的设备建立会话。
客户端设备100从控制服务器130获得在选择的设备上的第一屏幕应用140的应用状态(630)。客户端设备基于该应用状态和可用于客户端设备100和第一屏幕设备100两者的耦合协议来确定耦合方案(640)。在应用状态指示不存在现有会话的实施例中,客户端设备100通过使用可用于客户端应用100和第一屏幕应用120两者的优选耦合协议(例如,向客户端设备100的用户提供最多控制的优选耦合协议)来耦合至第一屏幕应用140(650)。在应用状态指示第一屏幕应用140处于与客户端设备105的现有会话中并且该会话正使用特定耦合协议的实施例中,客户端设备100然后确定客户端设备100是否也支持该特定耦合协议。如果支持,则客户端设备100经由该特定耦合协议来耦合至现有会话(650)。否则,客户端设备100经由控制服务器130来间接地耦合至现有会话,其中,客户端设备100和控制服务器130通过使用客户端设备100所支持的耦合协议来进行通信,并且控制服务器130和第一屏幕应用140经由在现有会话中正使用的特定耦合协议来进行耦合。
现在转向对客户端设备100、105、第一屏幕设备120、和/或控制服务器130的实施方式的讨论,图7是图示了用于实现在图1中示出的实体的示例计算机700的框图。计算机700包括耦合至芯片集704的至少一个处理器702。芯片集704包括存储器控制器集线器720和输入/输出(I/O)控制器集线器722。存储器706和图形适配器712耦合至存储器控制器集线器720,并且显示器718耦合至图形适配器712。存储设备708、输入设备714、和网络适配器716耦合至I/O控制器集线器722。计算机700的其它实施例具有不同的架构。
存储设备708是非暂时性计算机可读存储介质,诸如硬盘驱动器、光盘只读存储器(CD-ROM)、DVD、或者固态存储器设备。存储器706保持由处理器702使用的指令和数据。输入界面714是触摸屏界面、鼠标、轨迹球、或者其它类型的指示设备、键盘、或者其某个组合,并且用于向计算机700输入数据。在一些实施例中,可以将计算机700配置为经由来自用户的手势来从输入界面714接收输入(例如,命令)。图形适配器712在显示器718上显示图像和其它信息。网络适配器716将计算机700耦合至一个或者多个计算机网络。
计算机700适用于执行用于提供本文描述的功能的计算机程序模块。如本文使用的,术语“模块”指代用于提供指定功能的计算机程序逻辑。因此,可以在硬件、固件、和/或软件中实现模块。在一个实施例中,将程序模块存储在存储设备708上,加载到存储器706中,并且由处理器702来执行。
由图1的实体使用的计算机700的类型可以根据实施例和实体所要求的处理能力而变化。在一些实施例中,客户端设备100可以与一起工作的一个或者多个服务器进行交互以提供本文描述的功能。例如,控制服务器130可以包括诸如服务器群中的多个计算机700,该多个计算机700通过网络来彼此通信以提供本文描述的功能。计算机700可以不具有上面描述的组件,诸如,图形适配器712、和显示器718。
其它考虑
上述描述中的一些部分在算法过程或者操作方面描述了实施例。这些算法描述和表示通常是由数据处理领域的技术人员用来有效地将他们的工作实质传达给本领域的其他技术人员。虽然从功能上、计算上、或者逻辑上描述了这些操作,但是这些操作被理解为由计算机程序实现,该计算机程序包括用于由处理器或者等效电子电路执行的指令、微代码等。此外,还已经证明将功能操作的这些布置称为模块有时是便利的,而不会丢失一般性。可以将描述的操作和它们相关联的模块以软件、固件、硬件、或者其任何组合实施。
如本文使用的,对“一个实施例”或者“实施例”的提及指代结合该实施例描述的特定元素、介质特征、结构、或者特性包括在至少一个实施例中。在本说明的各处的短语“在一个实施例中”的出现不一定都指代相同的实施例。
可以通过使用表达“耦合(coupled)”和“连接(connected)”以及它们的生词来描述一些实施例。应该理解,这些术语不意图作为彼此的同义词。例如,可以通过使用术语“连接”来描述一些实施例以指示两个或者更多个元素彼此直接地物理接触或者电接触。在另一示例中,可以通过使用术语“耦合”来描述一些实施例以指示两个或者更多个元素直接地物理接触或者电接触。然而,术语“耦合”还可以意指两个或者更多个元素彼此不直接接触,但是仍然彼此协作或者交互。实施例不限于该场境。
如本文使用的,术语“包括”、“包含”、“具有”或者其任何其它变型旨在涵盖非排他性包含。例如,包括元素列表的过程、方法、物品、或者装置不一定仅限于那些元素,而是可以包括未明确列出的或者这样的过程、方法、物品、或者装置固有的其它元素。进一步地,除非明确相反陈述,否则“或者”指代包容性的或者,并且不指代排他性的或者。例如,以下情况中的任何一个情况满足条件A或者B:A为真(或者存在)并且B为假(或者不存在)、A为假(或者不存在)并且B为真(或者存在)、以及A和B二者均为真(或者存在)。
另外,采用对“一个”或者“一”的使用以描述本文中的实施例的元素和组件。这样做只是为了方便起见,并且给出本公开的一般意义。该描述应该被理解为包括一个或者至少一个,并且单数也包括复数,除非其明显地表达相反含义。
在阅读本公开后,本领域的技术人员会理解用于促进客户端设备与第一屏幕设备的互操作性的系统和过程的附加替选结构和功能设计。因此,虽然已经图示并且描述了特定实施例和应用,但是要明白,描述的主题不限于本文公开的确切构造和组件,并且可以对本文公开的布置、操作和方法细节以及装置进行对本领域的技术人员而言是显而易见的各种修改、变化和变型。

Claims (20)

1.一种用于促进客户端设备与第一屏幕设备的互操作性的计算机实现的方法,所述方法包括:
通过在客户端设备上操作的第二屏幕应用,在用户界面中呈现设备的去重列表,每个列出的设备与一个或者多个耦合协议相关联;
经由所述用户界面接收对参与视频显示会话所利用的列出的设备的选择;
从控制服务器获得所选择的设备的第一屏幕应用的应用状态信息,所述应用状态信息指示所述第一屏幕应用是否处于与第二客户端设备的现有视频显示会话中;
基于所指示的应用状态和能够用于所述客户端设备的耦合协议以及所述第一屏幕应用的所述一个或者多个耦合协议来确定耦合方案;以及
经由所确定的耦合方案来耦合至所述第一屏幕应用。
2.根据权利要求1所述的方法,其中,基于所指示的应用状态和能够用于所述客户端设备的耦合协议以及所述第一屏幕应用的所述一个或者多个耦合协议来确定所述耦合方案进一步包括:
通过使用所述应用状态信息来确定所述第一屏幕应用处于与第二客户端设备的现有视频显示会话中,所述应用状态信息进一步指示所述一个或者多个耦合协议中被使用在所述现有视频显示会话中的特定耦合协议;
确定所述特定耦合协议不能够用于所述客户端设备;以及
其中,经由所确定的耦合方案来耦合至所述第一屏幕应用进一步包括:
通过控制服务器来间接地耦合至所述第一屏幕应用,使得所述客户端设备通过使用能够用于所述客户端设备和所述控制服务器的耦合协议来与所述控制服务器通信,并且所述控制服务器通过使用所述特定耦合协议来与所述第一屏幕应用通信。
3.根据权利要求1所述的方法,其中,基于所指示的应用状态和能够用于所述客户端设备的耦合协议以及所述第一屏幕应用的所述一个或者多个耦合协议来确定所述耦合方案进一步包括:
通过使用所述应用状态信息来确定所述第一屏幕应用处于与第二客户端设备的现有视频显示会话中,所述应用状态信息进一步指示所述一个或者多个耦合协议中被使用在所述现有视频显示会话中的特定耦合协议;
确定所述特定耦合协议能够用于所述客户端设备;以及
其中,经由所确定的耦合方案来耦合至所述第一屏幕应用进一步包括:
通过使用所述特定耦合协议来耦合至所述现有视频显示会话。
4.根据权利要求1所述的方法,其中,基于所指示的应用状态和能够用于所述客户端设备的耦合协议以及所述第一屏幕应用的所述一个或者多个耦合协议来确定所述耦合方案进一步包括:
通过使用所述应用状态信息来确定所述第一屏幕应用不处于与另一客户端设备的现有视频显示会话中;
确定所述一个或者多个耦合协议中能够用于所述客户端设备和所述第一屏幕设备的优选耦合协议;以及
其中,经由所确定的耦合方案来耦合至所述第一屏幕应用进一步包括:
通过使用所述优选耦合协议来耦合至第一屏幕应用。
5.根据权利要求4所述的方法,所述优选耦合协议是能够用于所述客户端设备和所述第一屏幕设备两者的多个耦合协议中比所述多个耦合协议中其它耦合协议向用户提供更多控制的耦合协议。
6.根据权利要求1所述的方法,其中,基于所述指的应用状态和能够用于所述客户端设备的耦合协议以及所述第一屏幕应用的所述一个或者多个耦合协议来确定所述耦合方案进一步包括:
通过使用所述应用状态信息来确定所述第一屏幕应用不处于与另一客户端设备的现有视频显示会话中;
确定与所述第一屏幕设备相关联的多个耦合协议不能够用于所述客户端设备;以及
其中,经由所确定的耦合方案来耦合至所述第一屏幕应用进一步包括:
通过控制服务器来间接地耦合至所述第一屏幕应用,使得所述客户端设备通过使用能够用于所述客户端设备和所述控制服务器的耦合协议来与所述控制服务器通信,并且所述控制服务器通过使用所述多个耦合协议中的耦合协议来与所述第一屏幕应用通信。
7.根据权利要求1所述的方法,进一步包括:
从所述第一客户端设备接收发现信息,所述发现信息包括唯一地标识所述第一屏幕应用的应用标识符、以及能够用于耦合至所述第一屏幕设备的耦合协议的列表;
利用所接收的发现信息来更新设备列表;
向控制服务器请求配对信息,所述配对信息指示所述第一屏幕应用先前已经与某些其它客户端设备手动配对;
利用所接收的配对信息来更新所述设备列表;
通过使用所更新的设备列表来执行设备去重,以在视频显示会话界面中生成与所述第一屏幕设备相对应的单个设备条目。
8.一种存储可执行计算机程序指令的非暂时性计算机可读存储介质,所述可执行计算机程序指令用于促进客户端设备与第一屏幕设备的互操作性,所述指令能够被执行以执行步骤,所述步骤包括:
通过在客户端设备上操作的第二屏幕应用,在用户界面中呈现设备的去重列表,每个列出的设备与一个或者多个耦合协议相关联;
经由所述用户界面接收对参与视频显示会话所利用的列出的设备的选择;
从控制服务器获得所选择的设备的第一屏幕应用的应用状态信息,所述应用状态信息指示所述第一屏幕应用是否处于与第二客户端设备的现有视频显示会话中;
基于所指示的应用状态和能够用于所述客户端设备的耦合协议以及所述第一屏幕应用的所述一个或者多个耦合协议来确定耦合方案;以及
经由所确定的耦合方案来耦合至所述第一屏幕应用。
9.根据权利要求8所述的计算机可读介质,其中,基于所指示的应用状态和能够用于所述客户端设备的耦合协议以及所述第一屏幕应用的所述一个或者多个耦合协议来确定所述耦合方案进一步包括:
通过使用所述应用状态信息来确定所述第一屏幕应用处于与第二客户端设备的现有视频显示会话中,所述应用状态信息进一步指示所述一个或者多个耦合协议中被使用在所述现有视频显示会话中的特定耦合协议;
确定所述特定耦合协议不能够用于所述客户端设备;以及
其中,经由所确定的耦合方案来耦合至所述第一屏幕应用进一步包括:
通过控制服务器来间接地耦合至所述第一屏幕应用,使得所述客户端设备通过使用能够用于所述客户端设备和所述控制服务器的耦合协议来与所述控制服务器通信,并且所述控制服务器通过使用所述特定耦合协议来与所述第一屏幕应用通信。
10.根据权利要求8所述的计算机可读介质,其中,基于所指示的应用状态和能够用于所述客户端设备的耦合协议以及所述第一屏幕应用的所述一个或者多个耦合协议来确定所述耦合方案进一步包括:
通过使用所述应用状态信息来确定所述第一屏幕应用处于与第二客户端设备的现有视频显示会话中,所述应用状态信息进一步指示所述一个或者多个耦合协议中被使用在所述现有视频显示会话中的特定耦合协议;
确定所述特定耦合协议能够用于所述客户端设备;以及
其中,经由所确定的耦合方案来耦合至所述第一屏幕应用进一步包括:
通过使用所述特定耦合协议来耦合至所述现有视频显示会话。
11.根据权利要求8所述的计算机可读介质,其中,基于所指示的应用状态和能够用于所述客户端设备的耦合协议以及所述第一屏幕应用的所述一个或者多个耦合协议来确定所述耦合方案进一步包括:
通过使用所述应用状态信息来确定所述第一屏幕应用不处于与另一客户端设备的现有视频显示会话中;
确定所述一个或者多个耦合协议中能够用于所述客户端设备和所述第一屏幕设备的优选耦合协议;以及
其中,经由所确定的耦合方案来耦合至所述第一屏幕应用进一步包括:
通过使用所述优选耦合协议来耦合至第一屏幕应用。
12.根据权利要求11所述的计算机可读介质,所述优选耦合协议是能够用于所述客户端设备和所述第一屏幕设备两者的多个耦合协议中比所述多个耦合协议中其它耦合协议向用户提供更多控制的耦合协议。
13.根据权利要求8所述的计算机可读介质,其中,基于所指示的应用状态和能够用于所述客户端设备的耦合协议以及所述第一屏幕应用的所述一个或者多个耦合协议来确定所述耦合方案进一步包括:
通过使用所述应用状态信息来确定所述第一屏幕应用不处于与另一客户端设备的现有视频显示会话中;
确定与所述第一屏幕设备相关联的多个耦合协议不能够用于所述客户端设备;以及
其中,经由所确定的耦合方案来耦合至所述第一屏幕应用进一步包括:
通过控制服务器来间接地耦合至所述第一屏幕应用,使得所述客户端设备通过使用能够用于所述客户端设备和所述控制服务器的耦合协议来与所述控制服务器通信,并且所述控制服务器通过使用所述多个耦合协议中的耦合协议来与所述第一屏幕应用通信。
14.根据权利要求8所述的计算机可读介质,进一步包括:
从所述第一客户端设备接收发现信息,所述发现信息包括唯一地标识所述第一屏幕应用的应用标识符、以及能够用于耦合至所述第一屏幕设备的耦合协议的列表;
利用所接收到的发现信息来更新设备列表;
向控制服务器请求配对信息,所述配对信息指示所述第一屏幕应用先前已经与某些其它客户端设备手动配对;
利用所接收到的配对信息来更新所述设备列表;
通过使用所更新的设备列表来执行设备去重,以在视频显示会话界面中生成与所述第一屏幕设备相对应的单个设备条目。
15.一种用于促进客户端设备与第一屏幕设备的互操作性的设备,包括:
处理器,所述处理器配置为执行模块;以及
存储器,所述存储器存储第二屏幕应用的模块,所述模块包括:
界面模块,所述界面模块配置为:
在用户界面中呈现设备的去重列表,每个列出的设备与一个或者多个耦合协议相关联;以及
经由所述用户界面来接收对参与视频显示会话所利用的列出的设备的选择;
发现模块,所述发现模块配置为从控制服务器获得所选择的设备的第一屏幕应用的应用状态信息,所述应用状态信息指示所述第一屏幕应用是否处于与第二客户端设备的现有视频显示会话中;以及
耦合模块,所述耦合模块配置为:
基于所指示的应用状态和能够用于所述客户端设备的耦合协议以及所述第一屏幕应用的所述一个或者多个耦合协议来确定耦合方案;以及
经由所确定的耦合方案来耦合至所述第一屏幕应用。
16.根据权利要求1所述的设备,其中,所述耦合模块进一步配置为:
通过使用所述应用状态信息来确定所述第一屏幕应用处于与第二客户端设备的现有视频显示会话中,所述应用状态信息进一步指示所述一个或者多个耦合协议中被使用在所述现有视频显示会话中的特定耦合协议;
确定所述特定耦合协议不能够用于所述客户端设备;以及
通过控制服务器来间接地耦合至所述第一屏幕应用,使得所述客户端设备通过使用能够用于所述客户端设备和所述控制服务器的耦合协议来与所述控制服务器通信,并且所述控制服务器通过使用所述特定耦合协议来与所述第一屏幕应用通信。
17.根据权利要求15所述的设备,其中,所述耦合模块进一步配置为:
通过使用所述应用状态信息来确定所述第一屏幕应用处于与第二客户端设备的现有视频显示会话中,所述应用状态信息进一步指示所述一个或者多个耦合协议中被使用在所述现有视频显示会话中的特定耦合协议;
确定所述特定耦合协议能够用于所述客户端设备;以及
通过使用所述特定耦合协议来耦合至所述现有视频显示会话。
18.根据权利要求15所述的设备,其中,所述耦合模块进一步配置为:
通过使用所述应用状态信息来确定所述第一屏幕应用不处于与另一客户端设备的现有视频显示会话中;
确定所述一个或者多个耦合协议中能够用于所述客户端设备和所述第一屏幕设备的优选耦合协议;以及
通过使用所述优选耦合协议来耦合至第一屏幕应用。
19.根据权利要求15所述的设备,其中,所述耦合模块进一步配置为:
通过使用所述应用状态信息来确定所述第一屏幕应用不处于与另一客户端设备的现有视频显示会话中;
确定与所述第一屏幕设备相关联的多个耦合协议不能够用于所述客户端设备;以及
通过控制服务器来间接地耦合至所述第一屏幕应用,使得所述客户端设备通过使用能够用于所述客户端设备和所述控制服务器的耦合协议来与所述控制服务器通信,并且所述控制服务器通过使用所述多个耦合协议中的耦合协议来与所述第一屏幕应用通信。
20.根据权利要求15所述的设备,其中,所述发现模块进一步配置为:
从所述第一客户端设备接收发现信息,所述发现信息包括唯一地标识所述第一屏幕应用的应用标识符、以及能够用于耦合至所述第一屏幕设备的耦合协议的列表;
利用所接收到的发现信息来更新设备列表;
向控制服务器请求配对信息,所述配对信息指示所述第一屏幕应用先前已经与某些其它客户端设备手动配对;
利用所接收到的配对信息来更新所述设备列表;
通过使用所更新的设备列表来执行设备去重,以在视频显示会话界面中生成与所述第一屏幕设备相对应的单个设备条目。
CN201680008576.XA 2015-02-03 2016-01-20 促进第一屏幕设备与客户端设备间互操作性的方法、设备和计算机可读存储介质 Active CN107211046B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010678646.0A CN111935236B (zh) 2015-02-03 2016-01-20 促进屏幕设备与客户端设备间互操作性的方法、设备和介质

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

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202010678646.0A Division CN111935236B (zh) 2015-02-03 2016-01-20 促进屏幕设备与客户端设备间互操作性的方法、设备和介质

Publications (2)

Publication Number Publication Date
CN107211046A true CN107211046A (zh) 2017-09-26
CN107211046B CN107211046B (zh) 2020-08-11

Family

ID=56554964

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201680008576.XA Active CN107211046B (zh) 2015-02-03 2016-01-20 促进第一屏幕设备与客户端设备间互操作性的方法、设备和计算机可读存储介质
CN202010678646.0A Active CN111935236B (zh) 2015-02-03 2016-01-20 促进屏幕设备与客户端设备间互操作性的方法、设备和介质

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202010678646.0A Active CN111935236B (zh) 2015-02-03 2016-01-20 促进屏幕设备与客户端设备间互操作性的方法、设备和介质

Country Status (8)

Country Link
US (2) US9992307B2 (zh)
EP (2) EP3606013B1 (zh)
JP (1) JP6545824B2 (zh)
KR (2) KR102030549B1 (zh)
CN (2) CN107211046B (zh)
DE (1) DE112016000587T5 (zh)
GB (1) GB2552106A (zh)
WO (1) WO2016126418A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110868335A (zh) * 2019-11-08 2020-03-06 彩讯科技股份有限公司 端到端的业务监控方法和装置
CN113228689A (zh) * 2018-12-20 2021-08-06 艾锐势企业有限责任公司 用于第一屏幕内容的多屏幕发现和启动的认证和登录可移植性的系统和方法
CN114556959A (zh) * 2020-04-01 2022-05-27 谷歌有限责任公司 允许第一屏幕设备上提供的媒体特征呈现在第二屏幕设备上

Families Citing this family (6)

* 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
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
CN112261572A (zh) * 2020-10-14 2021-01-22 北京小米移动软件有限公司 一种信息交互的方法、装置及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103067234A (zh) * 2012-12-24 2013-04-24 乐视致新电子科技(天津)有限公司 异构网络下智能设备的识别与发现方法和系统
CN103475907A (zh) * 2013-09-23 2013-12-25 珠海迈科电子科技有限公司 一种多屏控制方法及系统
EP2779709A2 (en) * 2013-03-14 2014-09-17 Samsung Electronics Co., Ltd Application connection for devices in a network

Family Cites Families (23)

* 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
DE60103085T2 (de) * 2000-11-20 2004-11-25 British Telecommunications P.L.C. Verfahren zur verwaltung von resourcen
US7421471B2 (en) * 2002-05-17 2008-09-02 Sony Computer Entertainment America Inc. Configuration switching: dynamically changing between network communication architectures
US7613881B2 (en) 2004-06-08 2009-11-03 Dartdevices Interop Corporation Method and system for configuring and using virtual pointers to access one or more independent address spaces
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
JP6010036B2 (ja) * 2010-10-01 2016-10-19 ゼット124Z124 タッチセンサ式ディスプレイに画像を表示する方法及び通信デバイスならびにコンピュータ可読媒体
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
US20140282677A1 (en) 2013-03-12 2014-09-18 Cbs Interactive Inc. Second screen application linked to media content delivery
US20140281988A1 (en) * 2013-03-12 2014-09-18 Tivo Inc. Gesture-Based Wireless Media Streaming System
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
EP2822285B1 (fr) 2013-07-04 2017-08-30 Nagravision S.A. Appariement de dispositifs au travers de réseaux distincts
KR102084633B1 (ko) * 2013-09-17 2020-03-04 삼성전자주식회사 화면 미러링 방법 및 그에 따른 소스 기기
KR102078867B1 (ko) * 2013-09-17 2020-02-18 삼성전자주식회사 제어권 관리 방법, 그에 따른 클라이언트 기기 및 그에 따른 마스터 기기
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103067234A (zh) * 2012-12-24 2013-04-24 乐视致新电子科技(天津)有限公司 异构网络下智能设备的识别与发现方法和系统
EP2779709A2 (en) * 2013-03-14 2014-09-17 Samsung Electronics Co., Ltd Application connection for devices in a network
CN104052783A (zh) * 2013-03-14 2014-09-17 三星电子株式会社 用于网络中的装置的应用程序连接
CN103475907A (zh) * 2013-09-23 2013-12-25 珠海迈科电子科技有限公司 一种多屏控制方法及系统

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113228689A (zh) * 2018-12-20 2021-08-06 艾锐势企业有限责任公司 用于第一屏幕内容的多屏幕发现和启动的认证和登录可移植性的系统和方法
CN113228689B (zh) * 2018-12-20 2024-05-14 艾锐势企业有限责任公司 用于第一屏幕内容的多屏幕发现和启动的认证和登录可移植性的系统和方法
CN110868335A (zh) * 2019-11-08 2020-03-06 彩讯科技股份有限公司 端到端的业务监控方法和装置
CN110868335B (zh) * 2019-11-08 2023-05-09 彩讯科技股份有限公司 端到端的业务监控方法和装置
CN114556959A (zh) * 2020-04-01 2022-05-27 谷歌有限责任公司 允许第一屏幕设备上提供的媒体特征呈现在第二屏幕设备上

Also Published As

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

Similar Documents

Publication Publication Date Title
CN107211046A (zh) 客户端设备与第一屏幕设备之间的发现和连接协议的互操作性
CN109074402B (zh) 基于示例会话使用自然语言机器学习来响应用户请求的技术
CN102467723B (zh) 用于在查看型社交网络中向用户提供推荐的系统和方法
CN102725747B (zh) 具有会话迁移的个人云计算
CN103329503B (zh) Ad hoc文件共享
JP5719453B2 (ja) マルチユーザ装置のためのメッセージプッシュ通知クライアントの改良
CN104247380B (zh) 在分布式协定协议中绑定crud型协议
CN104737097A (zh) 聚合当前的、依场境和/或依成员而相关的视频会议的列表
CN107077437A (zh) 计算环境的装置特定用户上下文适配
US20110246552A1 (en) Administrative Interface for Managing Shared Resources
US8219614B2 (en) Edge peer device, pan gateway device, super peer device, and P2P network-based interconnection method
JP2011527785A (ja) リアルタイムメディアベースによるソーシャルネットワークにおける通知
JP2014527665A (ja) 通知メッセージの管理
KR20040108703A (ko) 네트워크내 디바이스들간의 관계 개시
JP6615997B2 (ja) 仮想セッションにおけるサーバ・サイド・キーボード・レイアウトとクライアント・サイド・キーボード・レイアウトとの同期
CN110598143B (zh) 显示即时通讯内容的方法、相关装置及系统
CN102724334A (zh) 一种dlna中地址改变的通知和获取方法、装置和系统
CN115209962A (zh) 在设备之间转移用于游戏会话的控制元素
Ådahl Shared resource for collaborative editing over a wireless network
Eustice et al. The smart party: A personalized location-aware multimedia experience
JP2020052521A (ja) 事故対応装置、事故対応システム、事故対応方法および事故対応プログラム
TWI495329B (zh) 具有多個顯示器和動態配置分層伺服器的跨平台多媒體互動系統,及相關的方法、電子裝置和電腦程式產品
Raychoudhury et al. Automatic event scheduling in mobile social network communities
Chang et al. Service Discovery and Trust in Mobile Social Network in Proximity
Smirnov et al. Context-aware smartspace: Reference model

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: American California

Applicant after: Google limited liability company

Address before: American California

Applicant before: Google Inc.

GR01 Patent grant
GR01 Patent grant