用于远程显示的虚拟化图形处理的制作方法

文档序号:6502874阅读:154来源:国知局
用于远程显示的虚拟化图形处理的制作方法
【专利摘要】从终端用户设备接收用户输入。用户输入与在计算机系统上并行执行的应用相关联。响应于用户输入,使用配置为由应用所并发利用的多个虚拟GPU的图形处理单元(GPU)来生成数据。数据随后被引导到适当的终端用户设备用于显示。
【专利说明】用于远程显示的虚拟化图形处理
[0001]相关美国申请
[0002]本申请要求于2012年5月15 日提交的、名为“Virtualized Graphics Processingfor Remote Display”、序列号为61/647,331的美国临时申请的优先权,在此通过援引的方式对其全文加以合并。本申请还要求于2012年11月28日提交的、名为“Grid-RelatedInventions”、序列号为61/730,940的美国临时申请的优先权,同样在此通过援引的方式对其全文加以合并。
【背景技术】
[0003]在历史上,使用个人计算机(PC)或使用接附于电视的控制台来执行(玩耍)诸如视频游戏的应用。用户购买或租借加载到PC上或插入到游戏控制台中的游戏并随后以众所周知的方式进行玩耍。
[0004]近来,在线游戏已经流行。在线游戏在诸如因特网的网络上进行玩耍。游戏加载到用户设备上而玩游戏所需的其他软件驻留于经由网络所访问的服务器上。一般来说,游戏在用户设备和服务器上均执行。在线游戏允许用户在由服务器上的软件所提供的游戏环境中相互竞争。
[0005]最近,云游戏已日益流行。云游戏是一类在线游戏,其中实际游戏存储在服务器上,与上文提到的在线游戏的类型相反。服务器响应于从用户所接收的控制信息来执行游戏并使产生的内容流到用户设备。云游戏降低了用户设备的能力的重要性。

【发明内容】

[0006]根据本发明的实施例涉及促进和加强在线游戏特别是云游戏(还称为点播游戏)的系统和方法。然而,根据本发明的实施例不限于游戏应用并可扩展到其他类型的应用。
[0007]在一个实施例中,从终端用户设备或客户端设备接收用户输入。用户输入与在计算机系统(例如服务器)上并行地执行的应用相关联。响应于用户输入,使用配置为由应用所并发利用的多个虚拟GPU的物理图形处理单元(GPU)来生成数据。计算机系统可托管(host)超过一个这种物理GPU。应用的每个实例可与虚拟GPU之一相关联。虚拟GPU执行各种应用、并行地处理各种输入、并相应地生成输出数据。数据随后被分别引导到终端用户设备用于由那些设备显示;每个终端用户设备接收其应该接收的输出数据部分。终端用户设备对托管虚拟GPU的计算机系统是远程的。
[0008]在一个实施例中,在包括配置为由并行执行的多个应用并发使用的GPU(即配置为多个虚拟GPU的GPU)的集中式服务器设备处接收用户输入。用户输入从通信耦连到服务器设备的独立的(即位于远程的)客户端设备被接收。用户输入与应用之一相关联。根据用户输入来用GPU生成数据。所生成的数据包括适用于显示的图形数据。使用可包括因特网并且可以是有线或无线的一个或多个通信路径来将数据从服务器设备发送到客户端设备。客户端设备配置为解码数据用于在显示设备上显示。在一个实施例中,数据是从服务器设备流到客户端设备的经压缩的图像数据。在一个实施例中,应用是视频游戏。[0009]并行于(并发于)上文的操作,在服务器设备处从另一个(第二)通信耦连到服务器设备的独立的客户端设备接收其他用户输入。第二用户输入与第二应用(其可以与上文所指的应用相同或不同)相关联。同样并发于上文的操作,根据第二用户输入使用GPU来生成数据并从服务器设备发送到第二客户端设备。
[0010]在一个实施例中,访问指示应用对客户端设备可用的信息。也就是说,实施检查以确定用户是否经授权以使用应用。
[0011 ] 存在若干与本发明的特征相关联的优点。例如,用来执行应用的硬件具现化在服务器设备上,结果是用户可仅用瘦客户端来利用应用一客户端设备可以仅需要能够解码(解压缩)并显示从用户所接收的数据,同时还许可用户与服务器设备上的应用交互(例如接收用户输入并将其传送到服务器)。因此,诸如高级GPU的重要的硬件更新可在服务器处实现,并且因此用户不必随着技术演变而购买新设备。而且,服务器可使用通用格式诸如H.264格式来压缩输出(例如显示)数据。换句话说,客户端设备一如瘦设备一在其均能使用普遍的、标准化的以及现成的方案来解码数据的意义上讲可以是非常相似的。因此,没有必要开发和维护应用的不同版本以适合不同类型的客户端平台。此外,因为应用驻留于服务器上,这使其更容易控制分布和使用,因此促进了数字版权管理(DRM)。
[0012]在阅读在各种附图中示出的实施例的接下来的详细描述之后,本领域的普通技术人员将认识到本公开的各种实施例的这些和其他对象以及优点。
【专利附图】

