用于改进云中的游戏流式传输性能的方法与流程

文档序号:11594179阅读:400来源:国知局

本申请总体涉及改进云游戏环境中的计算机游戏流式传输性能。

发明背景

随着计算机游戏越来越流行,已经开发了其中远程玩家可玩基于云的游戏的游戏,即,游戏文件、纹理等基于来自玩家的控制台的输入命令通过互联网在远程服务器中执行,并且服务器游戏的的输出被发送给玩家的控制台。如本文所理解,玩家可能不希望在这种环境中经历持久的游戏加载时间。

发明概要

因此,在第一方面,装置具有计算机存储器,所述计算机存储器不是瞬时信号并且包括指令,所述指令可由处理器执行以从第一计算机游戏装置(cgd)接收对与第一计算机游戏有关的数据的第一请求。所述指令可执行以基于以下确定来将第一服务器系统指配为用于第一cgd的第一计算机游戏的源:第一服务器系统在第一服务器的固态存储器中具有与由第一cgd所使用相同的系统软件,和/或第一服务器系统在第一服务器的固态存储器中具有第一计算机游戏,和/或第一服务器系统在第一服务器的固态存储器中具有与第一cgd相关联的用户文件。

在实例中,所述指令可执行以确定第一服务器系统在第一服务器的固态存储器中具有与由第一cgd所使用的相同的系统软件,并且确定第二服务器在第二服务器的固态存储器中具有第一计算机游戏。基于对与由第一cgd所使用相同的系统软件的存储大小大于第一计算机游戏的存储大小的确定来将第一服务器指配为用于第一cgd的第一计算机游戏的源。另一方面,基于对与由第一cgd所使用相同的系统软件的存储大小小于第一计算机游戏的存储大小的确定来将第二服务器指配为用于第一cgd的第一计算机游戏的源。

与此类似,所述指令可执行以确定第一服务器系统在第一服务器的固态存储器中具有与由第一cgd所使用的相同的系统软件,并且确定第二服务器在第二服务器的固态存储器中具有与第一cgd相关联的用户文件。可基于对与由第一cgd所使用相同的系统软件的存储大小大于用户文件的存储大小的确定来将第一服务器指配为用于第一cgd的第一计算机游戏的源,而可基于对与由第一cgd所使用相同的系统软件的存储大小小于用户文件的存储大小的确定来将第二服务器指配为用于第一cgd的第一计算机游戏的源。

同样地,所述指令可执行以确定第一服务器系统在第一服务器的固态存储器中具有第一计算机游戏,并且确定第二服务器在第二服务器的固态存储器中具有与第一cgd相关联的用户文件。可基于对第一计算机游戏的存储大小大于用户文件的存储大小的确定来将第一服务器指配为用于第一cgd的第一计算机游戏的源。相反,可基于对第一计算机游戏的存储大小小于用户文件的存储大小的确定来将第二服务器指配为用于第一cgd的第一计算机游戏的源。

如果需要,则所述指令可执行以通过确定第一服务器系统在预定先前时间段内使用预定来确定第一服务器系统在固态存储器中具有所述预定数据。

还公开一种实现以上指令的方法。

另一方面,计算机实现的云游戏管理器以指令编程来进行以下操作:基于云系统中的哪个服务器在服务器存储器中具有所请求游戏来选择游戏服务器以将计算机游戏流式传输至请求客户端游戏控制台,和/或基于云系统中的哪个服务器在服务器存储器中具有所请求游戏系统来选择游戏服务器以将计算机游戏流式传输至请求客户端游戏控制台,和/或基于云系统中的哪个服务器在服务器存储器中具有请求客户端游戏控制台的用户文件来选择游戏服务器以将计算机游戏流式传输至请求客户端游戏控制台。

本申请的关于其结构和操作两者的细节可参考附图得到最好的理解,在附图中相同参考数字指代相同部分,并且在附图中:

附图简述

图1是根据本原理的包括实例的示例性系统的方框图;

图2是基于云的游戏系统的示意图;并且

图3是示例性逻辑的流程图。

具体实施方式

