交互式云游戏的方法、设备和系统转让专利

申请号 : CN201980029685.3

文献号 : CN112074330B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 多夫·齐姆林托马斯·恩德斯马修·罗杰斯古鲁达斯·索马德尔杰森·皮

申请人 : 谷歌有限责任公司

摘要 :

本文描述的各种实施方式包括用于交互式云游戏的方法、设备和系统。在一个方面中,与处理器和存储应用程序的存储器的接口设备被用于云游戏。接口设备包括用于在接口设备、游戏控制器和远程游戏服务器之间接收和/或传送消息和媒体流的通信模块。该接口设备进一步包括输出模块,该输出模块被配置成将应用的输出提供给与该接口设备耦合或集成的显示设备的输入。该应用被配置成实现第一模式,在该第一模式中,接口设备处理并显示与由游戏控制器所传送的所有消息基本上相关联的输出;和第二模式,在该第二模式中,接口设备处理并显示来自游戏控制器的消息的预定义子集并显示来自游戏服务器的游戏媒体流。

权利要求 :

1.一种用于云游戏的接口设备,包括:

一个或多个处理器;

存储器,所述存储器存储一个或多个程序以供所述一个或多个处理器执行,所述一个或多个程序包括应用;

通信设备,用于在下述之间接收和/或传送消息和媒体流:所述接口设备和游戏控制器;和

所述接口设备和远离所述接口设备的游戏服务器;

输出设备,所述输出设备被配置成向与所述接口设备耦合或集成的显示设备的输入提供所述应用的输出;

所述应用被配置成:

实现第一模式,在所述第一模式中所述接口设备处理并显示与由所述游戏控制器所传送的所有消息相关联的输出;和实现第二模式,在所述第二模式中所述接口设备处理并显示来自所述游戏控制器的消息的预定义子集并显示由所述游戏服务器传送的游戏媒体流。

2.根据权利要求1所述的接口设备,其中,所述应用进一步被配置成解码由所述游戏服务器传送的所述游戏媒体流并且将所述游戏媒体流输出到所述显示设备。

3.根据权利要求1所述的接口设备,其中,所述输出设备包括输出端口,所述输出端口被配置成将所述应用的输出传送到耦合至所述接口设备的所述显示设备的输入端口。

4.根据权利要求1所述的接口设备,其中,所述接口设备使用指配给所述游戏控制器的唯一标识符来标识由所述游戏控制器传送的所述消息。

5.根据权利要求1所述的接口设备,其中,所述第一模式进一步包括:从所述游戏控制器接收建立会话的第一请求;

从所述游戏控制器接收与所述游戏控制器相关联的用户证书;

从服务器检索与所述用户证书相对应的授权;以及根据所述授权,检索特定于所述用户的内容。

6.根据权利要求5所述的接口设备,其中,所述特定于所述用户的内容包括在游戏期间代表所述用户的化身。

7.根据权利要求1所述的接口设备,其中,所述接口设备和所述游戏控制器在公共网络上通信地连接。

8.根据权利要求1所述的接口设备,其中,所述游戏媒体流包括音频流,并且所述音频流被所述游戏服务器传送到所述游戏控制器的音频输入,以在与所述游戏控制器相关联的显示设备上显示。

9.一种游戏控制器,包括:

一个或多个处理器;

存储器,所述存储器存储一个或多个程序以供所述一个或多个处理器执行,所述一个或多个程序包括应用;

通信设备,所述通信设备用于在以下之间接收和/或传送消息和媒体流:所述游戏控制器和接口设备;和

所述游戏控制器和远离所述游戏控制器的游戏服务器;并且所述应用被配置成实现:第一模式,在所述第一模式中所述游戏控制器将游戏设置命令传送到所述接口设备;

以及

第二模式,在所述第二模式中所述游戏控制器将游戏玩法命令传送到所述游戏服务器并将所述游戏设置命令的预定义子集传送到所述接口设备。

10.根据权利要求9所述的游戏控制器,其中,所述游戏控制器使用所述游戏控制器上的按钮和/或操纵杆来输入所述设置命令和所述游戏玩法命令。

11.根据权利要求9所述的游戏控制器,其中,所述游戏控制器存储多个用户登录证书,每个证书对应于相应的玩家标识。

12.根据权利要求9所述的游戏控制器,其中,所述游戏控制器存储多个网络证书,每个网络证书对应于所述游戏控制器被用于相应的游戏会话的相应网络。

13.根据权利要求9所述的游戏控制器,其中,所述游戏媒体流包括音频流,并且所述游戏控制器进一步包括用于接收和显示所述音频流的音频设备。

14.一种在游戏系统处执行的方法,包括:接口设备;

游戏控制器;和

游戏服务器,所述游戏服务器远离所述接口设备和所述游戏控制器;

其中,所述接口设备、所述游戏控制器和所述游戏服务器中的每一个包括一个或多个处理器以及存储一个或多个程序以由所述一个或多个处理器执行的存储器;

所述方法包括:

在所述接口设备处:

从所述游戏控制器接收对游戏的选择;

在第一模式下,在没有用户干预的情况下自动处理和显示与由所述游戏控制器所传送的所有消息相关联的输出;并且在第二模式下,在没有用户干预的情况下自动地处理和显示来自所述游戏控制器的消息的预定义子集并实时显示由所述游戏服务器所传送的所述游戏的游戏媒体流;

其中,所述显示包括在与所述接口设备耦合或集成的显示设备上显示;

在所述游戏控制器处:

在所述第一模式下,将控制器命令传送给所述接口设备;和在所述第二模式下,将游戏玩法命令传送到所述游戏服务器并且将所述控制器命令的预定义子集传送到所述接口设备;

在所述游戏服务器处,针对相应的游戏:

从所述游戏控制器接收所述游戏玩法命令;

根据一个或多个接收到的游戏玩法命令的相应子集渲染所述游戏的内容的相应帧;并且将包括所渲染的相应帧的所述游戏的所述游戏媒体流实时传送到所述接口设备。

15.根据权利要求14所述的方法,其中,所述游戏服务器使用不同的端口用于接收所述游戏玩法命令并且传送所述游戏媒体流。

16.根据权利要求14所述的方法,其中,所述游戏控制器存储多个用户登录证书,每个证书对应于相应的玩家标识。

17.根据权利要求14所述的方法,其中,所述游戏控制器被指配唯一标识符,并且所述游戏服务器基于所述唯一标识符将所接收到的游戏玩法指令与所述游戏控制器相关联。

18.根据权利要求14所述的方法,其中,所述游戏控制器被指配唯一标识符,并且所述接口设备基于所述唯一标识符来标识由所述游戏控制器所传送的所述消息。

19.根据权利要求14所述的方法,其中,所述接口设备和所述游戏控制器在公共网络上通信地连接。

说明书 :

交互式云游戏的方法、设备和系统

技术领域

[0001] 这通常涉及计算机技术,包括但不限于用于交互式云游戏的设备、系统和方法。

背景技术

[0002] 游戏控制台是用于游戏和其他娱乐的一种媒体显示设备。一组用户可以聚集在一个装配有游戏控制台的空间中,并且欣赏使用游戏控制台进行流送的电影。对于游戏应用,游戏控制台通常支持数个游戏控制器(例如,多达五个游戏控制器),其同时连接到游戏控制台以玩游戏。但是,当用户决定将游戏会话移至不同位置(例如,移至房子内的其他房间或朋友的房子)时,不得不单个地断电这些游戏控制器和游戏控制台,并且再次进行设置。此外,因为需要先在控制台的硬盘驱动器上安装游戏才能进行玩游戏,所以用户在任何给定时间只能选取有限数量的游戏。此外,较旧的游戏控制台可能没有处理能力来满足较新游戏所要求的需求,从而要求用户不得不不断地升级其游戏控制台。因此,基于控制台的游戏对于用户而言可能是繁琐、耗时且昂贵的。
[0003] 因此,存在对用户能够在不花费大量时间、成本和精力的情况下体验高质量的游戏的需求。用户还应该可以自由选取他们想玩的任何游戏,以及他们想一起玩游戏的人数。

发明内容

[0004] 在本说明书中描述的各种实施方式旨在提供一种游戏应用平台,该平台能够实现有效和便携式的游戏体验。具体而言,将托管启用游戏的软件的接口设备(例如,诸如谷歌公司的CHROMECAST的硬件加密狗)用于云游戏。接口设备与游戏服务器进行交互以访问游戏,并从游戏服务器(例如,实时)流送游戏媒体内容(例如,音频和/或视觉内容)以显示在显示设备(例如,电视),该显示设备耦合到接口设备或与接口设备集成在一起。接口设备还与启用在线游戏的游戏控制器和/或电子设备同时进行通信。
[0005] 根据本申请的一些实施方式,提供即时游戏玩法的启用云的游戏控制器被用于游戏。游戏控制器与本地网络(例如,Wifi)上的接口设备通信。游戏控制器将消息(例如,游戏设置命令)传送到接口设备。在游戏玩法期间,游戏控制器将游戏输入直接传送到游戏服务器。因此,游戏控制器可作为便携式独立设备操作,其消除了对游戏控制台的需求,使其轻松且便于从一个位置移动到另一个位置(例如,在家庭环境、宿舍、办公室内或在房子之间等等)。
[0006] 在一些实施方式中,游戏控制器存储多个玩家证书和/或多个网络证书。游戏控制器可以在许多不同的位置和多玩家游戏设置中使用。
[0007] 另外,在一些实施方式中,接口设备与同一网络上的多个游戏控制器和/或多个电子设备同时连接(例如,与其配对)。
[0008] 在一些实施方式中,通过与游戏控制器的用户相关联(例如,在设置过程期间)的设备标识(例如,游戏控制器标识)和/或客户端证书来标识游戏控制器。
[0009] 在一些实施方式中,通过设备标识和/或客户机证书(例如,接口设备标识)来识别接口设备。在一些实施方式中,游戏控制器存储其已通信连接到(例如,配对)的每个接口设备的标识符。
[0010] 在一些实施方式中,游戏控制器用于家庭中。游戏控制器在设置(例如,供应过程)期间与家庭及其用户(例如,家庭成员)相关联。在一些实施方式中,启用云游戏的应用(例如,GOOGLE Home应用)用于供应游戏控制器。在一些实施方式中,家庭和它的用户由证书识别,该证书被验证以使能够通过游戏服务器访问购买的游戏和其他权利。
[0011] 在一些实施方式中,游戏控制器从玩家接收语音输入(例如,命令),并且处理和/或传送语音输入。
[0012] 在一些实施方式中,游戏控制器包括被插入到游戏控制器中的头戴式耳机。音频输入(例如,经由头戴式耳机)被发送到游戏控制器。
[0013] 因此,通过组合如本文公开的接口设备、游戏控制器和云游戏服务器的各种先进技术,游戏体验可以从聚集在一个空间中的用户的游戏玩法扩展到多个玩家(例如,数百名或数千个)的在线交互性游戏玩法。此外,因为用户可以访问包括大型云管理的内容库、渲染、编码和流送资源的云游戏服务和资源,所以他/她不再受游戏控制台的存储和处理能力的束缚。
[0014] 在一方面中,一些实施方式包括接口设备(例如,游戏接口设备),该接口设备包括一个或多个处理器以及存储一个或多个程序以供一个或多个处理器执行的存储器,该一个或多个程序包括应用(例如,游戏应用和流应用)。接口设备包括用于在接口设备与游戏控制器之间以及在接口设备与远离接口设备的游戏服务器之间接收和/或传送消息和媒体流的通信模块。该接口设备进一步包括输出模块,该输出模块被配置成将应用的输出提供给与该接口设备耦合或集成在一起的显示设备的输入。该应用被配置成实现第一模式(例如,菜单模式),其中接口设备处理并显示与游戏控制器所传送的所有消息基本上相关联的输出。该应用(例如,游戏应用)进一步被配置成实现第二模式(例如,游戏玩法模式),其中接口设备处理并显示来自游戏控制器的消息的预定义子集,并显示由游戏服务器传送的游戏媒体流(例如,流媒体应用)。在一些实施方式中,通信模块可以是无线电传输模块、通信总线和有线连接中的一个或多个。在一些实施方式中,游戏控制器接近接口设备。在一些实施方式中,输出模块包括输出端口,该输出端口被配置成向与接口设备耦合或集成在一起的显示设备的输入端口提供(例如,传送)应用的输出。在一些实施方式中,该应用进一步被配置成将由游戏服务器传送的游戏媒体流解码并输出到显示设备。在一些实施方式中,游戏媒体流被实时显示。在一些实施方式中,流由游戏服务器生成以指示游戏会话的游戏玩法状态。在一些实施方式中,在第二模式下,接口设备忽视来自游戏控制器的大多数命令(例如,仅来自游戏控制器上的快速菜单按下按钮的命令被发送到接口设备)。
[0015] 在另一方面,一些实施方式包括一种游戏控制器,该游戏控制器包括一个或多个处理器以及存储一个或多个程序以供一个或多个处理器执行的存储器,该一个或多个程序包括应用。游戏控制器包括通信模块,该通信模块用于在游戏控制器与接口设备之间以及在游戏控制器与远离游戏控制器的游戏服务器之间接收和/或传送消息和媒体流。该应用被配置成实现第一模式(例如,菜单模式),在该第一模式下,游戏控制器将游戏设置命令传送到接口设备。该应用进一步被配置成实现第二模式(例如,游戏玩法模式),其中游戏控制器将游戏命令传送给游戏服务器,并将游戏设置命令的预定义子集传送给接口设备。在一些实施方式中,接口设备接近游戏控制器。在一些实施方式中,游戏控制器和接口设备被连接在相同的本地网络上,并且游戏控制器通过相同的本地网络将游戏设置命令传送到接口设备。在一些实施方式中,游戏控制器存储多个用户证书和多个网络证书。在一些实施方式中,通信模块可以是无线电传输模块、通信总线和有线连接中的一个或多个。
[0016] 在一方面,一些实施方式包括一种用于在游戏系统处执行的云游戏的方法。该游戏系统包括接口设备、游戏控制器以及远离该接口设备和游戏控制器的游戏服务器。接口设备、游戏控制器和游戏服务器中的每一个包括一个或多个处理器以及存储一个或多个程序以由一个或多个处理器执行的存储器。该方法包括,在接口设备处:(1)从游戏控制器接收对游戏的选择;(2)在第一模式(例如,菜单模式)下,在没有用户干预的情况下自动处理和显示与游戏控制器传送的所有消息基本上相关联的输出;(3)在第二模式(例如,游戏玩法模式)中,在没有用户干预的情况下自动地处理和显示来自游戏控制器的消息的预定义子集,并且实时显示由游戏服务器传送的游戏的游戏媒体流;其中,显示包括在与接口设备耦合或集成在一起的显示设备上显示。该方法还包括在游戏控制器处:(4)在第一模式下向接口设备传送控制器命令(例如,游戏设置命令);以及(5)在第二模式中,将游戏玩法命令传送到游戏服务器,并且将控制器命令的预定义子集传送到接口设备。该方法进一步包括在游戏服务器处针对相应的游戏:(6)从游戏控制器接收游戏命令;(7)根据一个或多个接收到的命令的相应子集渲染游戏内容的相应帧;以及(8)实时地向接口设备传送包括所渲染的相应帧的游戏的游戏媒体流。在一些实施方式中,游戏控制器接近接口设备。
[0017] 在一个方面,一些实施方式包括在第一电子设备(例如,接口设备)处执行的游戏方法,该第一电子设备被耦合到显示设备(例如,电视)或与其集成在一起,并且具有一个或多个处理器和存储器,其存储一个或多个程序以由一个或多个处理器执行。该方法包括:(1)从第二电子设备(例如,游戏控制器)接收第一用户输入(例如,用户选择游戏控制器上的按钮)以启动云游戏会话;响应于接收到第一用户输入:(2A)连接到游戏服务器上的游戏服务;(2B)在没有用户干预的情况下自动识别与用户相关联的默认玩家标识(例如,该标识与玩家或家庭账户相关联);(2C)连同游戏服务器使用默认玩家标识启动云游戏会话。在一些实施方式中,第一电子设备和第二电子设备彼此接近。在一些实施方式中,第一电子设备和第二电子设备可通信地连接。在一些实施方式中,第一电子设备和第二电子设备在公共网络上(例如,有线或Wifi)。在一些实施方式中,第二电子设备在通电后自动连接到Wifi网络,并自动与第一(例如,默认)电子设备配对。在一些实施方式中,游戏控制器存储默认玩家(例如,用户)标识。
[0018] 在另一方面,一些实施方式包括一种在与显示设备(例如,电视)耦合或集成在一起的第一电子设备(例如,接口设备)处执行的云游戏的方法,该第一电子设备具有一个或多个处理器和存储一个或多个程序以供一个或多个处理器执行的存储器。该方法包括:(1)从第二电子设备(例如,游戏控制器)接收第一用户输入(例如,用户选择游戏控制器上的按钮)以启动云游戏会话,其中,第一用户输入包括游戏选择;响应于接收到的输入:(2)连接到游戏服务器上的游戏服务;(3)在没有用户干预的情况下在显示设备上自动显示登录屏幕,该登录屏幕包括多个玩家标识(例如,用户/玩家名称和/或代表玩家的化身);(4)从第二电子设备接收对来自多个玩家标识中的第一玩家标识的选择;(5)使用所选择的第一玩家标识登录游戏服务;以及(6)连同游戏服务器启动云游戏会话并发起游戏,包括:(6A)从游戏服务器获取游戏的游戏媒体流;(6B)对游戏媒体流进行解码;以及(6C)将所解码的游戏媒体流输出到显示设备,其中,游戏媒体流是由游戏服务器响应于从第二电子设备直接传送到游戏服务器的游戏输入而生成的。第一电子设备和第二电子设备通信连接。在一些实施方式中,第一电子设备和第二电子设备在公共网络上。在一些实施方式中,第一电子设备和第二电子设备彼此接近。在一些实施方式中,该方法包括安全模式,该安全模式要求用户在使用所选择的第一玩家标识登录游戏服务之前(例如,使用语音输入或键入密码)验证他/她的标识。在一些实施方式中,该方法包括多个第二电子设备,每个第二电子设备存储至少一个玩家标识。
[0019] 在又一方面,一些实施方式包括一种用于在第二电子设备(例如,游戏控制器)处执行的云游戏的方法,该第二电子设备具有一个或多个处理器以及存储一个或多个程序以供一个或多个处理器执行的存储器。该方法包括:(1)向多个第一电子设备(例如,接口设备)发送第一输入以启动游戏会话,其中第二电子设备通信地连接到每个第一电子设备,并且每个第一电子设备耦合到相应的显示设备或与其集成在一起;响应于第一输入:(2)使第一电子设备中的第一个第一电子设备在没有用户干预的情况下在第一显示设备上自动显示包括多个玩家标识的登录屏幕;以及(3)使第一电子设备中的第二个第一电子设备在没有用户干预的情况下在第二显示设备上自动显示包括指令的通知;(4)向第一电子设备中的第一个第一电子设备发送第二输入,该第二输入包括对来自多个玩家标识中的第一玩家标识的选择;响应于第二输入:(5)在第一电子设备中的第一个第一电子设备上启动游戏会话。在一些实施方式中,第一电子设备中的第一个第一电子设备和第二个第一电子设备位于同一房屋的不同区域(例如,家居环境的客厅和卧室)。在一些实施方式中,第二电子设备中的第一个第二电子设备是默认的第二电子设备。在一些实施方式中,第二电子设备中的第一个第二电子设备是最近使用的设备。在一些实施方式中,第二电子设备和第一电子设备中的每一个在公共网络上。
[0020] 在又一方面,一些实施方式包括一种计算系统,该计算系统包括一个或多个处理器和耦合至一个或多个处理器的存储器,该存储器存储被配置成由一个或多个处理器执行的一个或多个程序,所述一个或者多个程序包括用于执行此处描述的任何方法的指令。
[0021] 在又一方面,一些实施方式包括存储用于由计算系统的一个或多个处理器执行的一个或多个程序的非暂时性计算机可读存储介质,该一个或多个程序包括用于执行本文所述的任何方法的指令。
[0022] 根据本说明书中的描述和附图,其他实施例和优点对于本领域技术人员而言是显而易见的。