【附图说明】
[0013]附图,其包含在本说明书中并形成本说明书的一部分并且其中同样的数字描绘同样的元素,示出了本公开的实施例并且与描述一起用来解释本公开的原理。
[0014]图1A是能够实现根据本发明的实施例的服务器计算机系统的示例的框图。
[0015]图1B是能够实现根据本发明的实施例的客户端设备的示例的框图。
[0016]图2示出在根据本发明的实施例中的图形系统的示例。
[0017]图3是能够实现根据本发明的实施例的系统的框图。
[0018]图4是代表在根据本发明的实施例中的从虚拟GPU到客户端设备的数据流的框图。
[0019]图5是在根据本发明的实施例中的、用于提供用于远程显示的虚拟化图形处理的计算机实现的方法的示例的流程图。
【具体实施方式】
[0020]现在将对本公开的各种实施例进行详细参考,其示例在附图中示出。虽然结合这些实施例加以描述,但应理解其并不意图将本公开限定于这些实施例。相反,本公开意在涵盖可包括在如所附的权利要求所定义的本公开的精神和范围内的替代、修改以及等同物。此外,在本公开接下来的详细描述中,阐述了大量特定细节以提供对本公开的彻底理解。然而,应理解的是本公开可在没有这些特定细节的情况下加以实施。在其他实例中,未详细描述公知的方法、过程、部件和电路以避免对本公开的各方面内容造成不必要的混淆。
[0021]接下来的一些详细描述部分以过程、逻辑块、处理以及对计算机存储器内的数据位的操作的其他象征性表示来呈现。这些描述和表示是由数据处理领域技术人员用来向本领域的其他技术人员最有效地传达他们工作的实质而使用的手段。在本申请中,过程、逻辑块、进程等等,被设想为得出期望结果的步骤或指令的自洽序列。步骤利用物理量的物理操纵。通常,尽管不是必要地,这些量采用能在计算机系统中被存储、转移、组合、比较和另外操纵的电或磁信号的形式。已经证明,主要是出于共同使用的原因,将这些信号称为事务、位、值、元素、符号、字符、样本、像素等等有时是方便的。
[0022]然而,要牢记的是,所有的这些和类似的术语都要与适当的物理量相关联,且仅仅是应用于这些量的便捷标签。除非特别声明,否则在下面的论述中很明显,应意识到贯穿本公开,利用术语诸如“接收”、“生成”、“发送”、“解码”、“编码”、“访问”、“流”等等的讨论,指的是计算机系统或类似的电子计算设备或处理器(如图1A的系统100)的动作与进程(如图5的流程图500)。计算机系统或类似的电子计算设备对计算机系统存储器、寄存器或其他这类信息存储、传送或显示设备内以物理(电子)量表示的数据进行操纵和转换。
[0023]本文描述的实施例可一般围绕着驻留于某一形式的计算机可读存储介质上的计算机可执行指令加以讨论,诸如由一台或多台计算机或其他设备执行的程序模块。以示例的方式但非限制,计算机可读存储介质可以包括非暂时性计算机可读存储介质和通信介质;非暂时性计算机可读介质包括除了暂时性传播信号之外所有的计算机可读介质。通常,程序模块包括例程、程序、对象、部件、数据结构等等,其实施特定任务或实现特定的抽象数据类型。程序模块的功能可以在各种实施例按照期望加以组合或分布。
[0024]计算机存储介质包括易失性和非易失性的、可移动的和不可移动的以任何方法或技术实现的介质,用于存储信息诸如计算机可读指令、数据结构、程序模块或其他数据。计算机存储介质包括但不限于,随机存取存储器(RAM)、只读存储器(ROM)、电可擦可编程ROM(EEPR0M)、闪速存储器或其他存储器技术、压缩光盘ROM (⑶-ROM)、数字多用盘(DVD)或其他光学存储、盒式磁带、磁带、磁盘存储或其他磁性存储设备、或任何其他可用来存储期望信息并可访问以检索这些信息的介质。
[0025]通信介质可体现计算机可执行指令、数据结构及程序模块,并包括任何信息递送介质。以示例的方式但非限制,通信介质包括有线介质诸如有线网络或直接有线连接,以及无线介质诸如声波、射频(RF)、红外线及其他无线介质。以上的任何组合也可包括在计算机可读介质范围内。
[0026]图1A是能够实现根据本发明的实施例的计算机系统100的示例的框图。在图1A的示例中,计算机系统100包括中央处理单元(CPU)105用于运行软件应用以及可选地运行操作系统。存储器110存储应用和数据用于由CPU105使用。存储115提供用于应用和数据的非易失性存储并可包括固定磁盘驱动器、可移动磁盘驱动器、闪速存储器设备及CD-ROM、DVD-ROM或其他光学存储设备。可选的用户输入120包括使来自一个或多个用户的用户输入通信至计算机系统100的设备,并可以包括键盘、鼠标、控制杆、触摸屏和/或扩音器。通信或网络接口 125允许计算机系统100经由电子通信网络与其他计算机系统进行通信,该电子通信网络包括有线和/或无线通信并包括因特网。可选的显示设备150可以是任何能响应于来自计算机系统100的信号而显示视觉信息的设备。计算机系统100的部件,包括CPU105、存储器110、数据存储115、用户输入设备120、通信接口 125以及显示设备150,可经由一条或多条数据总线160进行连接。
[0027]在图1A实施例中,图形系统130与数据总线160和计算机系统100的部件连接。图形系统130可以包括物理图形处理单元(GPU) 135和图形存储器。GPU135根据渲染命令生成用于输出图像的像素数据。如结合图2所进一步讨论的,物理GPU135可配置为由并行执行的若干应用所并行(并发)使用的多个虚拟GPU。
[0028]图形存储器可以包括显示存储器140 (例如,帧缓冲区),用于存储用于输出图像的每个像素的像素数据。在另一个实施例中,显示存储器140和/或附加的存储器145可以是存储器110的一部分,并可与CPU105共享。可替代地,显示存储器140和/或附加的存储器145可是一个或多个单独的存储器,供图形系统130专用。
[0029]在另一个实施例中,图形处理系统130包括一个或多个附加的物理GPU155,与GPU135类似。每个附加的GPU155适用于与GPU135并行地操作。每个附加的GPU155根据渲染命令生成用于输出图像的像素数据。每个附加的物理GPU155可配置为由并行执行的若干应用所并行(并发)使用的多个虚拟GPU。每个附加的GPU155可结合GPU135操作,以同时生成用于输出图像的不同部分的像素数据,或同时生成用于不同输出图像的像素数据。
[0030]每个附加的GPU155可与GPU135位于相同的电路板上,与GPU135共享到数据总线160的连接,或者每个附加的GPU155可位于与数据总线160分开连接的另一个电路板上。每个附加的GPU155还可集成到与GPU135相同的模块或芯片封装中。每个附加的GPU155可具有附加的存储器,类似于显示存储器140和附加的存储器145,或可与GPU135共享存储器 140 和 145。
[0031]图1B是能够实现根据本发明的实施例的终端用户或客户端设备200的示例的框图。在图1B的示例中,客户端设备200包括CPU205用于运行软件应用以及可选地运行操作系统。用户输入220包括对来自一个或多个用户的用户输入进行通信的设备并可包括键盘、鼠标、控制杆、触摸屏和/或扩音器。通信接口 225允许客户端设备200经由电子通信网络与其他计算机系统(例如图1A的计算机系统100)进行通信,该电子通信网络包括有线和/或无线通信并包括因特网。解码器255是能够解码(解压缩)经编码(经压缩)的数据的任何设备。例如,解码器255可以是H.264解码器。显示设备250是能够显示包括从解码器255所接收的信息的视觉信息的任何设备。具体来讲,如下文将描述的,显示设备250用来显示从计算机系统100所接收的视觉信息。客户端设备200的部件经由一条或多条数据总线260进行连接。
[0032]相对于计算机系统100,图1B的示例中的客户端设备200具有较少的部件和较少的功能性,并且因此可被称为瘦客户端。然而,客户端设备200可包括其他部件,该其他部件包括上文所描述的那些部件。通常,客户端设备200可以是具有显示能力、解码(解压缩)数据的能力、以及从用户接收输入并将这种输入发送到计算机系统100的能力的任何类型的设备。然而,除了刚提及的那些能力之外,客户端设备200可具有附加的能力。例如,客户端设备200可以是个人计算机、平板计算机、电视等等。
[0033]图2示出在根据本发明的实施例中的图形系统130。在图2实施例中,图形系统130包括物理GPU135,尽管图形系统130如上文所述可包括附加的物理GPU155。
[0034]根据本发明的实施例,物理GPU135配置为由N个应用1、2.....N并发使用。更具
体地,物理GPU135配置为由应用1、2、...、N所并发使用的M个虚拟GPU235-l、235-2、...、235-M。附加的GPU155中的每一个可类似地配置为多个虚拟GPU。在一个实施例中,GPU135和附加的GPU155耦连到依次耦连到图形存储器的存储器管理单元240(MMU ;例如输入/输出MMU),结合图1A所述的。
[0035]在一个实施例中,应用1、2.....N是视频游戏应用;然而,本发明不限于此。也就
是说,应用1、2.....N可以是任何类型的应用。例如应用可以是节目安排指南,其以表格形
式提供在不同的时间槽、不同的电视频道上的各种可收看的节目的列表,并且客户端设备可以是机顶盒(电缆或卫星)。
[0036]图3是在根据本发明的实施例中的、包括计算机系统100的系统300的框图。计算机系统100通过诸如因特网的网络350通信耦连到K个客户端设备200-1、200-2、...、200-K。在图3的实施例中,计算机系统100用来作为集中式服务器设备或数据中心;然而,根据本发明的实施例不限于此。
[0037]网络350可以是无线网络、有线网络或其组合。客户端设备200-1、200-2、...、200-K相对于计算机系统100是独立的设备。也就是说,客户端设备200-1、200-2、...、200-K是位于计算机系统100远程的分开的实体(例如其通过网络350从计算机系统100分开)。
[0038]还参考图2,明显地,客户端设备200-1、200-2、...、200_K的显示250-1、250-2、...、250-Κ相对于计算机系统100是远程显示。也就是说,客户端设备200-1、200-2、...、200-Κ的显示250-1、250-2、...、250_Κ不经由例如低压显示信号(LVDS)接口直接连接到计算机系统100。相反,显示250-1、250-2、...、250_Κ仅经由各自的客户端设备200-1、200-2、...、200-Κ对计算机系统100是可访问的(也见图4)。
[0039]在一个实施例中,在操作中,客户端设备200-1、200-2、...、200_Κ通过网络350对计算机系统100提供控制信息(例如用户输入)。还参考图2,响应于控制信息,计算机系
统100执行应用1、2.....N以生成输出数据,其经由网络350传送到客户端设备200-1、
200-2、...、200-Κ。输出数据可经编码(经压缩)。
[0040]明显地,就应用1、2、...、N未安装在其上的意义而言,客户端设备200-1、200-2、...、200-Κ是无状态的。反而,客户端设备200-1,200-2,...、200_Κ依靠计算机系统100来存储并执行应用1、2、...、Ν。
[0041]在一个实施例中,更具体地,客户端设备200-1通过网络350对计算机系统100提供用于应用I的控制信息。并行地,客户端设备200-2通过网络350对计算机系统100提供用于应用2的控制信息。应用I和2可以是相同的应用(例如,其可以是相同视频游戏的实例或拷贝),或其可以是不同的应用。
[0042]响应于来自客户端设备200-1的输入,虚拟GPU235-1由应用I所利用来生成与应用I相关的显示数据(输出数据)。与应用I相关的显示数据通过网络350发送到客户端设备200-1。并行地,响应于来自客户端设备200-2的输入,虚拟GPU235-2由应用2所利用来生成与应用2相关的显示数据(输出数据)。与应用2相关的显示数据通过网络350发送至客户端设备200-2。可使用普遍的、广泛使用的、并且标准化的方案诸如H.264来编码显示数据。
[0043]在一个实施例中,计算机系统100访问信息以确定客户端设备是否经授权以使用
应用1、2.....N中的一个或多个。例如,用户可建立包括密码和其他识别信息的账户,并
且在没有这种账户的情况下对应用1、2.....N的访问被拒绝。可选地,智能卡或加密器
(dongle)可能需要插到客户端设备中以获得对任何一个应用1、2.....N的访问权限。[0044]图4是代表在根据本发明的实施例中的、例如从虚拟GPU235-1到客户端设备200-1的数据流的框图。在图4示例中,虚拟GPU235-1生成存储在显示存储器(帧缓冲区)140中的图像数据的帧。图像数据的帧由虚拟GPU235-1编码并经由网络350从帧缓冲区140流到客户端设备200-1。客户端设备200-1解码流入的数据用于在显示设备250上显
/Jn ο
[0045]因此,虚拟GPU235-1输出完成的并准备被解码和显示的经编码的数据(例如经编码的图像数据)。结果,客户端设备235-1可以是瘦客户端并且相对便宜但仍能够符合要求地渲染数据。
[0046]与上文并行地,GPU135的其他虚拟GPU235-2、...、M可由其他客户端设备所使用的其他应用所利用,并且其他GPU (包括更多个虚拟GPU)可由更多个客户端设备所使用的更多个应用所利用。通过该方式,服务器设备(计算机系统100)和其他类似的网络化服务器设备可支持大量的客户端设备和用户。
[0047]图5是在根据本发明的实施例中的、用于提供用于远程显示的虚拟化图形处理的计算机实现的方法的示例的流程图500。流程图500可实现为驻留于某一形式的计算机可读存储介质(例如使用图1A的计算机系统100)上的计算机可执行指令。
[0048]在图5的框502中,从终端用户设备(例如客户端设备200-1、200-2、...、200_K)
访问或接收用户输入。在具有配置为由并行执行的多个应用(应用1、2.....N)并发使用
的GPU (例如GPU135)的集中式服务器设备(例如计算机系统100)处接收输入。也就是说,GPU 实现为多个虚拟 GPU (虚拟 GPU235-1、235-2、...、235_Μ)。
[0049]用户输入与在计算机系统(例如计算机系统100)上并行执行的应用相关联。用户输入包括从第一终端用户设备所接收的第一用户输入以及从第二终端用户设备所接收的第二用户输入。具体来讲,用户输入包括从独立的第一客户端设备所接收的第一用户输入,其中第一用户输入与第一应用相关联。
[0050]在框504中,响应于用户输入,使用GPU来生成数据。数据包括例如响应于第一用户输入所生成的第一数据、以及响应于第二用户输入所生成的第二数据。具体来讲,第一数据可包括适用于显示的图形数据,并且第二数据可包括适用于显示的图形数据。
[0051]在框506中,数据被引导到终端用户设备(例如客户端设备200-1、200-2、...、200-Κ)。具体来讲,第一数据被发送到第一终端用户设备,并且第二数据被发送到第二终端用户设备。终端用户设备中的每一个可操作地用于解码数据用于在各自的显示设备上显
/Jn ο
[0052]总而言之,在根据本发明的实施例中,用来执行应用(例如应用1、2、...、N)的硬件(例如GPU135)具现化在服务器设备(例如计算机系统100)上。具体来讲,GPU实现为多个虚拟GPU (虚拟GPU235-l、235-2、...、235_Μ);因此,GPU可由(在相同时间周期期间)并行执行的多个应用所利用。虚拟GPU输出仅需要被解码用于显示的经编码的数据(例如经编码的图像数据)。也就是说,在一个实施例中,输出数据处于除了解码以外的各种意义上均已完成的形式中。结果,用户可仅使用瘦的和相对便宜的客户端设备(例如客户端设备200-1,200-2,...、200-Κ)来利用应用。从而,诸如高级GPU的重要的硬件更新可在服务器处实现,并且因此用户不必随着技术演变而购买新设备。而且,服务器可使用通用格式诸如跨客户端设备所实现的H.264格式来压缩输出(例如显示)数据。因此,没有必要开发和维护应用的不同版本以适合不同类型的客户端平台。此外,因为应用驻留于服务器上,这使得更容易控制其分布和使用,因此促进了 DRM。
[0053]通过控制服务器设备上的应用和硬件,以及通过限制对经授权用户的访问,提供了安全的环境。用户简单地通过诸如因特网的网络连接到服务器设备以开始会话并执行感兴趣的应用。应用可产生由包括多个虚拟GPU的GPU所生成的、并且通过使用标准化的和所广泛使用的压缩方案来压缩的图像数据的帧。输出数据被发送到客户端设备,其可以是用于显示的瘦客户端设备。例如,在游戏环境中,应用是在由流行的DRM协定所许可的框架内可以容易地在用户之间所共享的视频游戏。然而,根据本发明的实施例不限于视频游戏
坐坐寸寸ο
[0054]同时,前述公开使用特定框图、流程图和示例阐述了各种实施例,每个框图部件、流程图步骤、操作、和/或本文描述和/或示出的部件可使用各种不同的硬件、软件或固件(或其任何组合)配置来单独地和/或共同地实现。另外,对包含在其他部件内的部件的任何公开均应视为示例,因为可实现许多其他架构来达到相同的功能性。
[0055]本文描述和/或示出的工艺参数和步骤顺序仅以示例方式给出。举例来说,虽然本文示出和/或描述的步骤可能以特定的顺序示出或论述,但这些步骤不必按所示出或论述的顺序来实施。本文描述和/或示出的各种示范性方法也可以省略本文描述或示出的步骤中的一个或多个,或包括在那些所公开步骤之外的附加步骤。
[0056]虽然本文已围绕全功能计算系统描述和/或示出了各种实施例,但这些示范性实施例中的一个或多个可分布为各种各样的形式的程序产品,而与用来实际执行分布的计算机可读介质的特定类型无关。本文所公开的实施例也可使用实施某些任务的软件模块来实现。这些软件模块可包括脚本、批处理或其他可被存储在计算机可读存储介质上或计算系统内的可执行文件。这些软件模块可以配置计算系统来实施本文公开的示范性实施例中的一个或多个。本文所公开的软件模块中的一个或多个可在云计算环境中实现。云计算环境可经由因特网提供各种服务和应用。这些基于云的服务(例如,软件即服务、平台即服务、基础设施即服务等等)可通过Web浏览器或其他远程接口来访问。本文所描述的各种功能可通过远程桌面环境或任何其他基于云计算的环境提供。
[0057]前述的描述,出于解释的目的,已参考特定实施例得以描述。然而,上述说明性的论述不旨在穷举或将本发明限制在所公开的明确形式上。鉴于以上教导,许多修改和变形是可能的。选择和描述实施例以最好地解释本发明的原理及其实际应用,从而使本领域的其他技术人员能够将本发明和具有各种修改的各种实施例最好地利用为可适合于特定预期用途。
[0058]因此描述了根据本发明的实施例。虽然已在特定实施例中描述了本公开,但应理解本发明不应被解释为限于此类实施例,而应根据以下的权利要求来进行解释。
【权利要求】
1.一种具有计算机可执行指令的计算机可读存储介质,用于使计算机系统实施方法,包括: 在包括配置为由并行执行的多个应用并发使用的图形处理单元(GPU)的集中式服务器设备处接收第一用户输入,其中所述第一用户输入从通信耦连到所述服务器设备的独立的第一客户端设备所接收并且其中所述第一用户输入与所述多个应用的第一应用相关联; 根据所述第一用户输入用所述GPU生成第一数据,所述第一数据包括适合于显示的图形数据;以及 将所述第一数据从所述服务器设备发送到所述第一客户端设备,其中所述第一客户端设备配置为解码所述第一数据用于在显示设备上显示。
2.根据权利要求1所述的计算机可读介质,其中除经由所述第一客户端设备以外所述显示设备对所述服务器设备是不可访问的。
3.根据权利要求1所述的计算机可读介质,其中所述第一数据经由无线连接从所述服务器设备发送到所述第一客户端设备。
4.根据权利要求1所述的计算机可读介质,其中所述方法进一步包括访问指示所述第一应用对所述第一客户端设备可用的信息。
5.根据权利要求1所述的计算机可读介质,其中所述第一数据包括从所述服务器设备流到所述第一客户端设备的经压缩的图像数据。
6.根据权利要求1所述的计算机可读介质,其中所述方法进一步包括实施与所述接收、生成、以及发送 并行的操作,所述并行的操作包括: 在所述集中式处理器设备处接收第二用户输入,其中所述第二用户输入从通信耦连到所述服务器设备的独立的第二客户端设备所接收并且其中所述第二用户输入与所述多个应用的第二应用相关联; 根据所述第二用户输入用所述GPU生成第二数据,所述第二数据包括适合于显示的图形数据;以及 将所述第二数据从所述服务器设备发送到所述第二客户端设备。
7.根据权利要求1所述的计算机可读介质,其中所述第一应用包括视频游戏。
8.一种计算机系统,包括: 中央处理单元(CPU); 图形处理系统,所述图形处理系统耦连到所述CPU并包括图形处理单元(GPU),所述图形处理单元可操作为由并行执行的多个应用所并发利用的多个虚拟GPU ; 通信接口,可操作用于发送和接收数据;以及 存储器,所述存储器耦连到所述图形处理系统并具有存储在所述存储器中的指令,所述指令如果由所述计算机系统所执行,那么使所述计算机系统执行操作,包括: 经由所述通信接口访问从独立的第一客户端设备所接收的第一用户输入,其中所述第一用户输入与所述多个应用的第一应用相关联; 根据所述第一用户输入用所述多个虚拟GPU的第一虚拟GPU生成第一数据,所述第一数据包括适合于显示的图形数据;以及 将所述第一数据发送到所述第一客户端设备,其中所述第一客户端设备可操作用于解码所述第一数据用于在显示设备上显示。
9.根据权利要求8所述的计算机系统,其中除经由所述第一客户端设备以外所述显示设备对所述计算机系统是不可访问的。
10.根据权利要求8所述的计算机系统,其中所述第一数据经由无线连接发送到所述第一客户端设备。
11.根据权利要求8所述的计算机系统,其中所述操作进一步包括接收指示所述第一应用由所述第一客户端设备可访问的信息。
12.根据权利要求8所述的计算机系统,其中所述第一数据包括从所述服务器设备流到所述第一客户端设备的经压缩的图像数据。
13.根据权利要求8所述的计算机系统,其中所述操作进一步包括实施与所述访问、生成、以及发送并行的操作,所述并行的操作包括: 经由所述接口设备访问从独立的第二客户端设备所接收的第二用户输入,其中所述第二用户输入与所述多个应用的第二应用相关联; 根据所述第二用户输入用所述多个虚拟GPU的第二虚拟GPU生成第二数据,所述第二数据包括适合于显示的图形数据;以及 将所述第二数据发送到所述第二客户端设备。
14.根据权利要求8所述的计算机系统,其中所述第一应用包括视频游戏。
15.一种方法,包括: 从多个终端用户设备接收多个用户输入,所述用户输入与在计算机系统上并行执行的多个应用相关联,所述用户输`入包括从第一终端用户设备所接收的第一用户输入以及从第二终端用户设备所接收的第二用户输入; 响应于所述用户输入,使用图形处理单元(GPU)来生成数据,所述GPU配置为由所述多个应用所并发利用的多个虚拟GPU,所述数据包括响应于所述第一用户输入所生成的第一数据,所述数据进一步包括响应于所述第二用户输入所生成的第二数据;以及 将所述数据引导到所述终端用户设备,其中所述第一数据发送到所述第一终端用户设备并且所述第二数据发送到所述第二终端用户设备。
16.根据权利要求15所述的方法,其中所述终端用户设备配置为解码所述数据用于在各自的显示设备上显示。
17.根据权利要求15所述的方法,其中所述数据经由无线连接发送到所述终端用户设备。
18.根据权利要求15所述的方法,进一步包括访问指示所述应用对所述终端用户设备可用的信息。
19.根据权利要求15所述的方法,其中所述数据包括流到所述终端用户设备的经压缩的图像数据。
20.根据权利要求15所述的方法,其中所述应用包括视频游戏。
21.一种计算机系统,包括: 总线; 耦连到所述总线的中央处理单元(CPU); 耦连到所述总线的物理图形处理器单元(GPU),所述物理GPU配置为实现多个虚拟GPU ;耦连到所述总线的存储多个应用的存储器设备,其中所述多个虚拟GPU的每个虚拟GPU可操作以执行所述多个应用的各自的应用,并且其中所述多个应用被并发执行,并且其中进一步地每个应用可操作以基于其执行生成各自的显示数据;以及 通信接口,所述通信接口耦连到所述总线并且可操作用于通信所述多个应用的所述显示数据用于由多个远程客户端设备接收用于在其上显示。
22.根据权利要求21所述的计算机系统,其中所述多个应用是游戏应用并且其中所述显示数据包括与游戏进程相对应的图形数据。
23.根据权利要求21所述的计算机系统,其中所述通信接口还可操作用于从所述多个远程客户端设备接收用户输入数据并且其中进一步地所述多个应用在生成所述显示数据中响应于所述用户输入数据。
24.根据权利要求21所述的计算机系统,其中所述显示数据是经压缩的数据。
25.根据权利要求21所述的计算机系统,进一步包括配置为实现虚拟GPU的多个物理GPU。
26.根据权利要求21所述的计算机系统,其中所述通信经由有线通信路径和无线通信路径发生。
27.根据权利要求21 所述的计算机系统,其中所述通信经由包括因特网的通信路径发生。
【文档编号】G06F9/455GK103559070SQ201310179086
【公开日】2014年2月5日 申请日期:2013年5月15日 优先权日:2012年5月15日
【发明者】黄仁勋, 弗兰克·R·迪亚尔, 安德鲁·丘里德 申请人:辉达公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1