本公开总体涉及计算机生态系统,所述计算机生态系统包括消费者电子设备(ce)装置网络例如但不限于分布式计算机游戏网络的各方面。本文的系统可包括服务器和客户端部件,所述服务器和客户端部件通过网络连接,使得数据可在客户端与服务器部件之间交换。客户端部件可包括一个或多个计算装置,所述一个或多个计算装置包括游戏控制台,所述一个或多个计算装置如sonyplaystationtm、便携式电视机(例如,智能tv、互联网使能tv)、便携式计算机(如膝上型计算机和平板计算机),以及其他移动装置,包括智能电话和以下所论述的另外的实例。这些客户端装置可以多种操作环境操作。例如,客户端计算机中的一些可使用例如orbis或linux操作系统、来自microsoft的操作系统,或unix操作系统,或由applecomputer或google生产的操作系统。这些操作环境可用来执行一个或多个浏览程序,如由microsoft或google或mozilla制作的浏览器,或可访问由以下所论述的互联网服务器托管的网站的其他浏览器程序。此外,根据本原理的操作环境可用来执行一个或多个计算机游戏程序。

服务器和/或网关可包括执行指令的一个或多个处理器,所述指令配置服务器来通过如互联网的网络接收和传输数据。或者,客户端和服务器可通过本地内联网或虚拟专用网络连接。服务器或控制器可由如(商标为)sonyplaystation的游戏控制台、个人计算机等实例化。

信息可通过网络在客户端与服务器之间交换。为此并且为安全起见,服务器和/或客户端可包括防火墙、负载均衡器、临时存储器和代理,以及用于可靠性和安全性的其他网络基础设施。一个或多个服务器可形成实现向网络成员提供如在线社交网站的安全社区的方法的设备。

如本文所使用,指令指代用于在系统中处理信息的计算机实现的步骤。指令可在软件、固件或硬件中实现,并且包括由系统的部件进行的任何类型的已编程步骤。

处理器可以是可借助于如地址线、数据线和控制线的各种线以及寄存器和移位寄存器执行逻辑的任何常规通用的单芯片处理器或多芯片处理器。

本文中以流程图和用户接口的方式描述的软件模块可包括各种子例程、过程等。在不限制本公开的情况下,陈述为由特定模块执行的逻辑可被重新分布到其他软件模块和/或在单一模块中组合在一起和/或被使得可在可共享库中利用。

本文所述的本原理可实现为硬件、软件、固件或其组合;因此说明性部件、块、模块、电路和步骤依据其功能性加以阐述。

除以上所述内容之外,以下所述的逻辑块、模块和电路可用通用处理器、数字信号处理器(dsp)、现场可编程门阵列(fpga)或其他可编程逻辑装置实现或执行,所述其他可编程逻辑装置如专用集成电路(asic)、离散门或晶体管逻辑、离散硬件部件或上述各项的被设计来执行本文所述的功能的任何组合。处理器可由控制器或状态机或计算装置的组合实现。

以下所述的功能和方法当在软件中实现时可以例如但不限于java、c#或c++的适当语言编写,并且可存储在计算机可读存储介质上或通过计算机可读存储介质传输,所述计算机可读存储介质如随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、光盘只读存储器(cd-rom)或其他光盘存储设备,如数字多功能光盘(dvd)、磁盘存储设备或包括可移除拇指驱动器的其他磁存储装置等。连接可建立计算机可读介质。这类连接可包括例如硬连线电缆,所述硬连线电缆包括光纤和同轴线以及数字用户线(dsl)和双绞线。这类连接可包括无线通信连接,所述无线通信连接包括红外线和无线电。

包括在一个实施方案中的部件可以任何适当组合使用于其他实施方案中。例如,可将本文所述的和/或附图中描绘的各种部件中的任一个组合、互换或从其他实施方案排除。

“具有a、b和c中的至少一个的系统”(类似地,“具有a、b或c中的至少一个的系统”和“具有a、b、c中的至少一个的系统”)包括仅具有a、仅具有b、仅具有c、具有a和b、a和c、b和c和/或a、b和c等的系统。

现具体地参考图1,示出示例性系统10,所述系统可包括以上提及和以下根据本原理进一步描述的示例性装置中的一个或多个。包括在系统10中的示例性装置中的第一个是消费者电子设备(ce)装置,如音频视频装置(avd)12,所述音频视频装置(avd)例如但不限于具有tv调谐器(等同地,控制tv的机顶盒)的互联网使能的tv。然而,avd12替代地可以是器具或家用物品,例如,计算机化的互联网使能的冰箱、洗涤器或干燥器。avd12替代地还可以是计算机化的互联网使能的(“智能”)电话、平板计算机、笔记本式计算机、例如像计算机化的互联网使能的手表、计算机化的互联网使能的手镯的可穿戴式计算机化的装置、其他计算机化的互联网使能的装置、计算机化的互联网使能的音乐播放器、计算机化的互联网使能的头戴耳机、计算机化的互联网使能的可植入装置,如可植入皮肤装置等。无论如何,应理解,avd12被配置来进行本原理(例如,与其他ce装置通信来进行本原理,执行本文所述的逻辑,并且执行本文所述的任何其他功能和/或操作)。

因此,为了进行这类原理,avd12可由图1中所示的部件中的一些或全部建立。例如,avd12可包括一个或多个显示器14,所述一个或多个显示器可由高清晰度或超高清晰度(“4k”)或更高的平面屏幕实现,并且可以是触摸使能的,以用于通过显示器上的触摸来接收用户输入信号。avd12可包括根据本原理的用于输出音频的一个或多个扬声器16,和例如用于将可听命令输入至avd12中以控制avd12的至少一个另外的输入装置18,例如像音频接收器/麦克风。示例性avd12还可包括用于在一个或多个处理器24的控制下通过如互联网、wan、lan等的至少一个网络22通信的一个或多个网络接口20。因此,接口20可以是但不限于wi-fi收发器,所述wi-fi收发器为无线计算机网络接口的实例,例如但不限于网状网络收发器。应理解,处理器24控制avd12来进行本原理,包括本文所述的avd12的其他元件,例如像控制显示器14来在所述显示器上呈现图像和从显示器接收输入。此外,请注意网络接口20可以是例如有线或无线调制解调器或路由器,或其他适当接口,例如像无线电话收发器或如以上所提及的wi-fi收发器等。

除前述内容之外,avd12还可包括用来物理地连接(例如,使用有线连接)到另一个ce装置的一个或多个输入端口26(例如像高清晰度多媒体接口(hdmi)端口或usb端口),和/或用来将耳机连接到avd12以用来通过耳机将来自avd12的音频呈现给用户的耳机端口。例如,输入端口26可通过线或无线地连接到音频视频内容的电缆或卫星源26a。因此,源26a可以是例如单独的或集成的机顶盒,或卫星接收器。或者,源26a可以是含有内容的游戏控制台或磁盘播放器,所述内容可被用户视为用于以下进一步描述的信道指配目的的最喜爱的事物。源26a在实现为游戏控制台时可包括以下关于ce装置44描述的部件中的一些或全部。

avd12可还包括不为瞬时信号的一个或多个计算机存储器28,如基于磁盘的存储设备或固态存储设备,所述一个或多个计算机存储器在一些情况下于avd底盘中体现为独立装置,或体现为avd底盘内部或外部的用于回放av节目的个人视频记录装置(pvr)或视频磁盘播放器,或体现为可移除存储器介质。另外在一些实施方案中,avd12可包括定位或位置接收器,例如但不限于手机接收器、gps接收器和/或高度计30,所述定位或位置接收器被配置来例如从至少一个卫星或手机塔接收地理定位信息并且将所述信息提供给处理器24和/或结合处理器24确定avd12被设置的高度。然而,应理解,可根据本原理使用除手机接收器、gps接收器和/或高度计之外的另一个合适的定位接收器来例如确定avd12在例如所有三维中的位置。

继续avd12的描述,在一些实施方案中,avd12可根据本原理包括一个或多个摄像机32,所述一个或多个摄像机可以是例如热成像摄像机、数字摄像机(如网络摄像机)和/或集成到avd12中并且可由处理器24控制来收集图片/图像和/或视频的摄像机。还包括在avd12上的可以是用于分别使用蓝牙和/或nfc技术与其他装置通信的蓝牙收发器34和其他近场通信(nfc)元件36。示例性nfc元件可以是射频识别(rfid)元件。

再进一步说,avd12可包括向处理器24提供输入的一个或多个辅助传感器37(例如,运动传感器,如加速计、陀螺仪、回转计或磁传感器、红外线(ir)传感器、光学传感器、速度和/或节奏传感器、手势传感器(例如,用于感测手势命令)等)。avd12可包括用于接收向处理器24提供输入的othtv广播的无线tv广播端口38。除前述内容之外,应注意,avd12还可包括红外线(ir)发射器和/或ir接收器和/或ir收发器42,如ir数据关联(irda)装置。可提供电池(未示出)以用于为avd12供电。

仍参照考1,除avd12之外,系统10可包括一个或多个其他ce装置类型。在一个实例中,第一ce装置44可用来经由通过以下所述的服务器发送的命令控制显示器,而第二ce装置46可包括与第一ce装置44类似的部件并且因此将不进行详细论述。在所示的实例中,示出仅两个ce装置44、46,应理解,可使用更少或更大装置。如以上所述,ce装置44/46和/或源26a可由游戏控制台实现。或者,ce装置44/46中的一个或多个可由以商标googlechromecast、roku、amazonfiretv出售的装置实现。

在所示的实例中,为了说明本原理,所有三个装置12、44、46假定是例如家中娱乐网络的成员,或至少在如房子的位置中彼此接近地存在。然而,本原理不限于由虚线48示出的特定位置,除非另有明确要求。

示例性的非限制性第一ce装置44可由以上提及的装置(例如,便捷式无线膝上型计算机或笔记本计算机或游戏控制器(也称为“控制台”))中的任一个建立,并且因此可具有以下所述的部件中的一个或多个。第二ce装置46无限制的地可由如蓝光播放器、游戏控制台等的视频磁盘播放器建立。第一ce装置44可以是用于例如将av播放和暂停命令发布到avd12的远程控件(rc),或它可以是更加复杂的装置,如平板计算机、通过有线或无线链路与由第二ce装置46实现的游戏控制台通信并且控制avd12上的视频游戏呈现的游戏控制器、个人计算机、无线电话等。

因此,第一ce装置44可包括可以是触摸使能的用于通过显示器上的触摸接收用户输入信号的一个或多个显示器50。第一ce装置44可包括根据本原理的用于输出音频的一个或多个扬声器52,以及用于例如将可听命令输入至第一ce装置44以控制装置44的至少一个另外的输入装置54,例如像音频接收器/麦克风。示例性第一ce装置44还可包括用于在一个或多个ce装置处理器58的控制下通过网络22通信的一个或多个网络接口56。因此,接口56可无限制地为wi-fi收发器,所述wi-fi收发器为无线计算机网络接口(包括网状网络接口)的实例。应理解,处理器58控制第一ce装置44来进行本原理,包括本文所述的第一ce装置44的其他元件,例如像控制显示器50来在所述显示器上呈现图像和从所述显示器接收输入。此外,请注意,网络接口56可以是例如有线或无线调制解调器或路由器,或其他适当接口,例如像无线电话或如以上所提及的wi-fi收发器等。

除前述内容之外,第一ce装置44还可包括用来物理地连接(例如,使用有线连接)到另一个ce装置的例如像hdmi端口或usb端口的一个或多个输入端口60,和/或用来将耳机连接到第一ce装置44以用于通过耳机将来自第一ce装置44的音频呈现给用户的耳机端口。第一ce装置44可还包括一个或多个有形计算机可读存储介质62,如基于磁盘的存储设备或固态存储设备。另外,在一些实施方案中,第一ce装置44可包括定位或位置接收器,例如但不限于手机和/或gps接收器和/或高度计64,所述定位或位置接收器被配置来例如使用三角测量从至少一个卫星或手机塔接收地理定位信息,并且将所述信息提供给ce装置处理器58和/或结合ce装置处理器58确定第一ce装置44被设置的高度。然而,应理解,可根据本原理使用除手机和/或gps接收器和/或高度计之外的另一个合适的定位接收器,以例如确定第一ce装置44在例如所有三维中的位置。

继续第一ce装置44的描述,在一些实施方案中,第一ce装置44可根据本原理包括一个或多个摄像机66,所述一个或多个摄像机可以是例如热成像摄像机、数字摄像机(如网络摄像机)和/或集成到第一ce装置44中并且可由ce装置处理器58控制以收集图片/图像和/或视频的摄像机。还包括在第一ce装置44上的可以是用于分别使用蓝牙和/或nfc技术与其他装置通信的蓝牙收发器68和其他近场通信(nfc)元件70。示例性nfc元件可以是射频识别(rfid)元件。

再进一步说,第一ce装置44可包括向ce装置处理器58提供输入的一个或多个辅助传感器72(例如,运动传感器,如加速计、陀螺仪、回转计或磁传感器、红外线(ir)传感器、光学传感器、速度和/或节奏传感器、手势传感器(例如,用于感测手势命令)等)。第一ce装置44还可包括向ce装置处理器58提供输入的其他传感器,例如像一个或多个气候传感器74(例如,气压计、湿度传感器、风传感器、光传感器、温度传感器等)和/或一个或多个生物计量传感器76。除前述内容之外,应注意,在一些实施方案中,第一ce装置44还可包括红外线(ir)发射器和/或ir接收器和/或ir收发器78,如ir数据关联(irda)装置。可提供电池(未示出)以用于为第一ce装置44供电。ce装置44可通过上述通信模式和有关部件与avd12通信。

第二ce装置46可包括针对ce装置44所示的部件中的一些或全部。ce装置中的一个或两个可由一个或多个电池供电。

现参考以上提及的至少一个服务器80,所述至少一个服务器包括至少一个服务器处理器82、如基于磁盘的存储设备或固态存储装置的至少一个有形计算机可读存储介质84,和在服务器处理器82的控制下允许通过网络22与图1的其他装置通信的至少一个网络接口86,并且实际上可根据本原理促进服务器与客户端装置之间的通信。请注意,网络接口86可以是例如有线或无线调制解调器或路由器、wi-fi收发器或其他适当接口,例如像无线电话收发器。通常,服务器80包括多个计算机中的多个处理器,所述多个计算机被称为“刀片”。

因此,在一些实施方案中,服务器80可以是互联网服务器或整个服务器“群”,并且可包括和执行“云”功能,使得系统10的装置可在用于例如网络游戏应用的示例性实施方案中通过服务器80存取“云”环境。或者,服务器80可由一个或多个游戏控制台或相同房间中的如在图1或附近所示的其他装置的其他计算机实现。

本文方法可实现为由处理器、适当地配置的专用集成电路(asic)或现场可编程门阵列(fpga)模块,或如本领域中技术人员将理解的任何其他便利方式执行的软件指令。在使用的情况下,软件指令可体现在如cdrom或闪存驱动器的非瞬时装置中。软件代码指令可替代地体现在如无线电或光信号的瞬时布中,或通过互联网经由下载来体现。

图2示出云计算机游戏环境,其中如sonyplaystations、microsoftxbox等的一个或多个客户端游戏控制台200(也被称为“游戏系统”、“游戏装置”)通过有线和/或无线链路与基于云的游戏管理服务器202(通常为互联网服务器)通信。进而,管理服务器202与第一游戏服务器204(其可由多个服务器“刀片”体现)通信,所述第一游戏服务器包括一个或多个固态存储器206(如随机存取存储器(ram))和一个或多个硬盘驱动器208,所述磁盘驱动器208中的每一个通常包括内部固态磁盘高速缓存210,并且存储器206不是硬盘驱动器208的一部分但与硬盘驱动器208通信。管理服务器202与高达“n”个这类服务器通信,所述“n”个这类服务器包括第n游戏控制器212,所述第n个游戏控制器212包括一个或多个固态存储器214和具有板载磁盘高速缓存218的一个或多个磁盘驱动器216。