附图说明

[0023] 为了更好地理解各种描述的实施方式,应连同以下附图参考以下实施方式的描述,在附图中,相同的附图标记指代整个附图中的相应部分。
[0024] 图1A是根据一些实施方式的示例游戏环境。
[0025] 图1B是根据一些实施方式的另一示例游戏环境。
[0026] 图1C是根据一些实施方式的又一示例游戏环境。
[0027] 图1D是根据一些实施方式的又一示例游戏环境。
[0028] 图2A图示用于启动游戏门户用户界面(UI)的示例操作序列。
[0029] 图2B图示启动游戏会话的示例操作序列。
[0030] 图3是图示根据一些实施方式的代表性游戏控制器的框图。
[0031] 图4是图示根据一些实施方式的代表性接口设备的框图。
[0032] 图5是图示根据一些实施方式的代表性服务器系统的框图。
[0033] 图6A至图6C图示根据一些实施方式的用于设置和供应图3的游戏控制器的示例性过程。
[0034] 图7A至图7C图示根据一些实施方式的游戏控制器与接口设备之间的示例性交互。
[0035] 图8A至8B图示根据一些实施方式的游戏控制器与接口设备之间的另一示例性交互。
[0036] 图9A至图9F图示根据一些实施方式的两个游戏控制器与接口设备之间的示例性交互。
[0037] 图10A至图10B图示根据一些实施方式的游戏控制器102与两个接口设备之间的示例性交互。
[0038] 图11A至图11D图示根据一些实施方式的游戏控制器102与两个接口设备之间的另一示例性交互。
[0039] 图12A至图12C是根据一些实施方式的用于云游戏的方法的流程图表示。
[0040] 图13A至图13E是根据一些实施方式的用于云游戏的方法的另一流程图表示。
[0041] 图14A至图14B是根据一些实施方式的用于云游戏的方法的又一流程图表示。
[0042] 贯穿附图的数个视图,相似的附图标记指代相应的部分。

具体实施方式

