当前位置: 首页 > 专利查询>OTOY公司专利>正文

在并行的多个客户端之间的GPU资源的分配制造技术

技术编号:8390870 阅读:198 留言:0更新日期:2013-03-08 02:49
本发明专利技术公开的方法、设备和系统涉及:在计算机系统上托管多个应用程序实例,每个应用程序实例对应于一个远程客户端应用程序;保持与为其托管应用程序实例的每个远程客户端应用程序的网络连接;在至少两个远程客户端应用程序之间分配计算机系统中图形处理单元的资源;利用计算机系统的图形处理单元的资源,同时渲染对应于至少两个远程客户端的应用程序实例的图形输出;以及通过相应的网络连接将经渲染的图像输出传输给至少两个远程客户端应用程序。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术总的来说涉及应用程序的服务器端渲染,更详细地说,涉及一种基于多组渲染参数同时为多个客户端渲染多个应用程序的服务器。
技术介绍
客户端-服务器架构一般来说是分布式计算架构,该架构在服务器(可以被认为是“服务提供者”)和客户端(可以被认为是“服务请求者”或“服务消费者”)之间划分任务或工作负荷。服务器和客户端常常会通过计算机网络连接,并且各种数据可以通过计算机网络在独立的服务器和独立的客户端之间双向传输。服务器通常具有比客户端更多的资源和更好的性能。服务器可与一个或多个客户端共享其资源,例如为客户端执行某些任务(即给客户端提供服务)。由于服务器典型地具有比客户端更多的资源,因此服务器能比客户端更快地完成任务,特别是有资源需求的任务。服务器和客户端之间所交换的数据可以由任何合适的数据格式来表征,并利用任何合适的通信协议来传输。例如,当在服务器上为客户端执行某一应用程序时,该应用程序的输出可以使用结构化文档来表征,诸如超文本标记语言(HTML)文档或可扩展标记语言(XML)文档。服务器可以通过在服务器和客户端之间的超文本传输协议(HTTP)连接将包括表征应用程序输出的数据的HTML或XML文档传输给客户端。当接收到HTML或XML文档时,客户端就可以消费该文档,并利用诸如在该客户端上被执行的网络浏览器中的该HTML或XML文档本地渲染应用程序的输出。
技术实现思路
本专利技术总的来说涉及应用程序的服务器端渲染,更详细地说,涉及一种基于多组渲染参数同时为多个客户端渲染多个应用程序的服务器。在一个实施例中,计算机系统托管多个应用程序实例,每个应用程序实例对应于一个远程客户端应用程序。计算机系统保持与为其托管应用程序实例的每个远程客户端应用程序网络连接。计算机系统在至少两个远程客户端应用程序之间分配计算机系统中图形处理单元的资源。该计算机系统利用其图形处理单元的资源同时渲染对应于所述至少两个远程客户端应用程序的应用程序实例的图形输出。而且,该计算机系统通过相应的网络连接将渲染后的图形输出传输给所述至少两个远程客户端应用程序。在一个实施例中,第一计算机系统访问多组渲染参数,其中,第一计算机系统与多个第二计算机系统相连;多组渲染参数中的每一组对应于多个第二计算机系统中特定一个第二计算机系统;第一计算机系统包括用于存储图像的渲染目标;并且该渲染目标由多个第二计算机系统共享。第一计算机系统基于多组渲染参数为多个第二计算机系统并行渲染多个图像,其中,基于与多个第二计算机系统中特定一个第二计算机系统相对应的多组渲染参数中的特定一组渲染参数,为所述多个第二计算机系统中特定一个第二计算机系统渲染多个图像中的每一个图像并存储在渲染目标中。而且,第一计算机系统将所述多个图像中的每一个图像传输给已经为其渲染该图像的所述第二计算机系统中的特定一个第二计算机系统。本专利技术的这些和其他的特征、方面和优点将在以下的详细说明中结合附图地加以详细阐明。附图说明图I示出了用于在并行的多个客户端之间分配服务器资源的一个示例性的客户端-服务器系统;图2示出了被划分成多个渲染目标单元的服务器渲染目标的一个例子;图3示出了服务器同时为多个客户端实施多个渲染的方法;图4示出了一示例性网络环境;图5示出了一示例性计算机系统。具体实施例方式下面将参考附图中所示的一些实施例对本专利技术进行详细描述。为了更加透彻地理解本专利技术,在以下描述中,阐述了大量的具体细节。然而,本领域的技术人员显而易见的是,在部分或全部没有这些具体细节的情况下,本专利技术也可以实现。在其他例子中,为了避免不必要地使本专利技术难以理解,没有详细描述熟知的处理步骤和/或结构。另外,虽然结合特定的实施例对本专利技术进行了阐述,但应理解,本说明书并非用于限制所述实施例的公开内容。相反地,本说明书旨在涵盖各种可以包括在如本专利技术所附权利要求书所限定的公开内容的精神和范围之内的各种替换、修改或等同替换。客户端-服务器架构使服务器能够与一个或多个客户端共享其资源。这种架构具有许多优点。例如,由于服务器比客户端典型地具有更多的资源(例如,处理器或内存)和更好的性能,因此与客户端所能做到的相比,服务器可以更快地完成任务。当任务为资源需求型或当客户端仅有有限数量的资源时,这种性能差异特别明显。同时,当服务器为客户端或代表客户端执行任务时,可以释放客户端的资源以执行其他任务,诸如需要在客户端本地执行的那些任务(例如,与客户端用户互动)。可以适合在服务器上完成的一种任务可以是由服务器托管的作为视频输出传输给客户端的应用程序的渲染。在计算机绘图中,渲染可以被认为是通常利用计算机程序从模型生成图像的过程。模型通常是三维(3D)物体的描述并可以以严格定义的语言或数据结构来表征。模型可以包含几何形状、视点、纹理、照明效果、着色、动作以及其他适当类型的信息。由模型渲染成的图像可以是数字图像或光栅图形图像,该图像可以由像素的集合形成。本专利技术将渲染的概念扩大到生成表征任何应用程序的任何输出的图像。可基于任何数据完成渲染,所述数据包括二维(2D )数据和三维(3D )数据。除了基于3D模型生成图像之外,特定的实施例可以渲染表征如下所述应用程序的输出的图像,即,所述应用程序诸如(例如但不限于)网络浏览器应用程序,文字处理应用程序,电子表格应用程序,多媒体应用程序,科学和医学应用程序以及游戏应用程序。由于渲染过程经常是资源需求型的,特别是当渲染的图像具有高分辨率和高品质时,其可能是非常计算密集性的,因此渲染可以是一种适合在服务器上执行的任务。在过去,将一个三维模型渲染成单个2D图像将花费老式计算机系统数小时或数天的时间。随着计算机硬件、特别是专门为计算机绘图应用程序(例如,游戏,多媒体,娱乐或绘图)所设计的计算机硬件的进步和发展,现在的计算机系统能够在几秒或几毫秒内渲染每个图像。事实上,将模型渲染成单个图像通常并不占用服务器的全部可用资源。为了更好地利用服务器的可用资源,在特定的实施例中,服务器可以为多个客户端同时执行多个渲染(例如,将多个3D模型同时渲染成多个2D图像),并且为不同的客户端执行多个渲染中的每一个。在特定的实施例中,服务器的可用资源可以被分配给多个客户端且由多个客户端共享。因此,客户端中的每个客户端被分配有服务器可用资源中的一部分。更具体地说,在特定的实施例中,服务器的图形处理单元(GPU)在客户端之间共享。为一个特定客户端执行的多个渲染中的每一个可以使用专门分配给该客户端的那部分资源。在特定的实施例中,作为渲染过程的最终输出的每个渲染图像可以被传输给对应的为其获取渲染图像的客户端。图I示出了一个示例性的系统,其中,单个服务器120同时为多个客户端130执行多个渲染。需要注意的是,为了简明起见,图I中仅示出了四个客户端130A,130B,130C,130D。实际上,服务器可以为任意数量的客户端同时执行渲染,而且对服务器在任何时候支持客户端的数量在理论上并没有限制。类似地,为了简明起见,图I中仅示出了一个GPU121和一个CPU122。实际上,服务器可以具有任意数量的GPU和CPU。在特定的实施例中,服务器120通过单独的连接150与每一个客户端130连接。在特定的实施例中,服务器120和客户端130之间的连接150可以为通过计算本文档来自技高网...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:朱利安·M·乌尔巴赫
申请(专利权)人:OTOY公司
类型:
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1