在本公开的最简单形式中,本公开将最近已从相应游戏服务器流式传输至游戏控制台的游戏有关的信息维持在服务器存储器206/214中,以在新游戏控制台尝试进行基于云的游戏时减少游戏加载时间,并且以基于服务器在其固态存储器中已经具有用于特定游戏控制台的相关信息来将所述服务器指配给请求游戏控制台。例如,可将游戏控制台指配给最近已经流式传输由控制台请求的相同计算机游戏的游戏服务器,意味着所请求游戏的游戏文件、纹理等已经处于服务器的存储器中,并且因此可被使得可利用于比在所需要的游戏文件自磁盘加载到存储器中的情况下快得多地用于控制台。或者,可将游戏控制台指配给最近已将游戏信息流式传输至具有软件游戏系统的控制台的游戏服务器,所述软件游戏系统与请求控制台的软件系统相同。再一次,在理解如保存、用户个人配置文件等的用户有关的数据在那个服务器的存储器中仍可利用的情况下,可将游戏控制台指配给最近已将游戏信息流式传输至相同游戏控制台的游戏服务器。请注意,管理服务器可由游戏服务器中的一个实现。

记住这些原理,将注意力吸引至用于可使用的示例性逻辑的图3。从框300处开始,在一些实施方案中,可基于启发法将一个或多个计算机游戏或计算机游戏系统预加载到一个或多个游戏服务器中的存储器中,所述启发法如由使用特定软件游戏系统的控制台对某些游戏的过去存取。在存储器变满的情况下,可清除最久远地流式传输的信息。

前进至框203,从游戏控制台200接收请求以玩基于云的计算机游戏。管理服务器202可在框304处存取可能已经存储在游戏服务器204、212中的一个或多个上的用户数据。另外,管理服务器可在框306处确定提出在框302处接收请求的控制台的所请求游戏和软件系统(例如,playstation-3或playstation-4)。

然后,在框308处,管理服务器确定哪个游戏服务器在存储器中具有所请求游戏的游戏文件和纹理以及其他游戏信息。在查明何物在存储器中时,管理服务器可存取列表存储器内容的文件分配表或其他数据结构。或者,管理服务器可确定服务器最后流式传输游戏的时间并且以此为基础推断服务器仍将游戏保持在存储器中。换句话讲,管理服务器可通过根据其管理记录确定游戏服务器在预定先前时间段内流式传输游戏数据来确定游戏服务器在存储器中具有所请求游戏。

可分别在框310和框312处进行与以下有关的类似确定:哪个服务器在存储器中具有用户数据(与请求游戏控制台的用户有关的数据)和哪个服务器在存储器中具有请求控制台的游戏软件。然后,管理服务器作为用来将游戏流式传输至请求控制台的服务器来选择在存储器中通常具有最大量的有关数据(所述有关数据为游戏文件、游戏系统或用户数据)的服务器。然后将游戏流式传输所需要的其他数据加载到选择的服务器的存储器中,在框316处使用选择的服务器来将游戏流式传输至请求控制台。

请注意,在选择游戏服务器中,管理系统通常选择在存储器中具有最大量的有关数据的服务器,如以上提及的。例如,如果第一服务器在存储器中含有用户数据并且用户数据消耗50mb,而第二服务器在存储器中含有游戏文件数据并且游戏文件数据消耗500mb,则通常将选择第二计算机,并且将用户数据从第一服务器发送至所述第二计算机。然而,在一些情况下,传输时间可在服务器之间并且取决于历史或实际测量的传输时间变化,可确定的是,可将来自第一游戏服务器的较大量的数据传输至在存储器中具有较小量数据的第二服务器,而不是可将第二服务器中的较小量的数据流式传输至第一服务器。在这种情景下,第二服务器可选择为用来流式传输游戏的服务器。

应理解,虽然已经参照一些示例性实施方案描述了本原理,但是这些实施方案并不意图为限制并且各种替代性布置可用来实现本文所要求的主题。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1