[0043] 现在将详细参考实施方式,其示例在附图中图示。在下面的详细描述中,阐述了许多具体细节以便提供对所描述的各种实施方式的透彻理解。然而,对于本领域的普通技术人员将显而易见的是,可以在没有这些具体细节的情况下实践各种所描述的实施方式。在其他情况下,未详细描述公知的方法、过程、组件和网络,以免不必要地混淆实施方式的方面。
[0044] 诸如Google的CHROMECAST设备的显示接口设备(在本文中称为“接口设备”、“流设备”或“投放设备”)可用于将媒体内容从本地或远程媒体源(例如,连接互联网的媒体服务或本地数字录像机(DVR))流送到耦合显示器。接口设备可以在耦合显示器上显示用户界面,该用户界面投射在与接口设备通信耦合的用户设备上运行的应用(例如,移动设备用户可以将在移动设备上播放的YOUTUBE视频经由耦合的CHROMECAST设备投射到大显示器,或膝上型计算机用户可以经由CHROMECAST设备将CHROME浏览器窗口投射到大显示器上)。这些接口设备的功能性可以进一步被扩展以流送来自游戏服务器的云游戏内容。接口设备可以进一步与存储用户和网络凭据的启用云的游戏控制器组合,以创建有效的便携式游戏体验。
[0045] 例如,Julia的家包括两个分别耦合到客厅电视和卧室电视的接口设备。Julia使用她的启用云的游戏控制器在客厅电视上玩自己喜欢的在线游戏。在她的游戏会话期间,她母亲的朋友们来拜访,并且他们想在客厅电视上观看足球比赛。Julia暂停她的游戏会话,并且将她的游戏控制器和她一起带到卧室。卧室中的接口设备(例如,使用音频和/或其他提示)检测Julia和游戏控制器在卧室中的存在,并开启卧室电视,该电视显示示出Julia已经留下的游戏的暂停状态的屏幕。Julia取消暂停屏幕并恢复她的游戏会话。Julia与她的游戏控制器一起拜访她的朋友Brandon。在Brandon的房子处,Brandon给予Julia他家Wifi的证书。Julia将她的游戏控制器连接到Brandon的网络,并将她的游戏控制器与Brandon的接口设备配对。Brandon加入Julia的游戏会话,并且他们都使用他们相应的游戏控制器来玩游戏。Julia下次拜访Brandon时,她的游戏控制器会自动连接到Brandon的网络。
[0046] 图1A是根据一些实施方式的示例游戏环境100。游戏环境100包括游戏控制器102、一个或多个电子设备104以及耦合到本地网络110上的显示设备108的接口设备106。在一些实施方式中,本地网络110使用有线(例如,以太网)和/或无线(例如,Wi‑Fi)通信将一个或多个设备联网。例如,本地网络110包括将一个或多个设备联网到本地网络110中的路由器设备。本地网络110通信地耦合到通信网络112(例如,广域网、互联网)。
[0047] 游戏控制器102和接口设备106通信地耦合。游戏控制器102和接口设备106可以通过本地网络110和/或直接(例如,经由蓝牙或其他无线通信)彼此通信。在一些实施方式中,游戏控制器102和接口设备106彼此是本地的(例如,在同一房间、在同一房子中等)。接口设备106耦合到一个或多个可以输出视觉和/或音频内容的显示设备108(例如,显示设备108包括电视、显示监视器、平板电脑、具有显示屏的计算机/笔记本电脑、音响系统、扬声器等)。接口设备106被配置成将内容输出到显示设备108。
[0048] 游戏控制器102包括并且可以运行一个或多个应用。在一些实施方式中,游戏控制器102包括被配置成连同接口设备106操作的一个或多个应用。在一些实施方式中,应用包括接口设备应用和游戏应用。接口设备应用用于将游戏控制器102与接口设备106配对,并用于对接口设备106进行配置。
[0049] 在一些实施方式中,应用包括用于云游戏的游戏应用。游戏应用用于从游戏控制器102向接口设备106传送消息(例如,游戏设置命令),并且被用于在游戏会话期间从游戏控制器102向游戏服务器(例如,服务器系统114)传送游戏输入(例如,游戏玩法命令)。在一些实施方式中,使用游戏控制器102的按钮、方向键和/或操纵杆的组合将设置和游戏玩法命令传送到接口设备106的游戏应用和/或服务器系统114。在一些实施方式中,设置和游戏玩法命令是由游戏控制器102的用户(也称为“玩家”)发出并传送到接口设备106和/或服务器系统114的语音命令。
[0050] 在一些实施方式中,用户可以通过按下游戏控制器102上的按钮(例如,“开始”或“主页”按钮)来发起游戏,其向接口设备106发送信号以启动显示在显示设备108上的游戏门户用户界面(UI)。然后,用户可以选择游戏门户UI上的游戏以发起游戏启动(例如,通过按下另一个按钮)。在图2中进一步详细介绍启动游戏门户UI和发起游戏会话的过程。
[0051] 游戏环境100包括一个或多个电子设备104(例如,104‑1和/或104‑2)。电子设备104和接口设备106通信地耦合。电子设备104和接口设备106可以通过本地网110和/或直接(例如,经由蓝牙或其他无线通信)彼此通信。在一些实施方式中,电子设备104和接口设备
106彼此是本地的(例如,在同一房间、在同一房子中等)。
[0052] 电子设备104是包括并且可以运行一个或多个应用的设备。在一些实施方式中,电子设备104是智能电话、平板设备、膝上型计算机或笔记本计算机、台式计算机或多媒体设备。
[0053] 在一些实施方式中,电子设备104包括被配置成连同接口设备106进行操作的一个或多个应用。在一些实施方式中,应用包括接口设备应用(例如,图3的接口设备应用344),用于将电子设备104与接口设备106配对并对接口设备106的应用进行配置。应用还包括可以将相关内容投射到接口设备106的一个或多个应用。在一些实施方式中,通过(例如,经由本地网络110)将数据/内容直接发送到接口设备106和/或通过将接口设备106定向到远程位置(例如,通用资源定位符(“URL”)或到服务器系统处的位置的其他链接),应用可以将数据和/或内容投射到接口设备106,接口设备106能够流送或者以其它方式接收来自该远程位置的数据/内容。接口设备106从应用和/或远程位置接收数据/内容,并将与接收到的数据/内容相对应的视觉和/或音频内容输出到显示设备108。
[0054] 在一些实施方式中,应用包括游戏应用(例如,图3中的游戏应用346),用于向接口设备106传送消息(例如,游戏设置命令)并且用于在游戏会话期间将游戏输入(例如,游戏玩法命令)从电子设备104传送到游戏服务器(例如,服务器系统114)。在一些实施方式中,使用与电子设备104集成的输入设备(例如,膝上型计算机104‑2的键盘和/或鼠标)将设置和游戏命令发送到接口设备106和/或服务器系统114。
[0055] 在一些实施方式中,应用进一步包括用于在电子设备104上实现一个或多个标准化游戏控制器配置、模板等的控制器应用。每个标准化控制器配置都在电子设备104上以一些方式配置输入设备和/或传感器以实现虚拟控制器。使用哪种标准化控制器配置可能会因游戏和/或电子设备104的类型而变化。例如,如果电子设备104是带有触摸屏的移动设备(例如,104‑1),则使用标准化控制器配置,其实现在触摸屏上显示并利用触摸屏的虚拟控制器垫。虚拟控制器板可以包括虚拟按钮、虚拟方向键和/或虚拟操纵杆。作为另一示例,如果电子设备104是具有物理键盘的膝上型计算机或台式计算机(例如,104‑2),则可以使用将物理键盘的键映射到控制器功能的标准化控制器配置。作为进一步的示例,在包括传感器(例如,加速度计)的电子设备104上并且对于使用电子设备104的运动作为输入的游戏,使用标准化控制器配置,其将电子设备104转变为运动控制器,其可选地具有显示在触摸屏上的一个或多个虚拟按钮。
[0056] 接口设备106通信地连接到游戏控制器102和/或电子设备104以及显示设备108。接口设备106包括并且可以运行一个或多个应用。在一些实施方式中,接口设备106包括一个或多个应用,该一个或多个应用被配置成连同游戏控制器102和/或电子设备104进行操作。
[0057] 在一些实施方式中,一个或多个应用包括游戏应用,用于接收和处理来自游戏控制器102和/或电子设备104的消息(例如,设置命令),并在显示器上显示与命令相关联的输出。在一些实施方式中,游戏应用进一步实时接收由游戏服务器(例如,服务器系统114)传送的游戏媒体流,并且将其解码并输出到显示设备108。在一些实施方式中,接口设备106包括一个或多个用于处理设置命令和游戏媒体流的模块,如将在图4中描述的。
[0058] 在一些实施方式中,接口设备106是投射设备(例如,Google公司的CHROMECAST)、硬件加密狗、流送设备或以其它方式包括流送功能和/或投射功能的设备。
[0059] 在一些实施方式中,接口设备106的输出连接到显示设备108的输入(例如,HDMI端口、USB端口等)。
[0060] 在游戏环境100中,游戏控制器102、接口设备106和电子设备104通过通信网络112通信地耦合到服务器系统114和认证系统125。在一个实施方式中,至少一些设备(例如,游戏控制器102、电子设备104、接口设备106和显示设备108)通信耦合到本地网络110,该本地网络110通信耦合到一个或多个通信网络112。在一些实施方式中,设备(例如,游戏控制器102、电子设备104、接口设备106和显示设备108)彼此通信地耦合(例如,无需经过本地网络
110或通信网络112)。在一些实施方式中,认证系统125是服务器系统114的一部分。
[0061] 在一些实施方式中,接口设备106的功能性与显示设备108组合(即,包含在其中或包括在其中)(还参见图1D)。例如,根据一些实施方式,显示设备108是电视显示器或具有处理模块的计算机监视器,该处理模块托管包括游戏应用的一个或多个应用。在另一示例中,显示器108与具有一体式显示器的诸如笔记本电脑或平板电脑的计算设备相关联,其处理器托管包括游戏应用的一个或多个应用。在一些实施方式中,显示设备108托管一个或多个功能性,包括启用在线游戏的功能性。在一些实施方式中,接口设备106的功能性在游戏控制器102和显示设备108之间被划分(例如,分离)。
[0062] 在一些实施方式中,服务器系统114是交互式云游戏平台,并提供游戏内容和处理能力。在一些实施方式中,服务器系统114在任何给定时间点服务于成千上万的用户(“玩家”)。
[0063] 服务器系统114托管在线交互式游戏平台以支持客户端设备(在本应用中,游戏控制器102、电子设备104和接口设备106统称为服务器系统114的“客户端设备”)玩一个或多个游戏应用。具体地,服务器系统114包括与客户端设备相关联的多个用户账户,并且与一个或多个游戏应用中的每一个相关联地认证客户端设备的用户。服务器系统114在加入与场景相关联的相应游戏会话的客户端设备102上渲染并刷新在线交互式游戏的场景。在一些实施方式中,服务器系统114可以评估客户端设备的能力和/或服务器系统114与每个客户端设备之间的通信连接的质量,并且自适应地生成用于与客户端设备相关联的游戏会话的同步数据流。通过这些手段,服务器系统114被配置成同时并且以大体上较低的时延来促进在线交互式游戏在两个或更多个客户端设备上的同步游戏会话。
[0064] 在一些实施方式中,服务器系统114包括前端116,其经由通信网络112直接与游戏控制器102、接口设备106和电子设备104对接。前端116接收请求(例如,开始游戏会话的请求)并响应该请求传送信息(例如,发送游戏内容)。在一些实施方式中,前端116被配置成向客户端设备发送数据(例如,数据库更新)。
[0065] 在一些实施方式中,前端116将接收到的请求的子集转发到后端资源124,该后端资源124获得所请求的数据和/或执行所请求的服务。在一些实施方式中,后端资源124可以根据请求存储和/或访问数据(例如,游戏状态数据)。
[0066] 服务器系统114包括直接与媒体流服务器120通信的游戏服务器118。游戏服务器118提供允许无缝游戏玩法的游戏内容和其他功能性(例如,处理能力)。
[0067] 在一些实施方式中,游戏服务器118动态地分配云游戏硬件资源(例如,GPU和编码器资源)并且监视和利用可用于个别终端用户的网络带宽以提供最佳的云游戏体验。在一些实施方式中,游戏服务器118提供多个性能层,包括支持具有高清视频/媒体流的高性能、实时游戏会话的层。
[0068] 在一些实施方式中,游戏服务器118响应于来自玩在线游戏会话的用户的用户命令而动态地生成多个帧。根据用户命令的类型(例如,跳跃、开枪),游戏服务器118确定期望的响应时延、实际的通信和处理时延以及实际传输时延。帧数基于实际传输时延和预定义帧率来计算。结果,通过生成反映命令的效果的帧集合来在在线游戏会话中执行命令。当以预定义帧速率传送时的帧集合占用与实际传输时延相对应的传输时间,并且可以在与预期响应时延相对应的时间内在客户端设备(例如,接口设备106)处接收。
[0069] 根据一些实施方式,游戏服务器118响应于游戏玩法输入来渲染游戏玩法输出。在一些实施方式中,为了最小化用户在游戏玩法期间感知到的时延,游戏控制器102和电子设备104中的每一个都直接与游戏服务器118通信。例如,游戏服务器118直接从游戏控制器102接收游戏命令并根据接收到的命令渲染游戏内容的相应帧。游戏服务器118将关于渲染帧的信息发送到媒体流服务器120,该媒体流服务器120然后将包括相应渲染帧的游戏媒体流实时传送到接口设备106,以在显示设备上显示。
[0070] 在一些实施方式中,游戏服务器118支持不同的订阅模型和/或被配置成提供与对一个或多个实际游戏流几乎没有或没有时延相一致的一个或多个并发的实时游戏玩法和/或评论媒体流(例如,经由移动应用或基于浏览器的程序输出到参与在线/云游戏会话的用户的客户端设备的视频流)。根据一些实施方式,游戏服务器118被配置成生成用于游戏玩法和评论视频的并发媒体流,并且向媒体流服务器120提供用于并发游戏玩法的评论视频。经由媒体流网站(诸如YouTube)向一个或多个用户提供很少或几乎没有时延的此类评论视频。在一些实施方式中,媒体流服务器120进一步管理一个或多个媒体流站点。
[0071] 在一些实施方式中,服务器系统114定期与接口设备106通信以检查玩家是否仍然在线。在一些实施方式中,当游戏服务器(例如,从接口设备106和/或游戏控制器102)未接收到响应时,服务器系统114发出命令以将与玩家相关联的游戏角色设置为待机模式,或从游戏中“踢”角色。
[0072] 在一些实施方式中,服务器系统114包括用于存储用户和会话数据的数据库122。数据库122至少存储与托管在服务器系统114上的一个或多个游戏应用(例如,图3的游戏应用348)中的每一个的用户账户相关联的用户信息。用户信息126的示例包括但不限于用户账户信息(例如,标识和密码)、成员资格类型、偏好和活动历史。在一些实施方式中,服务器系统114存储与使用游戏控制器102玩的在线游戏会话相关联的会话数据。每个在线游戏会话的会话数据的示例包括但不限于帧速率、渲染规格、正常时延要求、GPU分配信息、编码器分配信息、相关会话的标识以及最新状态信息。与用户信息相比,更频繁地访问会话数据。
在一些实施方式中,存储用户信息和会话数据的存储器分别由闪存和随机存取存储器(RAM)组成。
[0073] 在一些实施方式中,服务器系统114支持与游戏应用相关联的直播在线社区。用户(例如,服务的订户)全天参与相应的游戏API平台上的直播事件、锦标赛或活动。直播事件、锦标赛或活动的示例包括出席观看其他用户玩的直播游戏会话、将您的成绩张贴到公共领域(例如,YouTube)以及得到直播提示和指导视频。例如,响应于用户动作,游戏服务器118提供两个或更多个直播流。在将第一游戏流保持在用于游戏玩家的第一客户端设备的第一游戏会话上的同时,服务器系统114还将第二直播评论流(例如,YOUTUBE流)广播到(例如,订户的)一个或多个其他客户端设备。第二直播评论流允许用户与观众共享游戏体验。可选地,第二直播流是玩家的第一客户端设备(例如,显示设备108)的屏幕的再现。服务器系统114可以获得其中玩家解释第一游戏会话的音频流,或者获得玩家播放并解释第一游戏会话的视频流。音频流可选地为观众播放,而第二直播评论流为观众播放。视频流可以可选地以第二直播评论流在嵌入式窗口中被播放。
[0074] 游戏环境100进一步包括认证系统125,该认证系统125包括认证服务126和认证存储128。认证服务126是用作代理并处理与第一方和第三方认证有关的操作的独立服务。认证存储128存储每一个游戏控制器102的设备标识以及关于与每一个游戏控制器102相关联的链接用户的信息。
[0075] 根据一些实施方式,游戏控制器102由(例如,唯一的)设备标识和客户端证书来标识,该客户端证书被游戏控制器用来向远程服务器(例如,向服务器系统114和/或认证系统125)发出认证请求。此外,在一些实施方式中,游戏控制器102为游戏控制器102的每个用户存储证书。作为示例,家庭的各种成员可以使用游戏控制器102进行玩游戏。因此,游戏控制器102为使用其的每个家庭成员存储证书(例如,用户名、登录证书、密码、认证挑战和响应)。因此,游戏控制器102可以链接到其设备标识、客户端证书、用户及其证书(与其相关联)。在一些实施方式中,响应于开始游戏会话的请求,游戏控制器发送关于设备标识、客户端证书和/或用户证书的信息,以由认证服务126针对存储在认证存储128中的信息进行验证。
[0076] 在一些实施方式中,作为链接游戏会话的过程的一部分,服务器系统114访问服务器114系统与每个客户端设备之间的通信连接的质量。
[0077] 在一些实施方式中,服务器系统114测量客户端设备与服务器系统114之间的网络时延。如果所测量的时延高于阈值并且较低时延连接可用,则服务器114可以建议玩家客户端104更改为较低时延连接,或邀请玩家客户端104的玩家用户将玩家客户端104更改为较低时延连接。例如,如果客户端设备是在本地网络110可用的蜂窝无线连接(未示出)上的电子设备104(例如,移动电话),则服务器系统114可以建议电子设备104应通过本地网络110进行连接。在一些实施方式中,时延阈值要求在游戏之间有所不同。例如,一些游戏(例如,动作游戏)在较低时延连接上体验最好,而其他一些游戏(例如,在线棋盘游戏或纸牌游戏)对时延要求不高,并且服务器系统114可以鉴于这些不同的要求进行连接推荐。
[0078] 在一些实施方式中,作为开始游戏会话的电子设备104的一部分,服务器系统114与电子设备104通信以在电子设备104上(例如,使用控制器应用)设置虚拟控制器。在一些实施方式中,这包括服务器系统114评估电子设备104是否具有控制器所需的资源,包括电子设备104是否具有实现虚拟控制器所需的应用和/或电子设备104与服务器114之间的通信连接具有适合于游戏会话的时延(例如,作为上述能力和连接质量评估的一部分)。取决于电子设备104处的可用资源、连接质量和游戏要求,可以在电子设备104处不同地实现控制器。
[0079] 图1B图示根据一些实施方式的另一示例游戏环境130。在许多方面,游戏环境130类似于游戏环境100。游戏环境130与游戏环境100之间的主要区别在于,游戏环境130包括游戏控制器102以及两个接口设备106‑1和106‑2,它们分别耦合到显示设备108‑1和108‑2。游戏控制器102通信地耦合到接口设备106‑1和106‑2中的每一个(例如,与其配对)。
[0080] 在一些实施方式中,游戏控制器102、接口设备106‑1和106‑2以及显示设备108‑1和108‑2驻留在包括本地网络110的本地环境(例如,家居环境、宿舍、办公环境等)。在一些实施方式中,接口设备106‑1和接口设备106‑2位于本地环境的不同区域(例如,在不同的房间中)。
[0081] 根据本申请的一些实施方式,服务器系统114启用云特征,该云特征允许游戏控制器102的用户四处移动,例如,暂停/悬挂在第一接口设备106‑1上执行的第一游戏会话的第一游戏流,并在第二接口设备106‑2上重新开始第一游戏流以继续第一游戏会话。服务器系统114还大规模地支持多个玩家,并提供更丰富、更持久的基于云的世界。服务器系统114使用基于云的系统以在数据库122中存储与相同用户的不同游戏会话或不同用户的不同游戏会话有关的会话数据。因此,通过在家居环境的上下文中应用该示例,游戏控制器102的用户能够使用第一接口设备106‑1(例如,在卧室中)开始游戏玩法,暂停游戏会话,将游戏控制器102带到包括第二接口设备106‑2的位置(例如,客厅),并在客厅中恢复游戏玩法。
[0082] 在一些实施方式中,游戏控制器102存储已经与其进行配对的接口设备106‑1和106‑2中的每一个的标识符。在一些实施方式中,游戏控制器102将接口设备106之一设置为其默认配对设备。
[0083] 在一些实施方式中,游戏环境130可以被扩展为包括三个或更多个接口设备106,每个接口设备106与游戏控制器102通信地耦合。
[0084] 在一些实施方式中,游戏环境130包括两个或更多个游戏控制器102(例如,102‑1和102‑2),每个游戏控制器102通信地耦合到每个接口设备106。
[0085] 图1C图示根据一些实施方式的又一个示例游戏环境160。在许多方面,游戏环境160类似于游戏环境100和130。游戏环境160与游戏环境100和130之间的主要区别在于游戏环境160包括两个游戏控制器和两个接口设备,包括第一本地网络140上的第一游戏控制器
102‑1和第一接口设备106‑3,以及第二本地网络140上的第二游戏控制器102‑2和第二接口设备106‑4。接口设备106‑3和106‑4中的每一个被耦合到输出视觉和/或音频内容的相应显示设备108‑3和108‑4。对于本领域的普通技术人员而言将显而易见的是,游戏环境160可以被扩展为包括游戏控制器102和接口设备106的三个或更多个集合,其中每个集合都在相应本地网络上。
[0086] 在游戏环境160中,游戏控制器102‑1(和接口设备106‑3)远离游戏控制器102‑2。换句话说,游戏控制器102‑1的用户不与游戏控制器102‑1的用户位于同一区域(例如,在同一房间或甚至同一建筑物中)。
[0087] 在一些实施方式中,游戏控制器102的游戏会话被同步以玩相同游戏场景,可选地具有对应于它们相应用户的不同视角。
[0088] 根据一些实施方式,即使游戏控制器102‑1(接口设备106‑1)和游戏控制器102‑2 1(接口设备106‑2)彼此远离,游戏也可以通过启动游戏应用以在每个游戏控制器102(接口设备106)处执行来开始游戏。在一些实施方式中,对于每个游戏控制器102(接口设备106),游戏应用独立地与服务器系统114建立在线游戏会话。两个或更多个游戏控制器102(接口设备106)的在线游戏会话彼此相关(例如,因为它们在游戏应用的相同游戏域中玩),并且因此在游戏应用中共享游戏场景。相关的在线游戏会话彼此同步,并且每个在线游戏会话可选地示出具有对应于相应游戏控制器102(接口设备106)的唯一玩家视角的相同游戏场景。因此,每个游戏控制器102(接口设备106)的用户可以在相应的游戏控制器102(接口设备106)上玩游戏,并影响来自于在其他游戏控制器102(接口设备106)上的在线游戏会话的输出。
[0089] 可替代地,在一些其他实施方式中,在第一游戏控制器102‑1的游戏应用建立在线游戏会话之后,通过邀请消息邀请一个或多个第二游戏控制器102‑2加入在线游戏会话,并且例如,将具有加入在线游戏会话的链接(例如,URL地址)的消息发送给第二接口设备106‑2中的每一个。根据一些实施方式,当第二游戏控制器102‑2加入游戏会话时,服务器系统
114为每个单独的第二游戏控制器102‑2创建单独的游戏会话。相应第二客户端第二游戏控制器102‑2的每个单独的游戏会话与第一第二游戏控制器102‑1的游戏会话同步并与其共享相同的场景,但是可以具有与相应第二客户端第二游戏控制器102‑2相对应的唯一玩家视角。在每个第二游戏控制器102‑2已经加入游戏会话之后(更准确地,开始其相关的游戏会话),用户可以在相应的第二游戏控制器102‑2上玩游戏并且影响在其它游戏控制器102‑
2上运行的游戏会话的输出。
[0090] 图1D图示根据一些实施方式的又一示例游戏环境180,其中一个或多个游戏控制器102‑1经由接口设备106‑3耦合到显示设备108‑3,并且其中一个一个或多个游戏控制器102‑3在不需要接口设备106的情况下直接或经由局域网170耦合到显示设备108‑5。在一些实施方式中,至少接口设备的功能性的子集被包含(即,包括)在显示设备108‑5内。例如,如图1D中所图示,显示设备108‑5被配置成直接与游戏控制器102‑3交互,并经由通信网络112直接与服务器系统114和认证系统125交互。在一些实施方式中,显示设备108是电视显示器或具有处理模块的计算机监视器,该处理模块托管一个或多个应用,包括游戏应用和至少提供接口设备106的功能性的子集或超集的一个或多个应用,使一个或多个控制器102‑3的用户能够参与在线游戏会话。在另一示例中,显示器108‑5与具有一体化显示器的诸如膝上型计算机或平板电脑的计算设备相关联,其处理器托管一个或多个应用,包括游戏应用和至少提供接口设备106的功能性的子集或超集的一个或多个应用。
[0091] 在一些实施方式中,显示设备108‑5和游戏控制器102‑3之间的通信经由本地网络170。在一些实施方式中,显示设备108‑5和游戏控制器102‑3通信地耦合到彼此直接耦合(例如,无需经过本地网络或通信网络112)。例如,游戏控制器102‑3可以经由有线连接或无线连接(例如,蓝牙、蜂窝、直接WiFi或IEEE 802.15.4连接)直接与显示设备108‑5通信。在一些实施方式中,本地网络140和本地网络170是相同的本地网络。这允许两个或更多个玩家在具有或不具有接口设备106‑3的情况下从相同位置(例如,房屋或公共场所)连接到游戏服务器114,以播放相同或不同的游戏标题,其相应的输出显示在相应的显示设备108‑3、
108‑5上。
[0092] 处理流程
[0093] 已经描述了各种游戏环境,现在我们讨论各种处理流程。
[0094] 根据本申请的一些实施方式,游戏控制器被通信地连接到接口设备106(例如,与其配对)并且被通电。用户可以通过按下游戏控制器102上的按钮(例如,“开始”或“主页”按钮)来发起游戏,其向接口设备106发送信号以启动被显示在显示设备108上的游戏门户用户界面(UI)。然后,用户可以在游戏门户UI上选择游戏以发起游戏启动(例如,通过按下另一个按钮)。
[0095] 图2A图示用于启动游戏门户用户界面(UI)的示例操作序列200。在一些实施方式中,操作200中描述的元素和步骤可以从属于图1中所示的元素和流程。其他实施方式也是可能的。
[0096] 在一些实施方式中,游戏门户UI被托管在接口设备106上(例如,图4的游戏门户UI模块437),并且在接口设备106上开始游戏应用时被启动。游戏门户UI使能够访问用户的简档、购买的游戏以及其他权利、游戏目录、朋友、消息传递等。
[0097] 如图2A中所图示,游戏用户界面(UI)门户的启动包括游戏控制器102、接口设备106、服务器系统114和认证系统125之间的通信。序列200(或消息流)可以在游戏环境(例如,游戏环境100、130和/或160)中执行,其中环境是异步且非阻塞的。
[0098] 用户按下游戏控制器102上的按钮(例如,“开始”按钮或“主页”按钮)以开始接口设备106(未示出)上的游戏应用。游戏控制器102使用它从其内部存储检索的默认接口设备标识符向接口设备106上的游戏应用发送(202)“开始投射会话”请求。如果成功,则在游戏控制器102和接口设备106之间建立投射(游戏配对)会话,并且在接口设备106上启动游戏应用。
[0099] 在一些实施方式中,接口设备106确定它连接到的显示设备108的状态(例如,打开或关闭),并且如果显示设备108关闭,则尝试开启显示设备108。在一些实施方式中,接口设备106根据在显示设备108上启用消费电子控制(CEC)的确定来尝试开启显示设备108。
[0100] 游戏控制器102向接口设备106发送(204)认证令牌。在一些实施方式中,认证令牌是自包含的,并且以安全的方式在各方之间传送信息。在一些实施方式中,在与接口设备106配对时,游戏控制器102检索令牌(例如,JSON Web令牌(JWT))。游戏控制器102对其进行解析以提取签名的JWT、客户端证书和中间证书链,并将签名的JWT、其有效期限、客户端证书和中间证书链发送到接口设备106上的游戏应用。
[0101] 用户通过按下游戏控制器102上的第二按钮(可以是相同按钮或不同按钮)来启动(206)游戏门户UI,其将启动命令传送到接口设备106。
[0102] 接口设备106接收启动命令,并从认证系统125请求(208)用户验证。
[0103] 根据一些实施方式,启动命令被接口设备106的游戏应用(例如,图4的游戏应用436)接收,并被中继到接口控制模块(例如,图4的接口控制模块438)。接口控制模块将请求与接收到的认证令牌一起发送到认证服务126(步骤204),以请求对游戏(即,服务器)资源的访问。认证系统125验证游戏控制器102及其链接用户的标识(例如,通过将标识与存储在认证存储128中的信息进行匹配)。
[0104] 如果验证成功,则认证系统125检索(210)用于链接用户的访问令牌(例如,OAUTH令牌)。接口设备106启动(212)提供访问令牌及其到期的游戏门户UI。
[0105] 接口设备106从服务器系统114的前端116请求(214)门户登录页面的用户特定内容(例如,用户的化身、购买的游戏、朋友、消息等)并且从后端资源124请求(214)优化的图像以显示在显示设备108上。在一些实施方式中,请求步骤(步骤216)由游戏门户模块(例如,图4的游戏门户模块437)执行。
[0106] 接口设备106接收(216)所请求的内容,并显示(218)所请求的内容。
[0107] 在一些实施方式中,当游戏门户UI首次启动或重新开始时,接口设备106以默认的第一模式(例如,“菜单”模式)操作,在该模式,来自游戏控制器102的所有输入通过游戏控制器102和接口设备106连接到的本地有线或Wifi网络通过接口设备106的游戏应用被发送到游戏门户UI。
[0108] 在一些实施方式中,如果头戴式耳机连接到(例如,插入到)游戏控制器102,则游戏控制器将“头戴式耳机已连接”消息发送到接口设备106。接口设备106跟踪游戏控制器102设备对头戴式耳机连接的标识。游戏门户UI向游戏控制器102发回关于任何其他用户事件(或其他反馈)的音频消息,然后将其解码并在游戏控制器102上回放。
[0109] 图2B图示根据一些实施方式的用于启动游戏会话的示例操作序列220。在一些实施方式中,操作220中描述的元素和步骤可以从属于图1和2A中所示的元素和流程。其他实施方式也是可能的。
[0110] 如图2B中所示,启动游戏会话涉及游戏控制器102、接口设备106和服务器系统114之间的通信。序列220(或消息流)可以在游戏环境(例如,游戏环境100、130和/或160)中执行,其中环境是异步且非阻塞的。序列220假定(例如,使用图2A的过程)已经启动游戏门户UI。
[0111] 用户使用游戏控制器102在游戏门户UI上选择(222)游戏,并且发起游戏启动请求。
[0112] 接口设备106响应于游戏启动请求,放置(224)所选择的游戏的内容标识,并发出(226)开始游戏会话的请求。
[0113] 在一些实施方式中,游戏启动请求(例如,命令)由接口设备106的游戏应用(例如,图4的游戏应用436)接收,并且被中继到接口控制模块(例如,图4的接口控制模块438),然后将其转发到游戏门户UI模块(例如,图4的游戏UI模块437)。游戏UI模块处理命令以放置所选择的游戏的“内容标识”,并将所选择的游戏的内容标识发回游戏门户UI。游戏门户UI模块在接口控制模块上调用回调,然后发出请求以开始游戏会话。在一些实施方式中,接口设备106内的通信是使用标准化的通信协议(例如,WebSocket)来执行。
[0114] 接口设备106使用所选择的游戏的内容标识(例如,使用图4的接口控制模块438)向服务器系统114请求(228)游戏内容。
[0115] 服务器系统114检查(230A)适当的授权,指配(230B)游戏会话,并加载(230C)游戏。
[0116] 在一些实施方式中,接口设备106使用服务器接口模块(例如,图4的服务器接口模块440)将请求传达到游戏服务器114。服务器接口模块从服务器系统114的前端116请求游戏内容。前端116检查适当的授权并与和游戏服务器118通信的后端资源124进行协调。游戏服务器118指配游戏会话并发起游戏启动。
[0117] 服务器系统114将游戏会话信息(例如,会话ID、游戏服务器供应IP地址、端口等)发送(232)至接口设备106。在一些实施方式中,服务器系统114将游戏会话信息发送到接口设备106的服务器接口模块(例如,图4的服务器接口模块440),其在提供此信息的接口控制模块438上调用回调。
[0118] 响应于游戏会话信息,接口设备106发起(234)与服务器系统114的会话配对请求。服务器系统114开始(236)游戏流和游戏过程(例如,在游戏服务器118和流服务器120上),并立即以会话配对响应进行响应(238)。
[0119] 一旦游戏完成加载,服务器系统114向接口设备106发出(240A)“游戏就绪”消息,其继而将游戏就绪消息中继(240B)到游戏控制器102。
[0120] 在一些实施方式中,游戏加载是由游戏服务器118执行。一旦游戏完成加载,游戏服务器118通知流服务器120准备就绪以接受客户端连接,并发出游戏就绪消息(在这种情况下,“客户端”指代游戏控制器102和接口设备106)。
[0121] 根据本申请中的一些实施方式,由服务器系统114在步骤240A和240B中发出的游戏就绪消息包括用于在流服务器120与客户端之间(即,在流服务器120和接口设备106之间以及在流服务器120和游戏控制器102之间)的用于直接通信的“握手”要约。在一些实施方式中,握手要约以数据报传输层安全性(DTLS)协议消息格式。在一些实施方式中,握手要约包括在流服务器120和客户端之间的握手所必需的值(例如,认证证书的哈希值)。
[0122] 使用握手要约,接口设备106与服务器系统114(例如,与游戏服务器118和流服务器120)建立直接链接(242A)。类似地,游戏控制器102与服务器系统114(即,与游戏服务器118和流服务器120)建立直接链接(242B)。
[0123] 服务器系统114的流服务器120将游戏音频/视频流传送(244)到接口设备106,以在显示设备108上显示。
[0124] 游戏控制器102将游戏输入发送(246)到游戏服务器118,该游戏服务器118基于游戏输入渲染帧并将其发送到流服务器118,该流服务器118将游戏媒体流传送到接口设备106以显示在显示设备108上。另外,游戏控制器102将其它消息发送(248A)到接口设备106,该接口设备106处理该消息并将消息的子集发送(248B)到游戏服务器114。
[0125] 在一些实施方式中,流服务器120包括两个流,一个流用于发送音频/视频,另一个流用于接收输入并发回隆隆声和其他信息。在一些实施方式中,流服务器120从其流客户端(例如,接口设备106)接收新初始化消息,其指示是否应在特定连接信道上发送音频,其中当前音频/视频连接默认为真。
[0126] 在一些实施方式中,如果游戏控制器102在其连接到流服务器102之前检测到头戴式耳机(在步骤242B中),则游戏控制器102将在其与流式服务器120的连接建立之后立即传送该消息。否则,游戏控制器102将在检测到插入的头戴式耳机后立即发送此消息。
[0127] 在一些实施方式中,根据在特定连接信道上接收头戴式耳机连接消息,流服务器120开始在特定连接信道上发送音频,并在另一连接上停止音频。
[0128] 在一些实施方式中,如果从游戏控制器102拔出头戴式耳机,则游戏控制器102将“停止音频”消息发送到流服务器120,从而使流服务器120切换回以通过音频/视频连接发送音频。
[0129] 在一些实施方式中,游戏控制器102包括“快速访问”按钮,该“快速访问”按钮允许用户访问键功能性,而不管用户是在游戏门户UI中还是在玩游戏。
[0130] 在一些实施方式中,接口设备106(以及对应的游戏控制器102)在两种模式下操作,即:(1)第一模式(例如,“菜单”模式),其中所有游戏控制器输入通过本地网络被发送到接口设备106;和(2)第二模式(例如,“游戏”模式),其中,控制器命令的子集由游戏控制器102发送到接口设备106,并且其他的一切被发送到远程游戏(例如,服务器系统114)。在一些实施方式中,控制器命令的子集包括由“快速访问”按钮访问的命令(或功能性)。
[0131] 在一些实施方式中,当游戏门户UI首次被启动时,接口设备106始终处于第一模式。
[0132] 架构
[0133] 现在,我们讨论游戏控制器102、接口设备106和服务器系统114的示例性架构。在一些实施方式中,架构中描述的元素从属于图1和2中的元素和流程。
[0134] 图3是图示根据一些实施方式的游戏环境100、130和160的游戏控制器102以及在操作序列200和220中的框图。游戏控制器102通常包括一个或多个处理器(CPU)302、一个或多个通信接口304、存储器306、以及用于互连这些组件(有时称为芯片组)的一个或多个通信总线308。游戏控制器102包括促进用户输入的一个或多个输入设备310,诸如麦克风312(或语音命令输入单元)、按钮314、方向键315和操纵杆316。在一些实施方式中,游戏控制器102进一步包括姿势识别特征。在一些实施方式中,游戏控制器102的处理能力被集成到可以与输入设备310对接的独立硬件组件中。
[0135] 游戏控制器102还包括促进音频输出和/或视觉输出的一个或多个输出设备318,包括扬声器320、LED 322和/或可选地包括显示器324。游戏控制器102包括用于确定游戏控制器102的位置的位置检测单元334,诸如GPS(全球定位卫星)或其他地理位置接收器。游戏控制器102进一步包括接近度检测单元332,例如,IR传感器,用于确定接口设备106和/或其他游戏控制器102和/或电子设备104的接近度。游戏控制器102还可以包括一个或多个传感器328(例如,加速度计、陀螺仪)等),用于感测可以用作输入的游戏控制器102的运动、定向和其他参数。在一些实施方式中,游戏控制器102的处理能力被集成到可以与输出设备318对接的独立硬件组件中。
[0136] 在一些实施方式中,游戏控制器包括可选的头戴式耳机326,其回放音频消息和/或游戏音频流。
[0137] 在一些实施方式中,游戏控制器102包括无线电330,其启用一个或多个通信网络并允许游戏控制器102与其他设备(例如,与接口设备106)通信。在一些实施方式中,无线电330能够使用多种定制或标准无线协议(例如,IEEE 802.15.4、Wifi、ZigBee、6LoWPAN、Thread、Z‑Wave、Bluetooth Smart、ISA100.5A、WirelessHART、MiWi Whispernet、低功耗蓝牙等)、定制或标准有线协议(例如,以太网、HomePlug等)和/或包括截至本文档提交之日尚未开发的通信协议的其他合适的通信协议进行数据通信。
[0138] 存储器306包括高速随机存取存储器,诸如DRAM、SRAM、DDR RAM或其他随机存取固态存储器设备;并可选地包括非易失性存储器,诸如一个或多个磁盘存储设备、一个或多个光盘存储设备、一个或多个闪存设备或一个或多个其他非易失性固态存储设备。存储器306可选地包括远离一个或多个处理单元202而放置的一个或多个存储设备。存储器306或可替选地存储器306内的非易失性存储器包括非暂时性计算机可读存储介质。在一些实施方式中,存储器306或存储器306的非暂时性计算机可读存储介质存储下述程序、模块和数据结构或其子集或超集:
[0139] ·操作系统336,包括用于处理各种基本系统服务并且用于执行硬件相关任务的过程;
[0140] ·网络通信模块338,用于经由一个或多个通信接口304(有线或无线)以及本地网络110、140和/或150和一个或多个网络112,诸如互联网、其他广域网、局域网、城域网等将游戏控制器102连接到其他设备(例如,服务器系统114、接口设备106和电子设备104);
[0141] ·用户界面模块340,用于能够经由一个或多个输出设备318(例如,扬声器、LED等)在游戏控制器102处呈现信息(例如,音频和/或视频内容,以及可选的用于呈现应用、窗口小部件、文本等的图形用户界面);
[0142] ·输入处理模块342,用于从一个或多个输入设备310之一检测一个或多个用户输入或交互,并解释检测到的输入或交互;
[0143] ·接口设备应用344,用于与接口设备106进行交互,包括登录与接口设备106相关联的用户账户,如果与用户账户相关联则控制接口设备106,以及编辑和查看与接口设备106相关联的设置和数据;
[0144] ·用于云游戏功能的游戏应用346,其被配置成实现各种模式的模块;
[0145] ·命令模块348,用于在菜单模式下在游戏控制器102和接口设备106之间传送消息(例如,设置命令);以及
[0146] ·流模块349,用于在游戏模式下在游戏控制器102和服务器系统114之间传送游戏命令(例如,到流服务器120);
[0147] ·控制器模块350,用于向游戏应用346提供游戏玩法输入界面;
[0148] ·通信模块351,用于在游戏控制器102和接口设备(例如,接口设备108)之间以及在游戏控制器102和游戏服务器(例如,服务器系统114)之间接收和/或传送消息和媒体流;
[0149] ·数据下载模块352,用于从服务器系统114下载数据(例如,用户账户、用户证书、对模块和应用的更新以及存储器306中的数据)和/或从接口设备106和其他内容主机和提供商中继;以及
[0150] ·设备数据354,至少存储与游戏应用346和其他应用/模块相关联的数据,包括:
[0151] ○客户端设备设置356,用于存储与游戏控制器102本身相关联的信息,包括公共设备设置(例如,服务层、设备模型、存储容量、处理能力、通信能力等);
[0152] ○接口设备设置358,用于存储与接口设备应用344的用户账户相关联的信息,包括账户访问信息以及用于接口设备设置的信息(例如,服务层、设备模型、存储容量、处理能力、通信能力等)中的一个或多个;
[0153] ○游戏应用设置360,用于存储配置的菜单和/或快捷方式,供用户与图4的游戏门户UI模块437交互;
[0154] ○游戏控制器配置362,用于存储与用于游戏应用346的控制器模块350的配置相关联的信息;和
[0155] ○位置/接近度数据164,包括与游戏控制器102、接口设备106、其他游戏控制器102和/或电子设备104中的任何一个的存在、接近或位置相关联的信息;以及
[0156] ○设备/用户数据366,用于存储游戏控制器标识和客户端证书、相应的配对接口设备的标识和客户端证书、一个或多个本地网络凭据(例如,Wifi凭据)以及与链接到游戏控制器102的一个或多个用户相关联的信息,包括登录信息、用户证书、认证信息、以及可选地,存储用户偏好、游戏历史数据以及关于其他玩家的信息;
[0157] ·安全模块368,用于在激活时呈现一个或多个认证选项并接收对认证选项的输入;以及
[0158] ·语音辅助模块370,用于处理麦克风312接收到的音频输入/命令。
[0159] 在一些实施方式中,通信模块351可以是无线电传输模块、通信总线(诸如一个或多个通信总线308)和有线连接中的一个或多个。
[0160] 在一些实施方式中,控制器模块350是存储器306中的接口设备应用334或另一应用的一部分(例如,子模块)。在一些其他实施方式中,控制器模块350是操作系统336的一部分。在一些其它的实施方式中,控制器模块350是不同的模块或应用。
[0161] 每个以上标识的元素可以被存储在先前提及的存储设备中的一个或多个,并且对应于用于执行上述功能的指令集。上面标识的模块或程序(即,指令集)不需要被实现为单独的软件程序、过程、模块或数据结构,并且因此这些模块的各种子集可以在各种实现方式中被组合或以其他方式重新布置。在一些实施方式中,存储器306可选地存储以上标识的模块和数据结构的子集。此外,存储器306可选地存储以上未描述的附加模块和数据结构。
[0162] 图4是图示根据一些实施方式的游戏环境100、130和160的示例接口设备106以及操作序列200和220的框图。接口设备106通常包括一个或多个处理器(CPU)402、一个或多个通信接口404、存储器406、以及用于互连这些组件(有时称为芯片组)的一个或多个通信总线408。此外,接口设备106包括接近度/位置检测单元410,诸如IR传感器,用于确定游戏控制器102和/或电子设备104和/或其他接口设备的接近度。
[0163] 此外,在一些实施方式中,接口设备106包括无线电411,其启用一个或一个以上通信网络且允许接口设备106与其他设备(例如,与游戏控制器102)通信。在一些实施方式中,无线电411能够使用各种定制或标准无线协议(例如,IEEE 802.15.4、Wifi、ZigBee、6LoWPAN、Thread、Z‑Wave、Bluetooth Smart、ISA100.5A、WirelessHART、MiWi、Whispernet、低功耗蓝牙等)、自定义或标准有线协议(例如,以太网、HomePlug等)和/或包括截至本文档提交之日尚未开发的通信协议的其他合适的通信协议进行数据通信。
[0164] 另外,接口设备106还包括一个或多个输入设备412,所述一个或多个输入设备412包括用于检测用户接近度的麦克风414,以及一个或多个输出设备416(例如,显示设备108),其与接口设备106耦合或集成在一起。
[0165] 存储器406包括高速随机存取存储器,诸如DRAM、SRAM、DDR RAM或其他随机存取固态存储器设备;并可选地包括非易失性存储器,诸如一个或多个磁盘存储设备、一个或多个光盘存储设备、一个或多个闪存设备或一个或多个其他非易失性固态存储设备。存储器406可选地包括远离一个或多个处理器402而放置的一个或多个存储设备。存储器406或可替选地存储器406内的非易失性存储器包括非暂时性计算机可读存储介质。在一些实施方式中,存储器406或存储器406的非暂时性计算机可读存储介质存储下述程序、模块和数据结构或其子集或超集:
[0166] ·操作系统418,包括处理各种基本系统服务和执行与硬件有关的任务的过程;
[0167] ·网络通信模块420,用于经由一个或多个通信接口404(有线或无线)和一个或多个网络112,诸如互联网、其他广域网、局域网、城域网、有线电视系统、卫星电视系统、IPTV系统等等将接口设备106连接到其他计算机或系统(例如,服务器系统114、游戏控制器102和电子设备104);
[0168] ·通信模块421,用于在接口设备106与游戏控制器(例如,游戏控制器102)之间以及在接口设备106与游戏服务器(例如,服务器系统114)之间接收和/或传送消息和媒体流;
[0169] ·内容解码模块422,用于解码从一个或多个内容源(例如,游戏服务器118和流服务器120)接收到的内容信号,并将所解码的信号中的内容输出到输出设备416(例如,显示设备108),其耦合到接口设备106或与其集成在一起;
[0170] ·接近度/位置确定模块424,用于基于由接近度/位置检测单元410检测到的或由服务器系统114提供的接近度相关信息,确定游戏控制器102和/或电子设备104和/或其他接口设备106的接近度;
[0171] ·显示模块426,用于控制媒体显示;
[0172] ·接口设备数据428,用于存储接口设备标识和客户端证书,并且至少存储包括下述的数据:
[0173] ○接口设备设置430,用于存储与接口设备应用的用户账户相关联的信息,包括账户访问信息和设备设置信息(例如,服务层、设备模型、存储能力、处理能力、通信能力等)中的一个或多个;和
[0174] ○位置/接近度数据432,包括与游戏控制器102和/或电子设备104和接口设备106中的任何一个的存在、接近度或位置相关联的信息;以及
[0175] ○网络数据434,包括与接口设备连接到的一个或多个本地网络相关联的信息;
[0176] ·游戏应用436,用于控制接口设备106上的所有游戏组件的生命周期,从游戏控制器102接收消息(例如,命令),并将游戏控制器输入中继到服务器系统114;
[0177] ·游戏UI模块437,用于访问用户内容(例如,简档、化身、购买的游戏、游戏目录、朋友、消息传递)和优化的图像进行显示,并在游戏玩法期间从游戏控制器102接收输入;
[0178] ·接口控制模块438,用于在游戏应用436和游戏门户UI模块437之间对接通信,并在游戏启动期间发起与服务器系统114的会话配对请求;
[0179] ·服务器接口模块440,用于与服务器系统114和认证系统125进行通信,包括:
[0180] ○认证子模块442,用于与认证系统125通信,以在游戏门户UI启动期间认证游戏控制器102的链接用户;
[0181] ○会话子模块444,用于从服务器系统114接收游戏会话信息(例如,会话id、游戏服务器供应IP地址、端口等),并在提供此信息的接口控制模块438上调用回调;和[0182] ○流子模块446,用于在游戏玩法期间实时接收和显示从服务器系统114的流服务器120传送的游戏流。
[0183] 在一些实施方式中,通信模块421可以是无线电传输模块、诸如一个或多个通信总线408的通信总线以及有线连接中的一个或多个(例如,当接口功能性在游戏控制器中时)。
[0184] 在一些实施方式中,游戏UI模块437、接口控制模块438和服务器接口模块440被打包为接口设备106中的共享库,并且在开始应用时由游戏应用436动态地打开。
[0185] 上述每个标识的元素可以存储在一个或多个前面提到的存储设备中,并且对应于用于执行上述功能的指令集。上面标识的模块或程序(即,指令集)不需要被实现为单独的软件程序、过程、模块或数据结构,并且因此这些模块的各种子集可以在各种实现方式中被组合或以其他方式重新布置。在一些实施方式中,存储器406可选地存储以上标识的模块和数据结构的子集。此外,存储器406可选地存储以上未描述的附加模块和数据结构。
[0186] 图5是图示根据一些实施方式的游戏环境100、130和160的服务器系统114中以及操作序列200和220中的示例服务器的框图。服务器系统114通常包括一个或多个处理单元(例如,处理器502、GPU 510和编码器512)、一个或多个网络接口504、存储器506和用于互连这些组件(有时称为芯片组)的一个或多个通信总线508。服务器系统114可以可选地包括促进用户输入的一个或多个输入设备514,诸如键盘、鼠标、语音命令输入单元或麦克风、触摸屏显示器、触敏输入板、手势捕获相机或其他输入按钮或控件。此外,服务器系统114可以使用麦克风和语音识别或相机和手势识别来补充或替换键盘。在一些实施方式中,服务器系统114可选地包括一个或多个相机、扫描仪或照片传感器单元,用于捕获例如印刷在电子设备上的图形系列代码的图像。服务器系统114还可以包括一个或多个输出设备516,其使能够呈现用户界面和显示内容,包括一个或多个扬声器和/或一个或多个视觉显示器。
[0187] 存储器506包括高速随机存取存储器,诸如DRAM、SRAM、DDR RAM或其他随机存取固态存储器设备;并可选地包括非易失性存储器,诸如一个或多个磁盘存储设备、一个或多个光盘存储设备、一个或多个闪存设备或一个或多个其他非易失性固态存储设备。存储器506可选地包括远离一个或多个处理单元而放置的一个或多个存储设备。存储器506或可替选地存储器506内的非易失性存储器包括非暂时性计算机可读存储介质。在一些实施方式中,存储器506或存储器506的非暂时性计算机可读存储介质存储以下程序、模块和数据结构或其子集或超集:
[0188] ·操作系统526,包括处理各种基本系统服务和执行与硬件有关的任务的过程;
[0189] ·网络通信模块528,用于经由一个或多个网络接口504(有线或无线)以及一个或者多个网络112,诸如互联网、其他广域网、局域网、城域网等将服务器系统114连接到其它设备106(例如,服务器系统114中的各种服务器、游戏控制器102和/或电子设备104、以及接口设备106);
[0190] ·用户界面模块530,用于在接口设备106的显示设备108、游戏控制器102和/或电子设备104处进行信息呈现(例如,用于呈现应用、窗口小部件、网站以及其网页和/或游戏、音频和/或视频内容、文本等的图形用户界面);
[0191] ·媒体设备模块532(可选的),执行该媒体设备模块532以提供服务器端功能性,用于与接口设备106相关联的设备供应、设备控制和用户账户管理;
[0192] ·接近度/位置确定模块534,用于基于游戏控制器102和/或电子设备104和媒体设备106中的任何一个的位置信息来确定游戏控制器102和/或电子设备104与接口设备106的接近度;
[0193] ·设备/网络评估模块536,用于评估游戏控制器102和/或电子设备104的设备和网络能力,包括但不限于评估到游戏控制器102和/或电子设备104的连接的网络带宽并且评估游戏控制器102和/或电子设备104是否具有玩游戏所需的模块或应用;
[0194] ·数据传输模块538,用于向游戏控制器102、电子设备104和/或接口设备106提供数据(例如,游戏控制器配置456、软件更新等);
[0195] ·前端模块540,用于管理与游戏控制器102和电子设备104相关联的用户账户,例如,通过用户账户对一个或多个在线交互式游戏的会员资格的订阅,启用对用于将订户请求转发到后端资源124的订户的服务,并监视游戏玩法活动和订户的相关请求;
[0196] ·媒体流服务器模块542,用于在游戏玩法期间实时地将游戏音频和/或视频流传送到接口设备106,管理流(例如,来自头戴式耳机的)并管理一个或多个流站点;
[0197] ·游戏服务器模块544,用于提供与游戏(例如,游戏应用346和436)相关联的服务器端功能,包括但不限于设立游戏会话,存储会话状态数据和其他与游戏相关的数据,处理来自客户端设备102和104的游戏玩法输入,响应于游戏玩法输入而呈现游戏玩法输出,并为玩游戏和评论视频生成并发媒体流;
[0198] ·后端资源模块542,用于执行前端116请求的服务,访问和/或数据(例如,来自游戏服务器120和流服务器120的);以及
[0199] ·数据库122,包括:
[0200] ○客户端设备设置550,用于存储与游戏控制器102和电子设备104相关联的信息,包括公共设备设置(例如,服务层、设备模型、存储能力、处理能力、通信能力等);
[0201] ○媒体设备设置552(可选),用于存储与媒体设备应用532的用户账户相关联的信息,包括账户访问信息和设备设置信息(例如,服务层、设备型号、存储容量、处理能力、通信能力等)中的一个或者多个;
[0202] ○位置/接近度数据554,包括与游戏控制器102和/或电子设备104和接口设备106中的任何一个的存在、接近度或位置相关联的信息;
[0203] ○游戏控制器配置556,用于存储各种游戏的控制器配置;以及
[0204] ○用户信息558,用于存储与在服务器系统114上托管的一个或多个游戏应用(例如,图2中的游戏应用228)中的每一个的用户账户相关联的信息,包括例如用户账户信息(例如,标识和密码)、用户简档、购买的游戏、会员类型、偏好、游戏目录、活动历史和其他权利;以及
[0205] ○游戏会话数据560,用于存储与游戏会话相关联的数据(例如,游戏状态数据、其他游戏有关的数据),包括例如用于第一游戏会话的游戏会话数据560‑1和用于第二游戏会话的游戏会话数据560‑2,其中每个游戏会话的会话数据560包括但不限于帧速率、渲染规范、正常时延要求、GPU分配信息、编码器分配信息、相关会话的标识以及与各自游戏会话相关联的最新状态信息。
[0206] 上述标识的每个元素可以存储在一个或多个先前所提及的存储设备中,并且对应于用于执行上述功能的指令集。上面标识的模块或程序(即,指令集)不需要被实现为单独的软件程序、过程、模块或数据结构,并且因此这些模块的各种子集可以在各种实现方式中被组合或以其他方式重新布置。在一些实施方式中,存储器506可选地存储以上标识的模块和数据结构的子集。此外,存储器506可选地存储以上未描述的附加模块和数据结构。
[0207] 在一些实施方式中,服务器系统114进一步包括用于管理游戏门户UI中的消息传递应用的消息传递模块(未示出),其允许玩家与其游戏玩家朋友交换消息。
[0208] 鉴于这些原理,我们现在转向某些实施方式。
[0209] 实施方式
[0210] 图6A至6C图示用于为云游戏供应新游戏控制器102的示例性过程。在一些实施方式中,新游戏控制器102在其可以用于游戏之前需要被设置。在一些实施方式中,使用移动电话610运行支持云游戏的伴随应用(例如,GOOGLE Home应用612)在环境600(例如,家居、宿舍和/或办公室)中进行设置。在一些实施方式中,设置过程包括将一个或多个用户添加到游戏控制器102,以及将游戏控制器102与环境600中的一个或多个接口设备配对。
[0211] 如图6A所示,游戏控制器102被描绘为包括输入组件,诸如方向盘602(即,方向盘315)和多个按钮,包括“辅助”按钮606、“主页”按钮608、以及游戏控制按钮604‑1、604‑2、
604‑3和604‑4(即,按钮312)。在一些实施方式中,游戏控制器102进一步包括操纵杆(即,操纵杆316,未示出)和诸如LED(例如,LED 322和/或或扬声器(例如,扬声器320)(未示出)的输出设备(例如,输出设备318)。在一些实施方式中,输入组件和输出组件的数量和类型以及它们的布置可以变化。在一些实施方式中,游戏控制器具有不同的形状和在图中描绘的来自游戏控制器102的尺寸和/或几何形状。
[0212] 在一些实施方式中,一个或多个按钮激活游戏控制器102上的一个或多个麦克风(例如,麦克风312),这使能够接收音频输入(例如,语音命令)。例如,玩家可以压制助理按钮606并说“Play the Division on bedroom TV(在卧室电视上播放分区)”。在一些实施方式中,游戏控制器102(例如,使用语音辅助模块370)解析命令,并与连接到卧室电视的接口设备配对。在一些实施方式中,接口设备还打开卧室电视。电视显示游戏“分区”中暂停的场景,该场景是玩家最近的游戏会话留下的。玩家推动按钮以取消暂停场景,并使用游戏控制器102和卧室电视恢复游戏。
[0213] 在一些实施方式中,用户通过首先对新游戏控制器102进行通电(例如,通过按下主页按钮608和/或电源按钮(未示出))来发起新游戏控制器102的设置。游戏控制器102发出由应用检测到的蓝牙/Wifi信标。在一些实施方式中,根据通电,应用612在用户界面660上自动显示指示已经找到新设备(“游戏控制器”)的消息614以及用于设置新设备的可供性615。在该示例中,用户选择可供性615(“是”)以继续设置过程。
[0214] 图6B图示根据继续设置过程而显示的示例性用户界面670。在一些实施方式中,提示用户输入字段,包括名称616(例如,用户名)、照片618、密码(未示出)和/或认证挑战(未示出)。在一些实施方式中,用户使用键盘显示器620和/或通过在图标621(例如,用于拍照的图标621‑1和/或图标621‑2)上轻敲以上传照片)来输入她的名字。
[0215] 根据一些实施方式,如图6C所图示,应用612在用户界面680上进一步显示用于设置默认配对设备的选项622。选项622包括表示可用于与游戏控制器102配对的设备(例如,接口设备106)的可供性623。选项622进一步包括提示,其要求用户选择接口设备106之一作为默认设备以显示游戏内容。在一些实施方式中,设置过程在已经选择了默认配对设备(例如,设备623‑2“客厅”)终结并且游戏控制器102默认与“客厅”接口设备配对。
[0216] 在一些实施方式中,新游戏控制器102的设置不需要使用移动电话(例如,移动电话610)或在移动电话上运行的伴随应用(例如,应用612)。而是,输出设备的设置和选择将直接在游戏控制器102和接口设备106之间,或者直接在游戏控制器102和显示设备108之间工作。例如,在一些实施方式中,接口设备106或者显示设备108包括可以被执行以设置新游戏控制器102并使选择输出设备的伴随应用。在一些实施方式中,游戏控制器102包括可以被执行以设置游戏控制器102(例如,游戏控制器102包括显示设置指令的可选显示器324)并选择输出设备的伴随应用。
[0217] 在一些实施方式中,在对游戏控制器102进行通电之后,用户通过按下第二按钮和/或通过再次按下用于对游戏控制器102进行通电的相同按钮来发起设置过程。
[0218] 在一些实施方式中,游戏控制器102(例如,在设备/用户数据366中)存储用户的信息,包括名称/用户名、照片、密码、认证挑战)和包括默认接口设备106的其他默认值。
[0219] 在一些实施方式中,游戏控制器(例如,在设备/用户数据366中)存储网络证书(例如,Wifi网络名称和/或密码)。
[0220] 在一些实施方式中,游戏控制器102被多个用户(例如,家庭的各种成员)使用。因此,在第一用户完成设置之后,应用612进一步显示添加其他用户的选项。游戏控制器102存储每个用户的证书。
[0221] 在一些实施方式中,游戏控制器102包括存储在游戏控制器102上(例如,在设备/用户数据366中)的设备标识符和/或客户证书。因此,游戏控制器102将每个用户的证书与设备标识符和/或客户证书链接。在一些实施方式中,根据启动游戏门户UI的请求(例如,如图2A中所描述的),游戏控制器将设备标识符和/或客户证书的信息连同用户的标识一起发送到认证系统125,用于通过认证系统125进行验证。
[0222] 在一些实施方式中,应用612进一步包括用于编辑和/或删除游戏控制器102的现有用户的简档的选项。
[0223] 在一些实施方式中,关于作为与游戏控制器102相关联的游戏控制器的环境600(例如,家庭、宿舍等)的信息被存储在云中(例如,在服务器系统114和/或认证存储128中)。另外,在一些实施方式中,云为每个用户存储用户信息设置、显示设置以及与用户相关联的游戏控制器。
[0224] 图7至11图示根据一些实施方式的游戏控制器102和接口设备106的代表性操作。在这些示例中,假设游戏控制器102已经被供应,并且游戏控制器102被通信地连接到接口设备106(例如,与其配对)。图7至图11示出耦合至显示设备108的接口设备106。因此,接口设备106的功能性包含在显示设备108中(即,与其集成和/或包含在其中),并且因此,显示设备108被配置成与游戏控制器102和游戏服务器(例如,服务器系统114)交互。
[0225] 图7A至7C图示根据一些实施方式的在单人环境700中的图3的游戏控制器102和图4的接口设备106之间的代表性交互。在该示例中,环境700是家庭环境(“Julia的房子”),并且游戏控制器102链接到默认用户(“Julia”)。
[0226] Julia通过启动游戏UI门户并选择游戏来发起游戏(针对UI启动和游戏发起的过程流,请参见图2)。在一些实施方式中,游戏控制器处于初始关闭/待机模式,并且Julia对游戏控制器102通电。在游戏控制器102被通电之后,它自动连接到Julia的房子的Wifi网络并(例如,从缓存中)获得家庭元数据。游戏控制器102自动与接口设备106(例如,“客厅”)配对,其激活显示设备108并切换到正确的输入(例如,使用CEC)。
[0227] 图7A图示显示屏幕710,其示出示例性游戏门户UI,其包括诸如用户简档712(“Julia”)(例如,化身、照片和/或名字)、在线朋友713、游戏714和716(例如,购买的游戏、新游戏、最近玩过的游戏)和菜单715的特征。在此示例中,因为她是游戏控制器102的唯一用户,所以Julia自动登录为默认玩家。
[0228] Julia在游戏门户UI上选择游戏以发起游戏启动。(在图2B中描述了对游戏启动发生的操作序列的详细信息)。游戏流被显示在显示设备108上。Julia玩游戏。
[0229] 在一些实施方式中,接口设备106根据确定显示设备108处于关机/待机模式来对显示设备108自动通电。
[0230] 在一些实施方式中,单个输入的激活(例如,按下单个按钮)执行对游戏控制器102通电并在接口设备106上开始游戏应用的任务。在一些实施方式中,在游戏控制器102被通电之后,用户激活第二输入(例如,再次按下按钮或按下第二按钮)以启动游戏门户UI。
[0231] 在一些实施方式中,游戏门户UI包括图7A中未描绘的特征和/或附加特征的子集。在一些实施方式中,为每个用户定制游戏门户UI特征的子集。在一些实施方式中,游戏门户UI允许用户浏览和访问由游戏服务器托管的所有游戏内容的列表。
[0232] 在一些实施方式中,用户使用由麦克风312接收并由语音辅助模块370处理的语音输入/命令(例如,用户说“Play racing cars on living room TV(在客厅电视上玩赛车)”)来发起游戏启动。
[0233] 图7B图示游戏会话的关机过程。在一些实施方式中,为了发起关机,用户按下游戏控制器102上的按钮(例如,主页按钮608),该按钮向接口设备106发出退出命令。屏幕720显示确认退出游戏会话的消息窗口718。如果用户选择“是”(721),则游戏控制器102断电(或进入睡眠模式)。如果用户选择“否/返回”(722),则游戏会话恢复并且消息窗口718从屏幕720消失(未示出)。
[0234] 在一些实施方式中,响应于用户确认退出游戏会话,接口设备106将退出命令传送到服务器系统114。服务器系统114根据需要保存游戏/状态。游戏会话结束,游戏应用退出,并且显示设备显示背景幕730,如图7C中所图示。
[0235] 在一些实施方式中,可以使用相同的按钮(例如,主页按钮608)通过不同地按下按钮,来访问不同的菜单和功能性。例如,主页按钮608的“短/正常”按下被用来对游戏控制器102通电并发起游戏门户UI的启动,而主页按钮608的“长”按下激活菜单按钮(例如,快速访问菜单)和/或发起游戏会话的关机。
[0236] 在一些实施方式中,当接口设备106不用于游戏时,其还用作媒体流设备以流送其他(非游戏)媒体内容。
[0237] 图8A至图8B图示根据一些实施方式的在多人环境800中的图3的游戏控制器102与图4的接口设备106之间的代表性交互。在该示例中,多人环境800是两个人的家庭,并且游戏控制器102由家庭成员“Julia”和“Jack”使用。游戏控制器102存储Julia和Jack的用户证书。在一些实施方式中,多人环境包括三个或更多人,每个人使用游戏控制器102进行在线游戏。
[0238] 在图8的示例中,Jack使用图2和7中描述的步骤启动游戏门户UI。图8A示出屏幕810,该屏幕显示玩家账户812(“Julia”)和玩家账户814(“Jackio”)的选项。在一些实施方式中,屏幕810还包括用于“客户机”玩家账户816的选项。在该示例中,Jack选择玩家账户
814(“Jackio”)。
[0239] 在一些实施方式中,游戏应用进一步包括用于认证的特征(例如,使用安全模块368)。如图8B中所图示,在Jack选择玩家账户814(“Jackio”)之后,屏幕830显示消息818,其包括多个认证选项820,包括电话820‑1、语音820‑2和PIN 820‑3。如果选择了电话选项820‑
1,则接口设备106和/或游戏控制器102感测接近游戏控制器102的电话的标识,并使用从电话中获得的标识来认证用户。如果选择了语音选项820‑2,则屏幕将显示提示,要求用户进行语音输入(例如,使用麦克风312)(例如,Jack按下助理按钮606并说“I’m Jack(我是Jack)”。)。然后将语音输入与存储在游戏控制器102上(在设备数据354中)的登录证书进行比较。如果选择了PIN选项820‑3,则Jack使用游戏控制器102上的一个或多个方向键和/或按钮输入他的PIN,然后将其与存储在游戏控制器102上的登录证书进行比较。在用户Jack已经被认证之后,游戏控制器102将与用户Jack相对应的认证令牌发送到接口设备102(参见图2A的步骤204),并且使用用户Jack的访问令牌来启动游戏门户UI。
[0240] 在一些实施方式中,在启动时游戏门户UI包括客户机账户选项(例如,“客户机”玩家账户816)。在一些实施方式中,客户机账户允许其证书未存储在游戏控制器102上的客户机用户输入与该客户机用户相关联的信息。在一些实施方式中,客户机账户为客户机用户提供有限的账户特权和/或有限的选项(例如,客户机用户有权访问有限数量的游戏、客户机用户不拥有任何游戏、客户机用户不能购买任何游戏等)。
[0241] 图9A至9F图示根据一些实施方式的环境900中的两个游戏控制器102‑1和102‑2与接口设备106之间的示例性交互。游戏控制器102‑1和102‑2中的每一个都与接口设备106通信地连接(例如,配对)。
[0242] 在一些实施方式中,游戏会话由一个本地环境900中的两个玩家使用两个游戏控制器同时执行。在该示例中,假设环境900是家庭环境,其中两个成员Julia和Jack各自具有她/他自己的游戏控制器。第一控制器102‑1链接到用户“Julia”,并且第二控制器102‑2链接到用户“Jack”。Julia使用图2和7中描述的步骤启动游戏门户UI。
[0243] 在一些实施方式中,游戏控制器102和接口设备中的每一个通过相应的设备标识和客户证书来标识。游戏控制器标识最终标识具有游戏账户的链接用户,并在接口设备106上驱动所有用户特定内容。
[0244] 在一些实施方式中,接口设备106开始它连接到(例如,与其配对)的每个游戏控制器102的游戏应用(游戏应用436)的实例,并通过它的设备标识和客户证书来标识相应的游戏控制器。
[0245] 图9A示出具有选择玩家账户912(“Julia”)、玩家账户914(“Jackio”)和玩家账户816(“客户机”)的选项的屏幕910。Julia使用她的游戏控制器102‑1上的方向键902和/或按钮904、906和/或908选择玩家账户912(“Julia”)。在一些实施方式中,提示Julia使用图8B中描述的步骤来认证她的标识。在一些实施方式中,在Julia选择了她的账户(并经过认证过程)之后,游戏控制器102‑1将与Julia相对应的认证令牌发送到接口设备106,并且使用Julia的访问令牌来启动游戏门户UI。
[0246] 图9B示出屏幕950,该屏幕950显示在其已经被启动之后的Julia的游戏门户UI。游戏门户UI的特征已在图7A中进行了描述。
[0247] 在图9C中,Jack通过按下其游戏控制器102‑2上的按钮链接到Julia的会话。在一些实施方式中,Jack选择玩家账户914(“Jackio”)并通过认证过程。因为接口设备106识别游戏控制器102‑2也已经与接口设备106配对,所以它在Julia的游戏门户UI 960上显示警报窗口928,其请求链接到Julia的控制器(即,游戏控制器102‑1)以及选项930和932。如果Jack选择选项930(“是”),则Jack加入Julia的游戏会话。如果Jack选择选项932(“否”),则Jack可以选择与其进行配对的其他接口设备(未示出)。
[0248] 在一些实施方式中,当第二玩家加入第一玩家的游戏会话时,第一玩家成为游戏会话的“主机”(或主要用户),而第二玩家成为“客户机”(或次要用户)。服务器(例如,流服务器102)将游戏媒体内容流送到显示设备108,并且同时从游戏控制器102‑1和游戏控制器102‑2接收游戏输入。
[0249] 在一些实施方式中,当多个游戏控制器102连接到接口设备106时,仅主要用户的游戏控制器(即,在这种情况下,102‑1)用于驱动游戏门户UI。主要用户是启动游戏应用且其内容正在由游戏门户UI示出的用户。
[0250] 在一些实施方式中,直到游戏会话开始,只有主机才可以控制游戏门户UI。在一些实施方式中,在游戏会话期间,控制器102‑1和102‑2中的每一个独立地向服务器系统114发送输入,并且游戏控制器102‑1和102‑2中的每一个独立地与接口设备106通信。
[0251] 图9D和9E图示根据一些实施方式的终止多玩家游戏会话。在该示例中,客户机玩家(即,Jack)通过按下游戏控制器102‑2上的按钮(例如,通过长按主页按钮608)来结束游戏会话。响应于客户机玩家输入,屏幕970显示确认退出客户机玩家的消息932。如果Jack确认退出(例如,通过选择选项934(“是”),则Jack游戏控制器102‑2断电。在一些实施方式中,当客户机玩家退出时,主机和其他次要用户继续进行游戏会话。在一些实施方式中,只要主机(即,Julia)仍然连接,游戏会话就继续。
[0252] 有时在Jack已经退出游戏会话之后,主机玩家Julia决定终止游戏会话。她按下游戏控制器上的按钮以发起游戏终止。响应于主机玩家的输入,在屏幕上显示消息以确认退出主机玩家(未示出)。在一些实施方式中,根据来自主机玩家退出游戏会话的确认,游戏服务器(例如,服务器系统114)保存游戏/状态并终止游戏服务(例如,根据图7B中描述的步骤)。根据一些实施方式,如图9E中所图示,在游戏服务已经结束之后,接口设备106在显示设备108上显示背景屏显示980。
[0253] 在一些实施方式中,仅当主机玩家/账户退出游戏会话和/或主机游戏控制器断电时,游戏会话才结束。
[0254] 图9F图示根据一些实施方式的用于环境900中的客户机(“Brandon”)游戏控制器102‑3的设置过程。在此示例中,Brandon拜访Julia和Jack的房子,并一起带来了他的游戏控制器102‑3。在房子里,Brandon在其移动电话938上的伴随应用955(例如,家居应用612)上接收他的游戏控制器“Brandon1”已失去其连接的消息952。消息952还包括选项953和
954。在一些实施方式中,Brandon使用应用955将游戏控制器102‑3连接到房子的本地网络(例如,连接到Julia和Jack房子的Wifi连接)。在一些实施方式中,Brandon进一步使用应用
955来选择默认配对设备(例如,Julia和Jack房子中的接口设备106)。在一些实施方式中,在选择默认配对设备之后,Brandon按下游戏控制器102‑3上的按钮以与接口设备106配对并启动游戏门户UI。
[0255] 图9F图示屏幕990,该屏幕显示链接到Brandon的游戏控制器102‑3的账户,包括账户940(“Belle”)和账户942(“Brandon”)。Brandon选择与他的标识相对应的账户942(“Brandon”)。在此示例中,因为游戏控制器102‑3连接到其他Wifi网络,所以需要Brandon键入与账户942(“Brandon”)相对应的PIN 944,以验证他的标识。根据来自游戏控制器102‑3的PIN 944匹配Brandon存储的凭据的确定,游戏控制器继续为Brandon启动游戏门户UI。
在一些实施方式中,Julia可以使用图9B和9C中所述的步骤将她的控制器102‑1作为客户机链接到Brandon的会话。
[0256] 图10A至10B图示根据一些实施方式的环境1000中的游戏控制器102与两个接口设备106‑1和106‑2之间的示例性交互。接口设备106‑1和106‑2分别耦合到显示设备108‑1和108‑2。游戏控制器102通信地连接到每个接口设备106‑1和106‑2(例如,与其配对)。
[0257] 在一些实施方式中,接口设备106‑1和106‑2位于环境1000的不同位置。在该示例中,环境1000是家居环境,并且接口设备106‑1和106‑2分别位于客厅和卧室。假定接口设备106‑1(客厅电视)是游戏控制器102的默认配对设备。因此,当开始游戏应用时,默认显示设备108‑1显示包括与游戏控制器102相关联的账户1002(“Julia”)和1004(“Jackio”)的屏幕
1010。非默认接口设备(即,与卧室电视108‑2耦合的接口设备106‑2)显示屏幕1002,其具有包括将游戏控制器102链接到接口设备106‑2的指令的消息1006。
[0258] 图10B图示其中游戏控制器102基于与接口设备的接近度自动与接口设备配对而与默认设置无关的另一实施方式。在此,即使接口设备106‑1是游戏控制器102的默认配对设备,游戏控制器102也会检测到与其接近的一个或多个接口设备(例如,106‑1和106‑2)并且与最接近的接口设备(即,106‑2)进行配对。
[0259] 在一些实施方式中,游戏控制器102使用通过无线电330启用的一个或多个通信网络(例如,Whispernet、BLE和/或Wifi)来检测与接口设备106‑1和106‑2的接近度,并且与更接近游戏控制器102的接口设备配对。例如,游戏控制器102使用从游戏控制器102传送的信号1012和1014(例如,Whispernet、BLE和/或Wifi)以确定其比接口设备106‑2更接近接口设备106‑1。游戏控制器102根据该确定与最接近的设备(106‑2)配对。
[0260] 可替选地,在一些实施方式中,游戏控制器102与相应接口设备106之间的接近度由相应接口设备使用相应接口设备上的一个或多个麦克风(例如,麦克风414)来确定。例如,参考图10B,接口设备106‑2的麦克风414接收指示用户已经走进房间的音频输入,并且因此接口设备106‑2向游戏控制器102暴露其存在和配对可用性。
[0261] 在一些实施方式中,如图10B中所图示,响应于与游戏控制器102的配对,接口设备106‑2激活显示设备108‑2并切换到正确的输入(例如,使用CEC)。此外,接口设备106‑2显示屏幕1040,该屏幕1040包括链接到游戏控制器102的账户1016(“Julia”)和1016(“Jackio”)。默认接口设备106‑1未与游戏控制器102配对,并且因此显示设备108‑1显示空白屏幕1030。
[0262] 图11A至11D图示根据一些实施方式的要在游戏玩法期间切换显示器的游戏控制器102与两个接口设备106‑1和106‑2之间的另一示例性交互。
[0263] 在此示例中,Jack正在使用游戏控制器102在客厅玩游戏“赛车”。如图11A中所图示,客厅电视108‑1显示游戏中的场景1110,而卧室电视108‑2显示空白屏幕1120。
[0264] Jack决定将游戏移动到卧室。如图11B中所图示,Jack将游戏暂停在客厅电视108‑1上(例如,通过按下游戏控制器102上的按钮314之一)。屏幕1110显示指示游戏已经被暂停的窗口1106。在一些实施方式中,Jack按下第二按钮以访问包括不同的显示选项的菜单
1104。在此示例中,Jack选择选项1104‑1(“卧室电视”)。在一些实施方式中,响应于Jack对不同(即,卧室)显示器的选择,连接到客厅电视108‑1的接口设备106‑1退出游戏服务,并且相应的显示设备108‑1显示背景幕1130(见图11C)。
[0265] 图11C示出Jack已经带着他的游戏控制器102移动到卧室。在一些实施方式中,游戏控制器102自动与最接近的接口设备106‑2配对(例如,根据图10B的实施方式)。响应于该配对,接口设备106‑2激活显示设备108‑2并切换到正确的输入(例如,使用CEC)。游戏服务在暂停状态下启动并恢复游戏,如屏幕1140中所示。Jack取消暂停游戏并恢复游戏玩法。所有这些操作都可以轻松且无缝地执行,并且用户方面的中断最少。
[0266] 可替代地,如图11D中所图示,用户可以使用语音激活将游戏玩法移动到环境1100内的其他位置。在这种情况下,在Jack带着游戏控制器102一起走进卧室之后,Jack可以按下游戏控制器102上的按钮(例如,辅助按钮606),该按钮激活游戏控制器102上的一个或多个麦克风(例如,麦克风312)。Jack发出语音命令1118(“Play Racing Cars on Bedroom TV(在卧室电视上播放赛车)”)。在一些实施方式中,响应于语音命令,游戏控制器102(例如,使用语音辅助模块370)解析命令,将“卧室电视”识别为显示选项之一,并与和“卧室电视”108‑2耦合的接口设备106‑2配对。在一些实施方式中,语音命令(经由接口设备106‑2)被传送到服务器系统114以在服务器系统114处进行处理。
[0267] 另外,如各种图和实施方式所描述的,使用游戏控制器102、电子设备104和/或可通信地连接到接口设备106的其他电子设备,一个人可以创建“环境图”(例如,在家居环境的情况下的家居图),它了解其内的用户、网络和设备。在一些实施方式中,游戏控制器102可以使用该图形来标识可以与其连接的用户、设备以及显示器。
[0268] 图12A至12C是根据一些实施方式的用于云游戏的方法1200的流程图表示。方法1200在具有一个或多个处理器和存储一个或多个程序以由一个或多个处理器执行的存储器的第一电子设备(例如,图4的接口设备106)处实现。在一些实施方式中,方法1200由:(1)一个或多个接口设备106;(2)一个或多个游戏控制器102;(3)一个或多个电子设备104;(4)一个或多个服务器系统,诸如服务器系统114;或(5)其组合,执行。在一些实施方式中,方法
1200由存储在非暂时性计算机可读存储介质中并且由设备/计算系统的一个或多个处理器(诸如游戏控制器102的一个或多个处理器302、和/或接口设备106的一个或多个处理器
402、和/或服务器系统114的一个或多个处理器502)执行的指令支配。为了方便起见,以下详细描述的特定操作被描述为由耦合到显示设备108(例如,电视、计算机监视器)的接口设备106执行。
[0269] 接口设备106从接近第一电子设备的第二电子设备接收(1202)第一用户输入以启动云游戏会话。接口设备106和第二电子设备在公共网络(例如,本地网络110、140和/或150)上通信连接。
[0270] 在一些实施方式中,第二电子设备是(1204)游戏控制器(例如,游戏控制器102)。在一些实施方式中,第一用户输入包括游戏控制器102上的按钮(例如,按钮314中的一个)的选择。
[0271] 在一些实施方式中,游戏控制器102处于初始断电/待机模式,并且第一用户输入接通游戏控制器102的电源。在一些实施方式中,游戏控制器102在其被通电之后自动连接到本地网络(例如,Wifi网络)。在一些实施方式中,游戏控制器在连接到本地网络之后自动与(默认)接口设备106配对。
[0272] 在一些实施方式中,接口设备106是投射设备和/或媒体流设备。在一些实施方式中,接口设备106是硬件加密狗。
[0273] 在一些实施方式中,第二电子设备是下述之一:智能电话、平板设备、膝上型计算机和计算机(例如,图1的电子设备104)。在一些实施方式中,第二电子设备包括用于实现一个或多个标准化游戏控制器配置的虚拟控制器应用。
[0274] 在一些实施方式中,显示设备108处于(1228)断电状态。在这种情况下,响应于接收到第一用户输入,接口设备106在显示设备上通电(1230),并且在没有用户干预的情况下自动选择(1232)耦合到第一电子设备的显示设备的输入端口(例如,HDMI端口),从而使接口设备106的输出被显示在显示设备108上(例如,使用消费电子控制)。
[0275] 响应于接收到第一用户输入,接口设备106连接(1208)到游戏服务器上的游戏服务。在一些实施方式中,连接到游戏服务包括启用游戏门户用户界面。在一些实施方式中,发起游戏门户用户界面是根据图2A中描述的过程。
[0276] 接口设备106在没有用户干预的情况下自动识别(1210)与用户相关联的默认玩家标识。在一些实施方式中,默认玩家标识是第二电子设备的默认用户。在一些实施方式中,第二电子设备与单个用户(例如,在图7的单个用户家庭中)相关联,并且默认玩家标识是单个用户。在一些实施方式中,第二电子设备与一个以上的用户相关联,并且在设置期间(例如,在如图6所图示的供应过程期间)建立默认玩家标识。在一些实施方式中,默认玩家标识被存储在第二电子设备上(例如,存储在游戏控制器102上)。
[0277] 接口设备106连同游戏服务器使用默认玩家标识启动(1212)云游戏会话。在一些实施方式中,响应于第二用户输入(例如,用户按下游戏控制器102上的第二按钮),接口设备106启动云游戏会话。
[0278] 在一些实施方式中,用户输入包括(1204)游戏选择。在一些实施方式中,使用游戏控制器102上的一个或多个按钮(例如,按钮314)和/或方向键(例如,方向键315)和/或操纵杆(例如,操作杆316)进行游戏选择。在一些实施方式中,使用第二电子设备上的键盘、鼠标、虚拟按钮、虚拟方向键和/或虚拟操纵杆中的一个或多个来进行游戏选择。
[0279] 在一些实施方式中,根据游戏选择,接口设备106从游戏服务器(例如,游戏服务器系统114)获得(1214)游戏的游戏媒体流,对游戏媒体流进行解码(1216)并将所解码的游戏媒体流输出(1218)到显示设备108,其中游戏服务器当启动(1212)游戏会话时响应于从第二电子设备直接传送到游戏服务器的游戏输入而生成游戏媒体流。在一些实施方式中,接口设备106经由服务器接口模块440和/或使用图2B中描述的过程来获得游戏的游戏媒体流。
[0280] 在一些实施方式中,在游戏会话期间,接口设备106从第二电子设备接收(1220)用户退出会话的请求。
[0281] 在一些实施方式中,响应于该请求,接口设备106在显示屏上显示确认退出请求的消息。在一些实施方式中,接口设备106接收确认退出请求的第二输入。根据确认,接口设备106将退出请求传送到服务器系统114,使服务器系统114(例如在数据库122中)保存游戏状态。
[0282] 在一些实施方式中,接口设备106例如(从游戏服务器114)接收(1222)云游戏会话被保存的指示。根据该指示,接口设备106终止(1224)游戏服务,并且在显示设备108上显示(1226)默认屏幕显示(例如,图7C的背景幕730)。根据一些实施方式,接口设备106接收拒绝退出请求的第二用户输入(例如,用户选择图8B的选项722(“否/返回”))。根据拒绝退出请求的第二用户输入,游戏会话恢复/继续。
[0283] 在一些实施方式中,接口设备106从第三电子设备接收(1234)配对通知。在一些实施方式中,第三电子设备是与游戏控制器102不同的第二游戏控制器(例如,图9F的游戏控制器102‑3)。
[0284] 在一些实施方式中,根据配对通知,接口设备106在显示设备108上显示(1236)包括多个玩家标识的登录屏幕,每个玩家标识与第三电子设备相关联(例如,链接到第三电子设备)。
[0285] 在一些实施方式中,接口设备106从第三电子设备接收(1238)对玩家标识中的第一玩家标识的选择。
[0286] 在一些实施方式中,接口设备106在显示设备108上显示(1240)与第一玩家标识相关联的屏幕。在一些实施方式中,第三电子设备与不同于本地网络的第二本地网络相关联。在这种情况下,第一玩家标识的选择包括输入与第一玩家标识相关联的密码的请求(例如,如图9F中所图示),并且与第一玩家标识相关联的屏幕的显示符合确定密码与存储在第三电子设备102‑3中的密码匹配。
[0287] 在一些实施方式中,接口设备106将第二电子设备与第三电子设备链接(1242),从而使第二电子设备和第三电子设备一起玩所选择的游戏。如图9的示例中所图示,Brandon和Julia都在游戏会话中使用第一电子设备(即,接口设备106)一起玩游戏,并经由它们各自的控制器发送单独的相应的游戏命令。
[0288] 在一些实施方式中,第二电子设备是(1244)客户机设备,并且第三电子设备是游戏会话的主机设备。在一些实施方式中,当多个游戏控制器102连接到接口设备106时,仅主要用户(即,主机设备的用户)的游戏控制器用于驱动游戏门户UI。在一些实施方式中,主要用户(即,主机设备的用户)是启动游戏应用并且其内容正在游戏门户UI中示出的用户。
[0289] 根据一些实施方式,一种计算系统(例如,接口设备106)包括:一个或多个处理器;和存储器,其耦合到一个或多个处理器,该存储器存储被配置成由一个或多个处理器执行的一个或多个程序,该一个或多个程序包括用于执行任何上述方法和/或操作的指令。
[0290] 根据一些实施方式,一种非暂时性计算机可读存储介质(例如,在存储器406内)存储一个或多个程序,该一个或多个程序包括指令,当由计算系统执行该指令时,该指令导致系统执行上述任何方法和/或操作。
[0291] 图13A至图13E是根据一些实施方式的用于云游戏的方法1300的流程图表示。方法1300在具有一个或多个处理器和存储一个或多个程序以由一个或多个处理器执行的存储器的第一电子设备(例如,图4的接口设备106)处实现。在一些实施方式中,方法1200由:(1)一个或多个接口设备106;(2)一个或多个游戏控制器102;(3)一个或多个电子设备104;(4)一个或多个服务器系统,诸如服务器系统114;或(5)其组合,执行。在一些实施方式中,方法
1300由存储在非暂时性计算机可读存储介质中并且由设备/计算系统的一个或多个处理器,诸如游戏控制器102的一个或多个处理器302和/或接口设备106的一个或多个处理器
402和/或服务器系统114的一个或多个处理器502执行的指令支配。为了方便起见,下面详细描述的特定操作被描述为由耦合到显示设备108(例如,电视、计算机监视器)的显示器接口设备106执行。
[0292] 接口设备106从接近第一电子设备的第二电子设备接收(1302)第一用户输入以启动云游戏会话,其中第一用户输入包括游戏选择。接口设备106和第二电子设备在公共网络上通信连接。在一些实施方式中,第二电子设备是(1204)游戏控制器(例如,游戏控制器102)。在一些实施方式中,第一用户输入包括对游戏控制器102上的按钮(例如,按钮314中的一个)的选择。
[0293] 响应于接收到第一用户输入,接口设备106连接(1306)到游戏服务器上的游戏服务。在一些实施方式中,连接到游戏服务包括启动游戏门户用户界面。在一些实施方式中,启动游戏门户用户界面是根据图2A中描述的过程。
[0294] 接口设备106在没有用户干预的情况下在显示设备上自动显示(1308)包括多个玩家标识的登录屏幕。在一些实施方式中,多个玩家标识中的每一个对应于(1312)第二电子设备的相应用户。在一些实施方式中,第二电子设备被多个玩家(用户)使用,并且多个玩家标识对应于第二电子设备被相关联(即,链接到)的多个玩家。在一些实施方式中,多个玩家标识包括相应的玩家名称(或用户名)和/或相应的玩家的视觉表示(例如,玩家的照片、图像和/或化身)。
[0295] 在一些实施方式中,第二电子设备由设备标识和/或客户证书标识。在一些实施方式中,第二电子设备链接到多个玩家标识,每个玩家标识对应于第二电子设备的用户。在一些实施方式中,每个玩家标识与设备标识和/或客户证书相关联(例如,链接到其)。
[0296] 接口设备106从第二电子设备接收(1310)对来自多个玩家标识中的第一玩家标识的选择。
[0297] 在一些实施方式中,第二电子设备存储(1304)多个用户登录证书,每个用户登录证书对应于相应的玩家标识。在一些实施方式中,用户登录证书被并发地存储在游戏服务器上(例如,在服务系统114的数据库122中)。在一些实施方式中,第二电子设备还存储多个网络登录证书。在一些实施方式中,所存储的网络证书中的每个对应于第二电子设备已经通信连接到的相应的本地网络。
[0298] 在一些实施方式中,在接收到对第一玩家标识的选择(参见步骤1310)之后,接口设备106使用以下中的一个或多个来获得(1314)用户的标识:与用户相关联的移动电话,其中移动电话接近接口设备106;用户的语音输入;和密码输入。在一些实施方式中,获得用户的标识是响应于第二电子设备上的安全特征(例如,游戏控制器102的安全模块368)的激活。在一些实施方式中,接口106使用接近/检测单元410来获得使用移动电话的用户的标识。
[0299] 在一些实施方式中,接口设备106识别(1316)所获得的用户标识与多个所存储的用户登录证书之间的匹配(例如,如关于图8B所描述的)。
[0300] 在一些实施方式中,接口设备106基于匹配来选择(1318)第一玩家标识。
[0301] 接口设备106使用所选择的第一玩家标识登录(1320)到游戏服务。
[0302] 接口设备106连同游戏服务器启动(1322)云游戏会话并发起游戏玩法。
[0303] 接口设备106从游戏服务器(例如,从服务器系统114)获得(1324)游戏的游戏媒体流。
[0304] 接口设备106解码(1326)游戏媒体流。
[0305] 接口设备106将所解码的游戏媒体流输出(1328)到显示设备108,其中游戏媒体流是由游戏服务器响应于从第二电子设备直接传送到游戏服务器的游戏输入而生成的。
[0306] 在一些实施方式中,在游戏会话期间,接口设备106接收(1330)第三电子设备经由公共网络通信地耦合到接口设备106的指示。
[0307] 在一些实施方式中,接口设备106在显示设备108上显示(1332)第二登录屏幕,该第二登录屏幕包括将第三电子设备与第二电子设备链接的请求。参考图9的示例,Julia使用她的游戏控制器102‑1启动游戏门户UI,并且Jack发送将其控制器102‑2链接到Julia的游戏会话的请求。Julia在她的登录屏幕960上接收请求链接到她的游戏控制器102‑1和她的游戏会话的消息928。
[0308] 在一些实施方式中,接口设备106是(1334)投射设备(或媒体流设备),第二电子设备是第一游戏控制器(例如,图9的游戏控制器102‑1),并且第三电子设备是第二游戏控制器(例如,图9的游戏控制器102‑2)。
[0309] 在一些实施方式中,第二电子设备是游戏会话的主机(1336),并且第三电子设备是游戏会话的客户机。
[0310] 在一些实施方式中,接口设备106从第三电子设备接收(1337)对请求的响应。再次参考图9的示例,接口设备响应于将第三电子设备与第二电子设备链接的请求,从第三控制器(即,Jack的游戏控制器102‑2)接收响应。
[0311] 在一些实施方式中,根据确定响应指示批准(即,Jack选择选项935(“是”)),接口设备106将第三电子设备与第二电子设备链接(1338),从而使第二电子设备和第三电子设备一起玩所选择的游戏。在一些实施方式中,根据链接,第二电子设备和第三电子设备直接且独立地将相应游戏输入传送到游戏服务器(即,服务器系统114)。在一些实施方式中,根据链接,第二电子设备和第三电子设备直接且独立地将相应的命令子集传送到接口设备106。在一些实施方式中,第二电子设备在链接过程期间继续进行游戏玩法。
[0312] 在一些实施方式中,接口设备106是(1339)多个接口设备中的第一个(即,环境包括一个以上的接口设备),其中每个第一电子设备经由公共网络彼此通信耦合,并且每个接口设备都耦合到相应的显示设备。
[0313] 在一些实施方式中,根据确定(1340)响应指示拒绝(即,Jack挑选选项930(图9C中的“否”)),接口设备106在显示器上显示(1342)公共网络上的多个接口设备。
[0314] 在一些实施方式中,接口设备106从第三电子设备接收(1344)对多个第一电子设备中的第二个第一电子设备的选择。再次参考图9C的示例,如果Jack挑选选项930(“否”),则他可以从显示器中选择要配对的其他接口设备。根据选择,Jack将他的游戏控制器与接口设备中的第二个接口设备(例如,接口设备106‑2)配对,其在与接口设备106‑2耦合的显示设备上流送所选择的游戏。Jack的游戏输入使用接口设备106‑2直接传送到服务器系统114。
[0315] 在一些实施方式中,在游戏玩法期间,接口设备106从第三电子设备接收(1346)退出游戏会话的请求。
[0316] 在一些实施方式中,根据接收到的请求,接口设备106使(1348)第三电子设备退出第三游戏会话,其中,在退出期间,游戏媒体流继续由游戏服务器响应于从第二电子设备直接传送到游戏服务器的游戏输入,响应于从第二电子设备直接传送到游戏服务器的游戏输入而被生成。在一些实施方式中,第二电子设备在退出期间继续游戏玩法。在一些实施方式中,响应于退出请求,显示设备108显示请求退出请求的确认的消息(例如,如图9D所示),并且使第三电子设备在请求确认后退出。
[0317] 在一些实施方式中,接口设备106从第二电子设备接收(1350)退出会话的第二请求。
[0318] 在一些实施方式中,根据接收到的第二请求,接口设备106从游戏服务器接收(1352)会话被保存的指示。
[0319] 在一些实施方式中,接口设备106终止(1354)游戏服务。
[0320] 在一些实施方式中,第二电子设备是主机设备。因此,响应于第二请求,服务器系统114保存游戏状态并终止游戏服务。
[0321] 在一些实施方式中,接口设备106确定(1356)与主机设备相关联的第一玩家账户已经退出游戏会话和/或主机设备已经断电,并且接口设备106根据确定终止游戏服务。
[0322] 在一些实施方式中,接口设备106在显示设备上显示(1358)默认屏幕显示。在一些实施方式中,在服务器系统114已经终止游戏服务之后,显示设备108显示默认背景幕屏幕(例如,图9E的屏幕980)。
[0323] 根据一些实施方式,一种计算系统(例如,接口设备106)包括:一个或多个处理器(例如,处理器402);以及耦合到一个或多个处理器的存储器(例如,存储器406),该存储器存储被配置成由一个或多个处理器执行的一个或多个程序,该一个或多个程序包括用于执行上述方法和/或操作中的任意一个的指令。
[0324] 根据一些实施方式,非暂时性计算机可读存储介质(例如,在存储器406内)存储一个或多个程序,该一个或多个程序包括指令,当由计算系统执行时,所述指令导致系统执行上述任何方法和/或操作。
[0325] 图14A至图14B是根据一些实施方式的用于云游戏的方法1400的流程图。方法1400在具有一个或多个处理器和存储一个或多个程序以由一个或多个处理器执行的存储器的第二电子设备(例如,图3的游戏控制器102)处实现。在一些实施方式中,方法1200由:(1)一个或多个游戏控制器102;(2)一个或多个接口设备106;(3)一个或多个电子设备104;(4)一个或多个服务器系统,诸如服务器系统114;或(5)其组合,执行。在一些实施方式中,方法1400由存储在非暂时性计算机可读存储介质中并且由设备/计算系统的一个或多个处理器(诸如游戏控制器102的一个或者多个处理器302、和/或接口设备106的一个或多个处理器
402、和/或服务器系统114的一个或多个处理器502)执行的指令支配。为了方便起见,以下详细描述的特定操作被描述为由游戏控制器102执行。
[0326] 游戏控制器102向多个第一电子设备(例如,接口设备106)发送(1402)第一输入以启动游戏会话,其中第二电子设备通信地连接到公用网络上的每个第一电子设备,并且每个第一电子设备耦合到相应的显示设备。
[0327] 游戏控制器102响应于第一输入使(1406)第一电子设备中的第一个第一电子设备(例如,图10的接口设备106‑1)在没有用户干预的情况下在第一显示设备上自动显示包括多个玩家标识的登录屏幕。
[0328] 游戏控制器102使(1414)第一电子设备中的第二个第一电子设备在没有用户干预的情况下在第二显示设备上自动显示包括指令的通知。
[0329] 游戏控制器102将第二输入发送(1416)到第一电子设备中的第一个第一电子设备,该第二输入包括对来自多个玩家标识中的第一玩家标识的选择。
[0330] 游戏控制器102响应于第二输入在第一电子设备中的第一个第一电子设备上启动(1418)游戏会话。
[0331] 在一些实施方式中,诸如图10A的示例,第一电子设备中的第一个第一电子设备(例如,接口设备106‑1)是游戏控制器102的默认配对设备。根据本示例,默认客厅显示器108‑1显示游戏门户UI,并且非默认显示器(即,卧室电视108‑2)显示具有有关如何链接到显示设备108‑2的指令的消息(例如,消息1006)。
[0332] 在一些实施方式中,第一电子设备中的第一个第一电子设备是在最近的游戏会话中使用的设备。
[0333] 在一些实施方式中,每个第一电子设备包括(1404)音频接口(例如,接口设备106的麦克风414)。游戏控制器102使(1408)每个第一电子设备经由相应音频接口从第二电子设备的用户接收音频输入。游戏控制器102根据接收到的音频输入确定(1410)第一电子设备中的最接近游戏控制器102的第一个第一电子设备。根据该确定,游戏控制器102根据该确定使第一电子设备中的第一个第一电子设备与第二电子设备配对(1412)。
[0334] 在一些实施方式中,游戏控制器102使用通信接口304和/或接近度检测单元334来确定第一电子设备中的最接近游戏控制器102的第一个第一电子设备。在一些实施方式中,游戏控制器102使用Whispernet、蓝牙低功耗(BLE)或Wifi找到最接近的接口设备,并与最接近的接口设备配对。
[0335] 在一些实施方式中,游戏控制器102存储默认配对接口设备,并且覆盖默认配对设备以与它最接近的配对接口设备配对。在一些实施方式中,根据配对,最接近的接口设备在其耦合到的显示设备上切换。
[0336] 在一些实施方式中,游戏控制器102将第三输入发送(1420)到第一电子设备中的第一个第一电子设备。在一些实施方式中,第三输入是暂停游戏的命令(例如,请求)。在一些实施方式中,第三输入是用于访问游戏门户UI上的菜单的命令。
[0337] 在一些实施方式中,游戏控制器102响应于第三输入而使(1422)第一电子设备中的第一个第一电子设备显示耦合到多个第一电子设备的多个显示设备。在一些实施方式中,第三输入包括暂停游戏的请求。
[0338] 在一些实施方式中,游戏控制器102将第四输入发送(1424)到第一电子设备中的第一个第一电子设备。在一些实施方式中,第四输入是选择第一电子设备中的第二个第一电子设备的命令。
[0339] 在一些实施方式中,游戏控制器102响应于第四输入而使(1426)第一电子设备中的第一个第一电子设备暂停游戏会话。
[0340] 在一些实施方式中,游戏控制器102使(1428)第一电子设备中的第二个第一电子设备取消暂停游戏会话,从而从暂停状态恢复游戏会话,其中,响应于第四输入在没有用户干预的情况下暂停和取消暂停被并发地执行。在一些实施方式中,第一电子设备中的第一个第一电子设备和第二个第一电子设备位于本地环境的不同区域(例如,家居环境的不同房间),并且取消暂停响应于游戏控制器102和/或用户的接近度检测。
[0341] 根据一些实施方式,一种计算系统(例如,游戏控制器102)包括:一个或多个处理器;和存储器,其被耦合到一个或多个处理器,该存储器存储被配置成由一个或多个处理器执行的一个或多个程序,该一个或多个程序包括用于执行任何上述方法和/或操作的指令。
[0342] 根据一些实施方式,一种非暂时性计算机可读存储介质(例如,在存储器306内)存储一个或多个程序,该一个或多个程序包括指令,当由计算系统执行该指令时,该指令使系统执行上述任何方法和/或操作中的任意一个。
[0343] 在一些实施方式中,服务器系统206包括通知模块(未示出),用于为电子设备的用户生成警报和/或通知。例如,在一些实施方式中,校正数据库被本地存储在用户的电子设备上,服务器系统206可以生成通知以警告用户将最新版本或更新下载到校正数据库。
[0344] 尽管各种附图中的一些以特定顺序图示多个逻辑阶段,但是不依赖于顺序的阶段可以被重新排序,并且其他阶段可以被组合或分解。尽管具体提到了一些重新排序或其他分组,但是其它的对于本领域的普通技术人员而言将是显而易见的,因此本文呈现的排序和分组并非详尽的可替代列表。此外,应当认识到,这些阶段可以以硬件、固件、软件或其任何组合来实现。
[0345] 还将会理解,尽管在一些情况下,术语“第一”、“第二”等在本文中用于描述各种元件,但是这些元件不应受到这些术语的限制。这些术语仅用于区分一个元素和另一个元素。例如,在不脱离各种所描述的实施方式的范围的情况下,第一接口设备可以被称为第二接口设备,并且类似地,第二接口设备可以被称为第一接口设备。第一接口设备和第二接口设备都是接口设备,但是它们不是相同类型的接口设备。
[0346] 在本文中对各种所描述的实施方式的描述中使用的术语仅是出于描述特定实施方式的目的,并不旨在进行限制。如在各种所描述的实施方式和所附权利要求的描述中所使用的,单数形式“一”、“一个”和“该”也旨在包括复数形式,除非上下文另外明确指出。还应理解,本文所用的术语“和/或”指代并涵盖一个或多个相关联所列项目的任何和所有可能的组合。将进一步理解的是,当在本说明书中使用时,术语“包括”、“包括”、“包含”和/或“包含”指定所述特征、整数、步骤、操作、元素和/或者组件,但不排除存在或增加一个或多个其他特征、整数、步骤、操作、元素、组件和/或其组。
[0347] 如本文所用,取决于上下文,术语“如果”任选地解释为意指“何时”或“在……时”或“响应于确定”或“响应于检测到”或“根据确定,”。类似地,取决于上下文,短语“如果确定”或“如果检测到[所陈述的条件或事件]”可选地被解释为意指“在确定时”或“响应于确定”或“在检测到[所陈述的条件或事件]时”或“响应于检测到[陈述的条件或事件]”或“根据确定检测到[陈述的条件或事件]”。
[0348] 为了说明的目的,已经参考特定实施方式描述了前述描述。然而,以上说明性讨论并非旨在穷举或将权利要求的范围限制为所公开的精确形式。鉴于以上教导,许多修改和变化是可能的。挑选实施方式以便于最好地解释权利要求及其实际应用所基于的原理,从而使本领域的其他技术人员能够最佳地使用具有适于所设想的特定用途的各种修改的实施方式。
[0349] 要求主张的权利要求是: