CN111935236B - 促进屏幕设备与客户端设备间互操作性的方法、设备和介质 - Google Patents
促进屏幕设备与客户端设备间互操作性的方法、设备和介质 Download PDFInfo
- Publication number
- CN111935236B CN111935236B CN202010678646.0A CN202010678646A CN111935236B CN 111935236 B CN111935236 B CN 111935236B CN 202010678646 A CN202010678646 A CN 202010678646A CN 111935236 B CN111935236 B CN 111935236B
- Authority
- CN
- China
- Prior art keywords
- screen
- application
- screen application
- session
- coupling
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 46
- 230000001737 promoting effect Effects 0.000 title description 3
- 230000008878 coupling Effects 0.000 claims abstract description 158
- 238000010168 coupling process Methods 0.000 claims abstract description 158
- 238000005859 coupling reaction Methods 0.000 claims abstract description 158
- 230000004044 response Effects 0.000 claims description 12
- 230000008569 process Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 11
- 230000003993 interaction Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/75—Indicating network or usage conditions on the user display
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/4104—Peripherals receiving signals from specially adapted client devices
- H04N21/4122—Peripherals receiving signals from specially adapted client devices additional display device, e.g. video projector
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/80—Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/10—Connection setup
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/005—Discovery 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)
Abstract
公开了促进屏幕设备与客户端设备间互操作性的方法、设备和介质。一种在客户端设备上操作的第二屏幕应用在用户界面中呈现设备的去重列表,每个列出的设备与一个或者多个耦合协议相关联。经由所述用户界面来接收对利用其来参与视频显示会话的列出的设备的选择。针对所选择的设备的第一屏幕应用从控制服务器获得应用状态信息,所述应用状态信息指示所述第一屏幕应用是否处于与第二客户端设备的现有视频显示会话中。基于所指示的应用状态和可用于所述客户端设备的耦合协议和所述第一屏幕应用的所述一个或者多个耦合协议来确定耦合方案;以及经由所确定的耦合方案来将所述客户端设备耦合至所述第一屏幕应用。
Description
本申请是分案申请,原案的申请号是201680008576.X,申请日是2016年1月20日,发明名称是“促进第一屏幕设备与客户端设备间互操作性的方法、设备和计算机可读存储介质”。
技术领域
所描述的实施例大体上涉及客户端设备的发现和耦合协议的互操作性,并且更具体地涉及促进客户端设备在与第一屏幕设备建立视频会话时的互操作性。
背景技术
存在用于经由第二设备(例如,膝上型计算机)上的应用来发现和/或启动第一设备(例如,电视机)上的应用的多个协议(例如,基于简单服务发现协议的发现和启动(“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 (19)
1.一种用于促进第一屏幕设备和第二屏幕设备之间的互操作性的计算机实现的方法,所述方法包括:
由所述第二屏幕设备发现在所述第一屏幕设备上操作的、由应用标识符标识的第一屏幕应用和可用于连接到所述第一屏幕设备的多个耦合协议;
由所述第二屏幕设备基于所述发现来提供设备列表,所述设备列表包括每个与所述第一屏幕应用相关联的多个条目以及所述多个耦合协议中的相应耦合协议;
由所述第二屏幕设备从控制服务器获得所述第一屏幕应用的配对信息,所述配对信息描述已经与所述第一屏幕应用手动配对的一个或多个客户端设备;
由所述第二屏幕设备通过以下操作使用来自所述控制服务器的所述配对信息来更新所述设备列表:对于所述第一屏幕应用已经与其手动配对的所述一个或多个客户端设备中的每个客户端设备向所述设备列表添加条目;
由所述第二屏幕设备使用所更新的设备列表来执行设备去重,以通过以下操作来生成所述第一屏幕应用的去重条目:收集在所更新的设备列表中通过所述应用标识符与所述第一屏幕应用相关联的条目,以及对于所述应用标识符,在会话界面中创建单个设备条目,所述单个设备条目被映射至所述多个耦合协议和/或与所述应用标识符相关联的手动配对;和
由所述第二屏幕设备在用户界面中呈现所述第一屏幕应用的所述去重条目以使得第二屏幕应用的用户能够选择用于参与会话的设备。
2.根据权利要求1所述的方法,其中,由所述第二屏幕设备基于所述发现来提供所述设备列表包括:
针对所述多个耦合协议中的每一个向所述设备列表添加条目,其中每个所添加的条目包括所述第一屏幕应用的所述应用标识符和所述多个耦合协议中的相应耦合协议的标识符。
3.根据权利要求2所述的方法,其中,所述第一屏幕应用的所述应用标识符由所述第一屏幕应用生成,并且响应于所述第二屏幕设备的发现请求而被提供给所述第二屏幕设备。
4.根据权利要求1所述的方法,其中,所述第一屏幕应用的所述配对信息识别所述第一屏幕应用使用密码已经手动配对的一个或多个客户端设备。
5.根据权利要求1所述的方法,其中,每个所添加的条目包括所述第一屏幕应用的所述应用标识符和带有手动配对的指示的相应客户端设备的标识符。
6.根据权利要求1所述的方法,还包括:
接收对所述第一屏幕应用的所述去重条目的用户选择;
向所述控制服务器请求与所述第一屏幕应用相关联的应用状态信息;
从所述控制服务器接收与所述第一屏幕应用相关联的所述应用状态信息;和
基于所述应用状态信息,确定所述第一屏幕应用是否具有与其他任何客户端设备的现有会话。
7.根据权利要求6所述的方法,还包括:
响应于确定所述第一屏幕应用不具有与任何其他客户端设备的现有会话,与所述第一屏幕应用建立会话。
8.根据权利要求7所述的方法,其中与所述第一屏幕应用建立会话包括:
由所述第二屏幕设备识别所述多个耦合协议的排名;和
从所述多个耦合协议中选择具有最高排名的耦合协议,以用于与所述第一屏幕应用建立所述会话。
9.根据权利要求7所述的方法,其中与所述第一屏幕应用建立会话包括:
接收对所述多个耦合协议中的一个的用户选择,以用于与所述第一屏幕应用建立所述会话。
10.根据权利要求6所述的方法,还包括:
响应于确定所述第一屏幕应用具有与另一客户端设备的现有会话,识别所述现有会话的耦合协议,并确定所述第二屏幕设备是否支持所述现有会话的耦合协议。
11.根据权利要求10所述的方法,还包括:
响应于确定所述第二屏幕设备支持所述现有会话的耦合协议,使用所述现有会话的耦合协议与所述第一屏幕应用连接。
12.如权利要求10所述的方法,还包括:
响应于确定所述第二屏幕设备不支持所述现有会话的耦合协议,经由所述控制服务器与所述第一屏幕应用连接。
13.一种包括指令的非暂时性计算机可读介质,所述指令在由处理器执行时使所述处理器执行用于促进第一屏幕设备和第二屏幕设备之间的互操作性的操作,所述操作包括:
由所述第二屏幕设备发现在所述第一屏幕设备上操作的、由应用标识符标识的第一屏幕应用和可用于连接到所述第一屏幕设备的多个耦合协议;
由所述第二屏幕设备基于所述发现来提供设备列表,所述设备列表包括每个与所述第一屏幕应用相关联的多个条目以及所述多个耦合协议中的相应耦合协议;
由所述第二屏幕设备从控制服务器获得所述第一屏幕应用的配对信息,所述配对信息描述已经与所述第一屏幕应用手动配对的一个或多个客户端设备;
由所述第二屏幕设备通过以下操作使用来自所述控制服务器的所述配对信息来更新所述设备列表:对于所述第一屏幕应用已经与其手动配对的所述一个或多个客户端设备中的每个客户端设备向所述设备列表添加条目;
由所述第二屏幕设备使用所更新的设备列表来执行设备去重,以生成所述第一屏幕应用的去重条目:收集在所更新的设备列表中通过所述应用标识符与所述第一屏幕应用相关联的条目,以及对于所述应用标识符,在会话界面中创建单个设备条目,所述单个设备条目被映射至所述多个耦合协议和/或与所述应用标识符相关联的手动配对;和
由所述第二屏幕设备在用户界面中呈现所述第一屏幕应用的所述去重条目以使得第二屏幕应用的用户能够选择用于参与会话的设备。
14.根据权利要求13所述的非暂时性计算机可读介质,其中,由所述第二屏幕设备基于所述发现来提供所述设备列表包括:
针对所述多个耦合协议中的每一个向所述设备列表添加条目,其中每个所添加的条目包括所述第一屏幕应用的所述应用标识符和所述多个耦合协议中的相应耦合协议的标识符,其中,所述第一屏幕应用的所述应用标识符由所述第一屏幕应用生成,并且响应于所述第二屏幕设备的发现请求而被提供给所述第二屏幕设备。
15.如权利要求13所述的非暂时性计算机可读介质,其中,所述第一屏幕应用的所述配对信息识别所述第一屏幕应用使用密码已经手动配对的一个或多个客户端设备。
16.根据权利要求13所述的非暂时性计算机可读介质,其中,每个所添加的条目包括所述第一屏幕应用的所述应用标识符和带有手动配对的指示的相应客户端设备的标识符。
17.一种用于促进第一屏幕设备和第二屏幕设备之间的互操作性的系统,所述系统包括:
存储器;和
处理器,所述处理器与所述存储器耦合并且被配置为:
发现在所述第一屏幕设备上操作的、由应用标识符标识的第一屏幕应用和可用于连接到所述第一屏幕设备的多个耦合协议;
基于所述发现来提供设备列表,所述设备列表包括每个与所述第一屏幕应用相关联的多个条目以及所述多个耦合协议中的相应耦合协议;
从控制服务器获得所述第一屏幕应用的配对信息,所述配对信息描述已经与所述第一屏幕应用手动配对的一个或多个客户端设备;
通过以下操作使用来自所述控制服务器的所述配对信息来更新所述设备列表:对于所述第一屏幕应用已经与其手动配对的所述一个或多个客户端设备中的每个客户端设备向所述设备列表添加条目;
使用所更新的设备列表来执行设备去重,以通过以下操作来生成所述第一屏幕应用的去重条目:收集在所更新的设备列表中通过所述应用标识符与所述第一屏幕应用相关联的条目,以及对于所述应用标识符,在会话界面中创建单个设备条目,所述单个设备条目被映射至所述多个耦合协议和/或与所述应用标识符相关联的手动配对;和
在用户界面中呈现所述第一屏幕应用的所述去重条目以使得第二屏幕应用的用户能够选择用于参与会话的设备。
18.根据权利要求17所述的系统,其中,与所述第一屏幕应用相关联的所述多个条目中的每一个包括所述第一屏幕应用的所述应用标识符以及所述多个耦合协议中的相应的耦合协议的标识符,所述第一屏幕应用的所述应用标识符由所述第一屏幕应用生成,并且响应于所述第二屏幕设备的发现请求而被提供给所述第二屏幕设备。
19.根据权利要求17所述的系统,其中,所述第一屏幕应用的配对信息识别所述第一屏幕应用使用密码已经手动配对的一个或多个客户端设备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010678646.0A CN111935236B (zh) | 2015-02-03 | 2016-01-20 | 促进屏幕设备与客户端设备间互操作性的方法、设备和介质 |
Applications Claiming Priority (5)
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 |
CN202010678646.0A CN111935236B (zh) | 2015-02-03 | 2016-01-20 | 促进屏幕设备与客户端设备间互操作性的方法、设备和介质 |
PCT/US2016/014011 WO2016126418A1 (en) | 2015-02-03 | 2016-01-20 | Interoperability of discovery and connection protocols between client devices and first screen devices |
CN201680008576.XA CN107211046B (zh) | 2015-02-03 | 2016-01-20 | 促进第一屏幕设备与客户端设备间互操作性的方法、设备和计算机可读存储介质 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680008576.XA Division CN107211046B (zh) | 2015-02-03 | 2016-01-20 | 促进第一屏幕设备与客户端设备间互操作性的方法、设备和计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111935236A CN111935236A (zh) | 2020-11-13 |
CN111935236B true CN111935236B (zh) | 2023-07-25 |
Family
ID=56554964
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010678646.0A Active CN111935236B (zh) | 2015-02-03 | 2016-01-20 | 促进屏幕设备与客户端设备间互操作性的方法、设备和介质 |
CN201680008576.XA Active CN107211046B (zh) | 2015-02-03 | 2016-01-20 | 促进第一屏幕设备与客户端设备间互操作性的方法、设备和计算机可读存储介质 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680008576.XA Active CN107211046B (zh) | 2015-02-03 | 2016-01-20 | 促进第一屏幕设备与客户端设备间互操作性的方法、设备和计算机可读存储介质 |
Country Status (8)
Country | Link |
---|---|
US (2) | US9992307B2 (zh) |
EP (2) | EP3254446B1 (zh) |
JP (1) | JP6545824B2 (zh) |
KR (2) | KR101986839B1 (zh) |
CN (2) | CN111935236B (zh) |
DE (1) | DE112016000587T5 (zh) |
GB (1) | GB2552106A (zh) |
WO (1) | WO2016126418A1 (zh) |
Families Citing this family (9)
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 | 北京小米移动软件有限公司 | 一种信息交互的方法、装置及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1476568A (zh) * | 2000-11-20 | 2004-02-18 | ���˹���Ѷ��� | 更新兴趣的方法 |
CN102823267A (zh) * | 2010-03-31 | 2012-12-12 | 斯凯普公司 | 电视装置 |
CN103430137A (zh) * | 2010-10-01 | 2013-12-04 | Flex Electronics ID Co.,Ltd. | 双屏幕应用程序行为 |
EP2779709A2 (en) * | 2013-03-14 | 2014-09-17 | Samsung Electronics Co., Ltd | Application connection for devices in a network |
CN104301400A (zh) * | 2014-09-28 | 2015-01-21 | 四川长虹电器股份有限公司 | 基于Samba协议的多屏协同及资源共享方法 |
Family Cites Families (21)
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 |
US7421471B2 (en) * | 2002-05-17 | 2008-09-02 | Sony Computer Entertainment America Inc. | Configuration switching: dynamically changing between network communication architectures |
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 |
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 |
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 |
US9992307B2 (en) * | 2015-02-03 | 2018-06-05 | Google Llc | Interoperability of discovery and connection protocols between client devices and first screen devices |
-
2015
- 2015-02-03 US US14/613,229 patent/US9992307B2/en active Active
-
2016
- 2016-01-20 GB GB1714105.2A patent/GB2552106A/en not_active Withdrawn
- 2016-01-20 EP EP16746951.9A patent/EP3254446B1/en active Active
- 2016-01-20 JP JP2017558623A patent/JP6545824B2/ja active Active
- 2016-01-20 CN CN202010678646.0A patent/CN111935236B/zh active Active
- 2016-01-20 WO PCT/US2016/014011 patent/WO2016126418A1/en active Application Filing
- 2016-01-20 CN CN201680008576.XA patent/CN107211046B/zh active Active
- 2016-01-20 KR KR1020177023903A patent/KR101986839B1/ko active IP Right Grant
- 2016-01-20 DE DE112016000587.3T patent/DE112016000587T5/de not_active Withdrawn
- 2016-01-20 KR KR1020197015844A patent/KR102030549B1/ko active IP Right Grant
- 2016-01-20 EP EP19195457.7A patent/EP3606013B1/en active Active
-
2018
- 2018-06-04 US US15/997,608 patent/US10771592B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1476568A (zh) * | 2000-11-20 | 2004-02-18 | ���˹���Ѷ��� | 更新兴趣的方法 |
CN102823267A (zh) * | 2010-03-31 | 2012-12-12 | 斯凯普公司 | 电视装置 |
CN103430137A (zh) * | 2010-10-01 | 2013-12-04 | Flex Electronics ID Co.,Ltd. | 双屏幕应用程序行为 |
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 | 三星电子株式会社 | 用于网络中的装置的应用程序连接 |
CN104301400A (zh) * | 2014-09-28 | 2015-01-21 | 四川长虹电器股份有限公司 | 基于Samba协议的多屏协同及资源共享方法 |
Also Published As
Publication number | Publication date |
---|---|
GB201714105D0 (en) | 2017-10-18 |
US20180288193A1 (en) | 2018-10-04 |
CN107211046B (zh) | 2020-08-11 |
JP6545824B2 (ja) | 2019-07-17 |
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 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111935236B (zh) | 促进屏幕设备与客户端设备间互操作性的方法、设备和介质 | |
US20240031426A1 (en) | Cross Device Application Discovery And Control | |
KR102452780B1 (ko) | 크로스 디바이스 작업 연속성 | |
JP5719453B2 (ja) | マルチユーザ装置のためのメッセージプッシュ通知クライアントの改良 | |
JP5819953B2 (ja) | 多数の体験モジュールを含むアプリケーション | |
JP5947314B2 (ja) | アドホックファイル共有 | |
US10187474B2 (en) | Method and device for resource sharing between devices | |
US7433915B2 (en) | System and method for controlling communication | |
AU2013390850B2 (en) | Synchronizing device association data among computing devices | |
KR20150013860A (ko) | 클라이언트 없는 클라우드 컴퓨팅 | |
TW200523741A (en) | Simple and dynamic configuration of network devices | |
US8943217B2 (en) | Systems and methods for operating an appliance control device for an appliance | |
JP2014007610A (ja) | コンテンツ受信装置、コンテンツ受信方法、およびコンテンツ受信システム | |
GB2504725A (en) | Resource sharing between devices |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |