CN103270492B - 用于网络使能应用的硬件加速图形的方法和系统 - Google Patents

用于网络使能应用的硬件加速图形的方法和系统 Download PDF

Info

Publication number
CN103270492B
CN103270492B CN201180060185.XA CN201180060185A CN103270492B CN 103270492 B CN103270492 B CN 103270492B CN 201180060185 A CN201180060185 A CN 201180060185A CN 103270492 B CN103270492 B CN 103270492B
Authority
CN
China
Prior art keywords
resource
graphic plotting
terminal server
agency
server client
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.)
Expired - Fee Related
Application number
CN201180060185.XA
Other languages
English (en)
Other versions
CN103270492A (zh
Inventor
J.哈米尔
R.波汉
D.帕赛托
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN103270492A publication Critical patent/CN103270492A/zh
Application granted granted Critical
Publication of CN103270492B publication Critical patent/CN103270492B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5044Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Information Transfer Between Computers (AREA)
  • Image Generation (AREA)

Abstract

本发明涉及一种用于提供用于网络使能应用的硬件加速图形的方法和系统。该方法包括在主机上提供网络使能应用,该应用请求不是提供在该主机上的硬件加速图形;在主机处提供3D库包装,用于连接到3D图形绘制资源的代理。该代理接收对3D图形绘制资源的请求,并评估可用的绘制资源,以及将绘制资源分配给3D库包装,从而返回最终2D绘制的图像给客户端。该网络使能应用可在主机上的虚拟机上执行,或可在主机上的终端服务会话上执行,并且可由远程客户端访问。

Description

用于网络使能应用的硬件加速图形的方法和系统
技术领域
本发明涉及硬件加速图形的领域。特别地,本发明涉及用于网络使能应用的硬件加速图形。
背景技术
“云计算”是在诸如数据中心的远端位置处传统上基于工作站的应用工作负荷的整合(consolidation)。云计算是基于网络的计算,其中共享的资源、软件以及信息经请求被提供给计算机和其它设备。云包括虚拟机(VM)中运行在操作系统上的应用,或可由运行在诸如微软终端服务(TS)(微软是美国、其它国家或两者的Microsoft公司的商标)的类似环境中的应用组成。云计算的益处在于其提供对硬件和软件集中式的控制和配置,同时还允许方便更新,以及资源和许可证使用的更新和最大化。
3D图形提供使能的能力(enabling capability)从而以视觉的方式表示复杂的数据。很多领域——诸如科学计算、医疗成像、计算机辅助设计(CAD)、产品生命周期管理(PLM)以及石油和天然气勘探——广泛地利用3D图形。通过标准的3D应用程序界面(API)(诸如OpenGL(开放图形库)标准(OpenGL是Khronos工作组的商标)和微软的DirectX(DirectX是微软公司的商标)等)提供对3D图形硬件的访问,从而允许绘制复杂的场景和模型而无需广泛的CPU(中央处理单元)使用。
在历史上,虚拟机曾经有过用于3D图形绘制的有限的支持。复杂3D的软件绘制是非常CPU集中的,并且可以吞没(swamp)虚拟化主机。确实存在的技术限于访问主机上的本地硬件,并且因此提供非常有限的可扩展性。就这一点而言,之前讨论的3D应用的范畴已经被排除在这样的环境下运行之外。
发明内容
根据本发明的第一方面,提供一种用于网络使能应用的硬件加速图形的方法,包括:在主机上提供网络使能应用,该应用请求不是提供在该主机上的硬件加速图形;在主机处提供3D库包装用于连接到3D图形绘制资源的代理;在代理处接收对3D图形绘制资源的请求;以及所述代理评估可用的3D图形绘制资源,以及将自3D图形绘制资源选择的3D图形绘制资源分配给3D库包装,从而返回最终的2D绘制的图像给远程客户端。
优选地,本发明提供一种方法,其中网络使能应用执行在主机上的虚拟机上,并由远程客户端访问。
优选地,本发明提供一种方法,其中网络使能应用执行在主机上的终端服务会话上,并由远程客户端访问。
优选地,本发明提供一种方法,包括:3D库包装和选择的3D图像绘制资源连接以发送图形调用。
优选地,本发明提供一种方法,包括:从选择的3D图形绘制资源向3D库包装发送最终的绘制的图像,用于转发给远程客户端。
优选地,本发明提供了一种方法,包括:3D库包装向3D图形绘制资源提供直接连接信息;以及选择的3D图形绘制资源直接向远程客户端(131)发送最终的绘制的图像。
优选地,本发明提供一种方法,其中多个3D图形绘制资源被作为提供在网络计算架构中、对一个或多个主机上的多个虚拟机或终端服务会话可用的虚拟图形服务器而提供。
优选地,本发明提供一种方法,包括:代理监测3D图形绘制资源并更新资源优先级队列。
优选地,本发明提供一种方法,包括:代理确定用于远程客户端的直接连接信息是否被提供;以及如果存在用于远程客户端的直接连接信息,则命令选择的3D图形绘制资源与远程客户端进行直接连接。
优选地,本发明提供一种方法,包括:代理监测在选择的3D图形绘制资源和远程客户端之间的直接通信,以及经由3D库包装的通信之间的模式改变请求;以及按请求改变模式。
优选地,本发明提供一种方法,包括:修改3D图形调用为3D库包装和选择的3D图形绘制资源之间中立的格式。
优选地,本发明提供一种方法,其中从主机去耦合图形绘制使能具有平台独立性的图形资源的可扩展性。
根据本发明的第二方面,提供一种用于提供网络使能应用的硬件加速图形的计算机软件产品,该产品包括具有在其上的计算机可读程序代码的计算机可读存储介质,该计算机可读程序代码被配置以:在主机上提供网络使能应用,该应用请求不是提供在该主机上的硬件加速图形;在主机处提供3D库包装用于连接到3D图形绘制资源的代理;在代理处接收对3D图形绘制资源的请求;以及所述代理评估可用的3D图形绘制资源,以及将自3D图形绘制资源选择的3D图形绘制资源分配给3D库包装,从而返回最终的2D绘制的图像给远程客户端。
优选地,本发明提供一种系统,其中3D库包装是将库调用指引到代理的代理库包装。
优选地,本发明提供一种系统,其中应用执行在主机上的虚拟机上,并由远程客户端访问。
优选地,本发明提供一种系统,其中应用执行在主机上的终端服务会话上,并由远程客户端访问。
优选地,本发明提供一种系统,其中:代理评估并将虚拟3D图形绘制资源分配给网络使能环境中的多个主机。
优选地,本发明提供一种系统,包括:在3D库包装和选择的3D图形绘制资源之间的通信机构,以发送中立的图形调用。
优选地,本发明提供一种系统,包括:从选择的3D图形绘制资源到远程客户端的直接的通信机构。
优选地,本发明提供一种系统,其中代理监测3D图形绘制资源并更新资源优先级队列。
优选地,本发明提供一种系统,其中代理确定用于远程客户端的直接连接信息是否被提供;以及如果存在用于远程客户端的直接连接信息,则指令所选择的3D图形绘制资源与远程客户端进行直接连接。
优选地,本发明提供一种系统,其中代理监测在选择的3D图形绘制资源和远程客户端之间的直接通信,以及经由3D库包装的通信之间的模式改变请求,并按请求改变模式。
优选地,本发明提供一种系统,其中从主机去耦合图形绘制使能具有平台独立性的图形资源的可扩展性。
优选地,本发明提供一种系统,其中远程客户端是瘦客户端且所述系统支持多个连接协议。
优选地,本发明提供一种系统,其中远程客户端直接接收来自选择的3D图形绘制资源的绘制的图像,并在客户端处合成图像。
优选地,本发明提供一种系统,其中主机托管(hosting)多个虚拟机,并本地地显示绘制的图像。
根据本发明的第三方面,提供一种经由网络向用户提供服务用于提供用于网络使能应用的硬件加速图形的方法,所述服务包括:在主机上提供网络使能应用,该应用请求不是提供在该主机上的硬件加速图形;在主机处提供3D库包装用于连接到3D图形绘制资源的代理;在代理处接收对3D图形绘制资源的请求;以及所述代理评估可用的3D图形绘制资源,以及将自3D图形绘制资源选择的3D图形绘制资源分配给3D库包装,从而返回最终的2D绘制的图像给远程客户端。
根据本发明的第四方面,提供一种用于提供用于网络使能应用的硬件加速图形的系统,该系统包括:主机,其具有请求不是提供在所述主机上的硬件加速图形的应用以及用于所述应用的3D库包装;独立于主机而提供的一个或多个3D图形绘制资源;代理,用于评估并将自一个或多个3D图形绘制资源选择的3D图形绘制资源分配给用于应用的3D库包装,从而返回最终的2D绘制的图像给远程客户端。
从第五方面的看,本发明提供计算机程序,包括当加载到计算机系统中并被执行时执行如上述的方法的所有步骤的计算机程序代码。
被认为是本发明的主题在说明书的结论部分被特别地指出并显著地说明。本发明,就操作的组织和方法而言,及其目的、特征和优点将通过阅读附图时参照以下的详细描述得以最佳理解。
附图说明
现将参照附图、通过仅为示例的方式描述本发明的优选实施例,在附图中:
图1是根据本发明的优选实施例的系统的框图;
图2是示出根据本发明的优选实施例的图1中系统的进一步细节的框图;
图3A和3B是流程图和系统图,其中流程示出根据本发明的优选实施例的方法;
图4A和4B是根据本发明的优选实施例的方法的流程图;
图5是根据本发明的又一个方面的方法的流程图;
图6是可在其中实现本发明的计算机系统的框图;
图7是可在其中实现本发明的云计算环境的示意图;以及
图8是可在其中实现本发明的云计算环境的层的示意图。
应该理解为了阐述的简明和清楚起见,图中所示的元件不一定被按比例绘出。例如,为了清楚起见,一些元件的尺寸可相对于其它元件被夸大。此外,在被认为适当的情况下,在图中参考标号可被重复以指示对应或类似的特征。
具体实施方式
在以下详细的描述中,阐述了多个具体的细节,从而提供对本发明的透彻的理解。然而,本领域技术人员将理解的是,本发明可在不需这些细节的情况下实现。在其它情况下,没有详细描述公知的方法、步骤和部件,是为了不模糊本发明。
描述的方法和系统使得硬件和软件的整合的云益处在3D应用领域得以利用(leveraged)。
通常云是位于单个位置或多个位置(由快速网络链接)处、托管多个虚拟机(VM)的物理服务器的集合。这些虚拟机甚至可以从一个物理主机迁移到另一个物理主机处(例如,在硬件故障的情况下)而无需打断从用户角度的服务。虚拟机的使用允许同时处理多个工作负荷,从而更好地使用系统资源,例如CPU(中央处理单元)或存储器,并且仍旧在工作负荷之间提供物理隔离。
类似地,终端服务(TS)服务器托管单个系统上的多个用户会话。远程访问以类似的方式发生在系统托管多个虚拟机的情况下。不是用户连接到单个远程VM,而是该用户连接到运行在单个服务器机上的远程TS会话。
为了本文的目的,术语“云”可以指托管多个虚拟机的远程系统和托管多个终端服务会话的系统两者。
所描述的方法和系统使得向基于云的系统提供可扩展的GPU(图形处理单元)加速可以与对3D图像的远程访问相结合。依赖于需求,可使任意大量的图形资源可用于基于云的应用,并且作为结果的3D图像的压缩和远程流的使用模拟(simulate)本地应用用户体验。
所描述的方法和系统向运行在云类型远程系统中的应用(也被称为网络使能应用)提供硬件加速的3D图形。这允许用于3D应用负荷的传统专用工作站的优点以及云部署(cloud deployment)策略提供的可扩展性和灵活性的优点得以结合。
参照图1,框图示出所描述的系统100。提供了云类型的远程环境110。该云环境110通常是位于单个位置或由快速网络链接的多个位置处、托管多个虚拟机或终端服务器会话的物理服务器的集合。图1示出物理主机120,其包括多个虚拟机(VM)或终端服务(TS)会话121-125。
远程客户端131、132是远程客户端的实施例,远程客户端包括瘦客户端远程访问设备和远程访问软件。例如,远程客户端131、132可以是运行在膝上型电脑或智能手机上的VNC(虚拟网络计算)客户端或微软远程桌面协议(RDP)客户端。从远程客户端的角度,其可以访问远程机上托管的整个远程桌面、或就访问由远程机输出的单个应用。用户可通过诸如专用远程客户端或基于网页的门户站点来远程地访问所述云。该远程客户端访问通常是轻便式的,且不需要为了远程客户端的实质的CPU电源或存储器,也不需要为了远程客户端的3D图形硬件。
所描述的系统100包括图1中所示的云环境110中的一个或多个图形处理单元(GPU)提供者141-143,还被称为3D图形绘制资源或图形服务器(在图3B中还被示为“绘制资源”141-144),其提供实际的3D图形硬件并且处理图形处理任务。
所描述的系统100还包括提供在云环境110中的代理150,其在VM或TS会话121-125和GPU提供者141-143之间进行适当的资源分配。
云环境110中的组件可以靠近在一起位于数据中心中,或位于由高速网络连接的分开的位置处。一些组件还可视情况与其它组件位于相同的物理硬件中。
GPU提供者141-143形式的虚拟化图形硬件被提供在云环境110中,从而允许在云中自VM或TS会话121-125运行3D应用。
将GPU提供者141-143中加速3D绘制从云主机120去耦合允许不受限制的可扩展性,而不像其它那些限于可被直接附接到主机的资源的系统。
参照图2,框图示出图1的系统的细节。VM/TS会话示出在云环境110中主机120上。VM/TS会话121包括网络使能应用形式的3D应用221和提供代理图形库的3D API包装库(还被称为VM库)222。远程客户端131可访问3D应用221。该3D API包装库222是调用(call)代理150以访问选择的GPU提供者141的代理图形库。
云环境110中的选择的GPU提供者141包括3D API主机241和3D硬件242。代理150提供在VM/TS会话121和选择的GPU提供者141之间的资源分配。
经由3D API包装库222形式的代理图形库在VM/TS会话121处访问选择的GPU提供者141的虚拟化的3D硬件204。
通过压缩以及向远程客户端131的瘦客户端131实施例流传输预绘制的2D图像,提供由远程客户端131对3D内容的远程访问。这些组件的结合解决了对云环境中托管的3D应用的可扩展的远程访问的问题。
3D图形硬件将3D屏幕描述转换为2D图像用于显示。利用该特征来在选择的GPU提供者上产生3D情景的2D图像,并且2D图像的经压缩的流被发给远程客户端。
所描述的系统提供如由代理系统所引领(marshal)的、将最终的图像数据直接从GPU提供者路由到远程客户端的能力。这克服了由于大量绘制的图像(每个都是大块数据,例如对1024x768像素的未压缩的图像每帧3MB,通常以每秒30-60帧(fps)运行)从GPU提供者返回从而被在远程客户端上发送造成的、形成在虚拟机托管阶段(host stage)的网络瓶颈的严重问题。使用该代理来指引和引领通信允许避免所述瓶颈并且使得较大的可扩展性为可行的。
所描述的系统覆盖部署以下两者:向通常对3D硬件加速不具有访问的虚拟机或终端服务器会话部署3D硬件,以及向由该3D硬件产生的图像部署交互式远程访问。
所描述的方法和系统可适用于所有的操作系统和所有的3D加速的图形API(OpenGL和Direct3D等,Direct3D是微软公司的商标)。还能够在不同种类的环境中操作——诸如使用基于Linux的GPU提供者用于绘制的微软Windows VM(Windows是微软公司的商标)——所有的都被从任意形式的瘦客户端上的远程会话访问。此外,所描述的方法和系统可适用于基于GPU的加速API,诸如CUDA(统一计算机设备架构,CUDA是NVIDIA公司的商标)/OpenCL(OpenCL是Khronos工作组的商标)/DirectX11计算,以及纯粹的3D图形API。
还由所述的方法和系统提供了平台独立性(independence)。通过允许由包装库和GPU提供者将3D图形API调用修改为中立的格式,还允许了操作系统的不同种类的配置。这允许任何操作系统使用与其图形提供者相同的任何其它的操作系统来绘制。
所描述的方法和系统还适用于任何当前的虚拟化技术,即类型1和类型2管理程序,以及还有微软终端服务会话。所描述的方法和系统不管涉及虚拟机会话或是终端服务会话都以相同的方式操作。
支持多个远程客户端连接协议,例如虚拟网络计算(VNC)和远程桌面协议(RDP)。经由单独的网络通道返回3D情景的最终2D图像,并最终在远程客户端侧合成。没有对用于远程访问的方法特征的特别的依赖。
最重要的是,不需要对使用所描述的方法和系统的应用进行任何改变。所描述的代理包装库确保整个过程对应用完全透明。
远程客户端连接到云环境110中托管的远程系统120。该远程客户端131与远程运行的3D应用221交互。从客户端的角度,这有效地呈现为本地应用。
托管在VM或TS会话121上的3D应用221就好像其运行在单机系统上一样地执行。当要进行3D图形调用时,3D应用221将尝试加载3D库(诸如微软Windows上的OpenGL32.DLL,或Linux上的libGL.等)并进行图形功能调用。这些调用通常会经由驱动器路由到适当的3D硬件用于绘制在显示器上。反而,所描述的系统100包含包装库222,其被用于拦截所有可能的绘制调用,将其转换为平台中立的格式,并在适当的位置处执行。
包装库222经由网络连接与代理150联系。该代理150向GPU提供者141-143(图1)的集合查询合适的资源。可以向代理150提供特别的要求,特别是诸如远程客户端131的IP地址、或期望的GPU存储器要求的特定信息。
代理150可使用该信息协同分配策略和性能度量来分配(选择)适当的GPU提供者141(图3B中的绘制资源),分配策略诸如“循环赛”(“round-robin”)或基于c资源分配的更复杂的策略,性能度量诸如GPU存储器利用率、GPU计算负荷、当前的GPU核温度等。一旦确定了合适的GPU提供者的位置,则命令库包装(library wrapper)222连接到适当的单个选择的GPU提供者141。
代理150可以指引选择的GPU提供者141建立到远程客户端131的直接连接从而传输完成的图像,因此绕过VM/TS会话121,且避免在主机120处发生网络瓶颈。
避免传统的瓶颈(由此大量的数据必须通过主机路由)允许所描述的系统发展到云级。这还显著地改善了延迟,但是更快的帧的传送,因此提供更加交互式且应答式的用户体验。
一旦进行该连接,则3D应用使得该绘制调用为正常的。这些调用经由网络传输到关联的选择的GPU提供者141。高速网络链接允许每个绘制调用以低延迟远程地发生。该调用可被转换为平台-中立的格式,从而允许该系统中操作系统的不同种类的配置,诸如使用基于Linux的GPU提供者的微软Windows XP虚拟机。
一旦所述调用被选择的GPU提供者141收到,其被发送到本地的3D硬件242,就好像其源自运行在选择的GPU提供者141上的应用。当当前的3D图像帧结束时,该完成的图像或者被从选择的GPU提供者141发送到远程客户端131,或经由网络返回到VM/TS会话121中的包装库222用于本地显示。由代理150管理该通信,从而确保VM主机120不被大量返回的图像数据淹没,而只是经过而传送到远程客户端131。
如果期望,压缩绘制的3D图像以节省带宽,并将其经由网络通道发送到远程客户端131,并在远程客户端处将其解码并本地地显示。可使用现存的远程访问软件(例如VNC或RDP)来处理2D数据,诸如菜单和窗口帧,以及使用所描述的组件处理所有的3D内容。最终的3D图像被无缝地整合,且2D内容被正常地显示。
用户将鼠标和键盘事件从远程客户端131发送到远程3D应用221,在该处其被适当地执行。响应于用户的输入,产生并返回更多的图像。由图像压缩(类似于因特网视频流传输)和适中的(moderate)网络带宽,可以实现对3D应用的完全交互式访问,而与此同时保持云计算的益处。
当断开远程客户端131的连接或关闭3D应用221时,选择的GPU提供者141资源被释放且发信号通知代理150来指示那些资源目前完全可用。
如果例如出于管理的目的向虚拟机要求本地控制器台访问(例如从VM主机的物理访问),则最终图像必须路由经过该VM从而使得可被显示在本地控制台上。在典型的云部署中,大部分用户是远程的,因此优选自选择的GPU提供者141直接连接的系统,这是由于这样避免创建瓶颈,但是不便于本地访问。代理150允许两种选择在云系统中无缝地存在,并如所需,在通过VM121路由到远程客户端131和自选择的GPU提供者141的直接连接之间向后和向前转换特定的图像流实例(instance)。
代理150还方便运行中虚拟机的实况迁移,这是由于即使VM 121移到不同的主机120,虚拟机121和选择的GPU提供者141之间的连接也可以由代理保持。没有计算机和描述的图形资源的分离这是不可能的。
参照图3A和3B,示出所描述的方法的连接的流程300。图3A示出具有连接步骤的流程图。图3B示出图1和2所介绍的组件之间的连接步骤。
流程300包括远程客户端131连接到VM 121,以及开始(launch)302 3D应用221,该3D应用使用虚拟化的3D库222(称为VM库)。VM库222连接303到代理150。代理150评估304可用的3D图形绘制资源(renderingresources)141-144并分配305一个141给VM库222。VM库222和选择的3D图形绘制资源141彼此连接306从而发送图形调用。在一种选择中,最终的绘制的图像(rendered image)被返回307到VM库222用于发送给远程客户端131。在另一种选择中,选择的3D图形绘制资源141直接连接308到远程客户端131,并且经由该连接发送最终的绘制的图像。代理可根据来自VM库的请求(通常响应于远程客户端请求)改变连接拓扑结构。
参照图4A和4B,流程图400、450示出在图4A中资源监测和设置期间以及图4B的运行时间期间代理的操作。
参照图4A,流程图400示出代理连接监测线程(thread)401。等待402自基于主机的3D库的连接。根据每个到来的请求开始403连接处理器线程。该监测线程循环404。
开始代理资源监测线程405。查询406可能的3D图形绘制资源。确定407资源是否可用。若不可用,则该方法循环从而查询406可能的3D图形绘制资源。如果资源可用,则基于可用级别更新408资源优先级队列409。该方法继续以查询406可能的3D图形绘制资源。
示出连接处理线程410。从资源优先级队列409选择411选择的3D图形绘制资源。确定412是否已向远程客户端提供额外的连接信息。如果是,则指令413选择的3D图形绘制资源进行独立的连接到远程客户端以返回图像。
如果没有向远程客户端提供额外的连接信息,则命令414基于主机的3D库连接到选择的3D图形绘制资源并开始绘制。然后执行图5中描述的运行时间操作。
参照图4B,示出由代理进行的运行时间操作451。代理保持452到基于主机的3D库以及到选择的3D图形绘制资源的连接。执行监测453用于绘制模式改变或任何方(远程客户端、VM、绘制资源)的断开连接。确定454是否存在模式改变。如果请求455断开连接,则关闭456所有连接且清除所有3D图形绘制资源(即如果一方死机)。
如果请求457模式改变,则确定458是否当前直接发送图像给远程客户端。如果是,则命令459选择的3D图形绘制资源经由已建立的连接向基于主机的3D库发送图像。命令该基于主机的3D库接收帧并经由新的连接将其发送到远程客户端。该方法然后循环460以继续监测453。
如果确定458没有当前直接发送图像给远程客户端,则命令461选择的3D图形绘制资源直接连接到远程客户端并开始发送消息。基于主机的3D库将不会期待来自3D图形绘制资源的任何更多的帧。该方法然后循环462以继续监测453。
参照图5,流程图500示出在主机处VM或TS会话处执行的方法。远程客户端连接请求被接收501到VM或TS处的3D应用。在VM/TS会话处开始502用于应用的库包装。库包装连接503到代理。库包装从代理接收504 3D图形绘制资源分配。库包装连接505到分配的选择的3D图形绘制资源。在一个可能的步骤中,库包装接收506图像并将其转发到远程客户端。在可替换的步骤中,库包装向选择的3D图形绘制资源提供507客户端细节用于直接通信。
有效虚拟化云中GPU计算能力的能力是有极大地有利的,这是因为每个GPU通常比标准CPU计算地强大几百倍,并且消耗功率的一部分,且是成本的一部分。在3D图形加速的特定情况下,该虚拟化将允许任何设备(例如电话)上的图形能力,其等同于最昂贵的专用图形终端本质地允许任何达到(up to)逼真的游戏、电影、CAD等操作,而这在以前一直是不可能的。
云数据中心包含运行虚拟系统图像的一组通用服务器机,以及仅代表通用服务器执行3D绘制的图像服务器。
对3D图形加速负荷的GPU虚拟化引入新的类别的问题,且产生了特定的问题,诸如特定参数负荷平衡和路由。
该描述的系统还将注意力集中在如何通过移除数据交换的副本有效地远程形象化并使用应用,以及集中在如何使用代理来选择和平衡图形硬件资源的使用率。所描述的系统在多个系统/应用间共享3D图形绘制资源。
所描述的兄台那个还包括将3D调用编码为流,并经由高速网络接口将该流传输到不同的机器。
本发明在解决由路由很多图像流的实例、发生在VM处的瓶颈问题的同时仍允许当需要时的本地访问。
所描述的系统的益处在于向云计算环境中运行的应用提供加速的3D图形。该环境传统地被限定为2D应用,或较慢的仅软件3D绘制。通过使用所描述的本系统,克服了虚拟机和终端服务会话的基础架构通常不具有对3D硬件的访问的限制。通过使用代理包装库取代适当的图形API,所描述的系统不需要修改应用,或完全不需要其意识到其操作在云环境中。压缩并将3D图像发送到远程客户端允许远程交互到云使能的应用。
为远程客户端设备提供对3D应用的远程访问,并且该远程访问不需要在远程客户端设备自身上有任何3D硬件。这使得云接近/方法运行3D应用实用并集中硬件,从而确保那些资源的最大使用效率。远程客户端可以超出其访问设备的能力与应用和数据交互及合作。集中化的应用允许云的配置和许可共享益处得以利用。
本方法的另一个益处是可扩展性。GPU提供者主机不一定耦接到正在托管虚拟机/终端服务会话的硬件。
就这一点而言,很多VM或会话或托管在单个物理主机上,且仅有需要硬件加速的3D图像的那些才会使用这样的资源。单个的大型主机通常能够托管几十或几百个VM/会话,但是只能够保持最多一个或两个图形适配器。如果不止少数的(handful)的VM在尝试使用图形硬件,则该资源瓶颈将迅速地使系统的性能变劣。
由所描述的系统,图形硬件彻底从主机去耦合,并且通过使用代理,可使得任意大量的GPU提供者对服务应用的3D图形需求可用。可基于负荷平衡使用该代理分配GPU提供者。此外,由于可将图形硬件与托管虚拟机/终端服务会话的硬件彻底分开,因此可以添加额外的能力而不用重新配置或替换现有的基础架构。
最后,如果期望的话,运行在远程会话中的包装库还可以将3D图像直接写入VM/TS会话的本地桌面。例如,不管有或没有远程访问,如果发生本地控制台访问时,这是有用的。所描述的系统的该部分可就被用来向虚拟机提供GPU加速,而不管3D远程访问的使用。这对于可能本地地托管多个虚拟机并且愿意具有那些VM访问3D硬件的工作站是有用的。在该配置下,所有的组件可位于单个物理机器内。在这种情况下,“远程客户端”可被提供在与3D硬件分开的虚拟机上,但在单个的物理机器之内。
通过使用代理机制来动态地控制图像流的路由,所描述的系统提供了以下:
通过远程客户端和当前可用的硬件能力和性能的结合,提供了改进的资源分配和调度。
对传统VM/TS会话主机处的瓶颈的解决方案,其中大量图像数据必须路由经过单个点,由此允许云级的可扩展性。
改善的单个VM/TS会话的延迟特性,以及应用的动态切换图像流到路由通过VM主机,或主机间虚拟机的直接连接实况迁移,与此同时能够运行图形应用。
首先应当理解,尽管本公开包括关于云计算的详细描述,但其中记载的技术方案的实现却不限于云计算环境,而是能够结合现在已知或以后开发的任何其它类型的计算环境而实现。
云计算是一种服务交付模式,用于对共享的可配置计算资源池进行方便、按需的网络访问。可配置计算资源是能够以最小的管理成本或与服务提供者进行最少的交互就能快速部署和释放的资源,例如可以是网络、网络带宽、服务器、处理、内存、存储、应用、虚拟机和服务。这种云模式可以包括至少五个特征、至少三个服务模型和至少四个部署模型。
特征包括:
按需自助式服务:云的消费者在无需与服务提供者进行人为交互的情况下能够单方面自动地按需部署诸如服务器时间和网络存储等的计算能力。
广泛的网络接入:计算能力可以通过标准机制在网络上获取,这种标准机制促进了通过不同种类的瘦客户端平台或厚客户端平台(例如移动电话、膝上型电脑、个人数字助理PDA)对云的使用。
资源池:提供者的计算资源被归入资源池并通过多租户(multi-tenant)模式服务于多重消费者,其中按需将不同的实体资源和虚拟资源动态地分配和再分配。一般情况下,消费者不能控制或甚至并不知晓所提供的资源的确切位置,但可以在较高抽象程度上指定位置(例如国家、州或数据中心),因此具有位置无关性。
迅速弹性:能够迅速、有弹性地(有时是自动地)部署计算能力,以实现快速扩展,并且能迅速释放来快速缩小。在消费者看来,用于部署的可用计算能力往往显得是无限的,并能在任意时候都能获取任意数量的计算能力。
可测量的服务:云系统通过利用适于服务类型(例如存储、处理、带宽和活跃用户帐号)的某种抽象程度的计量能力,自动地控制和优化资源效用。可以监测、控制和报告资源使用情况,为服务提供者和消费者双方提供透明度。
服务模型如下:
软件即服务(SaaS):向消费者提供的能力是使用提供者在云基础架构上运行的应用。可以通过诸如网络浏览器的瘦客户端接口(例如基于网络的电子邮件)从各种客户端设备访问应用。除了有限的特定于用户的应用配置设置外,消费者既不管理也不控制包括网络、服务器、操作系统、存储、乃至单个应用能力等的底层云基础架构。
平台即服务(PaaS):向消费者提供的能力是在云基础架构上部署消费者创建或获得的应用,这些应用利用提供者支持的程序设计语言和工具创建。消费者既不管理也不控制包括网络、服务器、操作系统或存储的底层云基础架构,但对其部署的应用具有控制权,对应用托管环境配置可能也具有控制权。
基础架构即服务(IaaS):向消费者提供的能力是消费者能够在其中部署并运行包括操作系统和应用的任意软件的处理、存储、网络和其他基础计算资源。消费者既不管理也不控制底层的云基础架构,但是对操作系统、存储和其部署的应用具有控制权,对选择的网络组件(例如主机防火墙)可能具有有限的控制权。
部署模型如下:
私有云:云基础架构单独为某个组织运行。云基础架构可以由该组织或第三方管理并且可以存在于该组织内部或外部。
共同体云:云基础架构被若干组织共享并支持有共同利害关系(例如任务使命、安全要求、政策和合规考虑)的特定共同体。共同体云可以由共同体内的多个组织或第三方管理并且可以存在于该共同体内部或外部。
公共云:云基础架构向公众或大型产业群提供并由出售云服务的组织拥有。
混合云:云基础架构由两个或更多部署模型的云(私有云、共同体云或公共云)组成,这些云依然是独特的实体,但是通过使数据和应用能够移植的标准化技术或私有技术(例如用于云之间的负载平衡的云突发流量分担技术)绑定在一起。
云计算环境是面向服务的,特点集中在无状态性、低耦合性、模块性和语意的互操作性。云计算的核心是包含互连节点网络的基础架构。
现在参考图6,其中显示了云计算节点的一个例子。图6显示的云计算节点600仅仅是适合的云计算节点的一个示例,不应对本发明实施例的功能和使用范围带来任何限制。总之,云计算节点600能够被用来实现和/或执行以上所述的任何功能。
云计算节点600具有计算机系统/服务器610,其可与众多其它通用或专用计算系统环境或配置一起操作。众所周知,适于与计算机系统/服务器610一起操作的计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户端、厚客户端、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统﹑大型计算机系统和包括上述任意系统的分布式云计算技术环境,等等。
计算机系统/服务器610可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括执行特定的任务或者实现特定的抽象数据类型的例程、程序、目标程序、组件、逻辑、数据结构等。计算机系统/服务器610可以在通过通信网络链接的远程处理设备执行任务的分布式云计算环境中实施。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
如图6所示,云计算节点600中的计算机系统/服务器610以通用计算设备的形式表现。计算机系统/服务器610的组件可以包括但不限于:一个或者多个处理器或者处理单元611,系统存储器612,连接不同系统组件(包括系统存储器612和处理单元611)的总线613。
总线613表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
计算机系统/服务器610典型地包括多种计算机系统可读介质。这些介质可以是能够被计算机系统/服务器610访问的任意可获得的介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器612可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)614和/或高速缓存存储器615。计算机系统/服务器610可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统616可以用于读写不可移动的、非易失性磁介质(图6未显示,通常称为“硬盘驱动器”)。尽管图6中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线613相连。存储器612可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块618的程序/实用工具617,可以存储在存储器612中,这样的程序模块618包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块618通常执行本发明所描述的实施例中的功能和/或方法。
计算机系统/服务器610也可以与一个或多个外部设备619(例如键盘、指向设备、显示器620等)通信,还可与一个或者多个使得用户能与该计算机系统/服务器610交互的设备通信,和/或与使得该计算机系统/服务器610能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口621进行。并且,计算机系统/服务器610还可以通过网络适配器622与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器622通过总线613与计算机系统/服务器610的其它模块通信。应当明白,尽管图中未示出,其它硬件和/或软件模块可以与计算机系统/服务器610一起操作,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
现在参考图7,其中显示了示例性的云计算环境700。如图所示,云计算环境700包括云计算消费者使用的本地计算设备可以与其相通信的一个或者多个云计算节点710,本地计算设备例如可以是个人数字助理(PDA)或移动电话721,台式电脑722、笔记本电脑723和/或汽车计算机系统724。云计算节点710之间可以相互通信。可以在包括但不限于如上所述的私有云、共同体云、公共云或混合云或者它们的组合的一个或者多个网络中将云计算节点710进行物理或虚拟分组(图中未显示)。这样,云的消费者无需在本地计算设备上维护资源就能请求云计算环境700提供的基础架构即服务(IaaS)、平台即服务(PaaS)和/或软件即服务(SaaS)。应当理解,各类计算设备721-724仅仅是示意性的,云计算节点700以及云计算环境50可以与任意类型网络上和/或网络可寻址连接的任意类型的计算设备(例如使用网络浏览器)通信。
现在参考图8,其中显示了云计算环境800提供的一组功能抽象层。首先应当理解,图8所示的组件、层以及功能都仅仅是示意性的,本发明的实施例不限于此。如图3所示,提供下列层和对应功能:
硬件和软件层810包括硬件和软件组件。硬件组件的例子包括:主机,例如系统;基于RISC(精简指令集计算机)体系结构的服务器,例如IBM系统;IBM系统;IBM系统;存储设备;网络和网络组件。软件组件的例子包括:网络应用服务器软件,例如IBM应用服务器软件;数据库软件,例如IBM数据库软件。(IBM,zSeries,pSeries,xSeries,BladeCenter,WebSphere以及DB2是国际商业机器公司在全世界各地的注册商标)。
硬件和软件层810是托管VM/TS会话的通用服务器、以及图形服务器,或GPU提供者所处的层。
虚拟层820提供一个抽象层,该层可以提供下列虚拟实体的例子:虚拟服务器、虚拟存储、虚拟网络(包括虚拟私有网络)、虚拟应用和操作系统,以及虚拟客户端。
在一个示例中,管理层830可以提供下述功能:资源供应功能:提供用于在云计算环境中执行任务的计算资源和其它资源的动态获取;计量和定价功能:在云计算环境内对资源的使用进行成本跟踪,并为此提供帐单和发票。在一个例子中,该资源可以包括应用软件许可。安全功能:为云的消费者和任务提供身份认证,为数据和其它资源提供保护。用户门户功能:为消费者和系统管理员提供对云计算环境的访问。服务水平管理功能:提供云计算资源的分配和管理,以满足必需的服务水平。服务水平协议(SLA)计划和履行功能:为根据SLA预测的对云计算资源未来需求提供预先安排和供应。
管理层830可提供用于在所描述的系统中分配图形资源的代理功能。
本发明可采用全部硬件实施例、全部软件实施例或包含硬件和软件元件两者的实施例的形式。在优选的实施例中,以软件实施本发明,所述软件包括但不限于,固件、驻留软件、微代码等。
本发明可采用可从计算机可用或计算机可读介质访问的计算机程序产品的形式,该介质提供被计算机或其它指令执行系统使用或与其结合使用的程序代码。为了本描述的目的,计算机可用或计算机可读介质可以是可以包含、存储、通信、传播或传送程序以用于被指令执行系统、装置或设备使用或与其结合使用的装置。
所述介质可以是电、磁、光、电磁、红外或半导体系统(或装置或设备)或传播介质。计算机可读介质的例子包括半导体或固态存储器、磁带、可移动的计算机磁盘、随机存取存储器(RAM)、只读存储器(ROM)、硬磁盘和光盘。光盘当前的例子包括紧凑磁盘只读存储器(CD-ROM)、紧凑磁盘读/写(CD-R/W)和DVD。
可以在不偏离本发明的范围内对上述进行改进和修改。

Claims (21)

1.一种为网络使能应用提供硬件加速图形的方法,包括:
在主机(120)上提供网络使能应用(221),该应用(221)请求不是提供在该主机(120)上的硬件加速图形;
在所述主机(120)处提供3D库包装(222),用于连接到3D图形绘制资源(141-144)的代理(150);
在所述代理(150)处接收对所述3D图形绘制资源(141-144)的请求;
所述代理(150)评估(304)可用的3D图形绘制资源(141-144),以及将选择的3D图形绘制资源(141)从所述3D图形绘制资源(141-144)分配(305)给所述3D库包装(222),从而返回最终的2D绘制的图像给远程客户端(131);
所述代理(150)确定(412)是否提供用于所述远程客户端(131)的直接连接信息;以及
如果存在用于远程客户端的直接连接信息,则指令(413)所选择的3D图形绘制资源(141)与远程客户端(131)进行直接连接;
所述3D库包装(222)向所述3D图形绘制资源(141-144)提供直接连接信息;以及
所选择的3D图形绘制资源(141)直接向所述远程客户端(131)发送(308)最终的绘制的图像。
2.根据权利要求1所述的方法,其中所述网络使能应用(221)在所述主机(120)上的虚拟机(121)上执行,并由所述远程客户端(131)访问。
3.根据权利要求1所述的方法,其中所述网络使能应用(221)在所述主机(120)上的终端服务会话上执行,并由所述远程客户端(131)访问。
4.根据权利要求1所述的方法,包括:
所述3D库包装(222)和所选择的3D图像绘制资源(141)连接以发送图形调用。
5.根据权利要求1所述的方法,包括:
从所选择的3D图形绘制资源(141)向所述3D库包装(222)发送(307)最终的绘制的图像,用于转发给所述远程客户端(131)。
6.根据权利要求1所述的方法,其中提供多个3D图形绘制资源(141-144)作为提供在网络计算架构中、对一个或多个主机(120)上的多个虚拟机或终端服务会话可用的虚拟图形服务器。
7.根据权利要求1所述的方法,包括:
所述代理(150)监测(405)3D图形绘制资源(141-144)并更新(408)资源优先级队列(409)。
8.根据权利要求1所述的方法,包括:
所述代理(150)监测(454)在所选择的3D图形绘制资源(141)和所述远程客户端(131)之间的直接通信与经由3D库包装(222)的通信之间的模式改变请求;以及
按请求改变模式。
9.根据权利要求1所述的方法,包括:
修改3D图形调用为所述3D库包装(222)和所选择的3D图形绘制资源(141)之间中立的格式。
10.根据权利要求1所述的方法,其中使得图形绘制与主机(120)去耦合使能具有平台独立性的图形资源的可扩展性。
11.一种为网络使能应用提供硬件加速图形的系统,包括:
主机(120),其具有请求不是提供在所述主机(120)上的硬件加速图形的应用(221)以及用于所述应用(221)的3D库包装(222);
独立于所述主机(120)提供的一个或多个3D图形绘制资源(141-144);
代理(150),用于评估(304)选择的3D图形绘制资源(141)并将所选择的3D图形绘制资源(141)从所述一个或多个3D图形绘制资源(141-144)分配(305)给用于所述应用(221)的所述3D库包装(222),从而返回最终的2D绘制的图像给远程客户端(131);
从所选择的3D图形绘制资源(141)到所述远程客户端(131)的直接的通信机构;
其中所述代理(150)确定(412)是否提供用于所述远程客户端(131)的直接连接信息;以及,如果存在用于所述远程客户端(131)的直接连接信息,则指令(413)所选择的3D图形绘制资源(141)与所述远程客户端(131)进行直接连接;
其中所述远程客户端(131)直接接收来自所选择的3D图形绘制资源(141)的绘制的图像,并在客户端(131)处合成图像。
12.根据权利要求11所述的系统,其中所述3D库包装(222)是将库调用指引到所述代理(150)的代理库包装。
13.根据权利要求11所述的系统,其中所述应用(221)在所述主机(120)上的虚拟机(121)上执行,并由所述远程客户端(131)访问。
14.根据权利要求11所述的系统,其中所述应用(221)在所述主机上的终端服务会话上执行,并由所述远程客户端(131)访问。
15.根据权利要求11所述的系统,其中:
所述代理(150)评估(304)虚拟3D图形绘制资源并将所述虚拟3D图形绘制资源分配给网络使能环境中的多个主机(120)。
16.根据权利要求11所述的系统,包括:
在所述3D库包装(222)和所选择的3D图形绘制资源(141)之间的通信机构,用于发送中立的图形调用。
17.根据权利要求11所述的系统,其中所述代理(150)监测(405)3D图形绘制资源(141-144)并更新(408)资源优先级队列(409)。
18.根据权利要求11所述的系统,其中所述代理(150)监测(454)在所选择的3D图形绘制资源(141)和远程客户端(131)之间的直接通信与经由3D库包装(222)的通信之间的模式改变请求,并按请求改变模式。
19.根据权利要求11所述的系统,其中使得图形绘制与所述主机(120)去耦合使能具有平台独立性的图形资源的可扩展性。
20.根据权利要求11所述的系统,其中所述远程客户端(131)是瘦客户端且所述系统支持多个连接协议。
21.根据权利要求11所述的系统,其中所述主机(120)托管多个虚拟机(121-125),并在本地显示绘制的图像。
CN201180060185.XA 2010-12-15 2011-10-27 用于网络使能应用的硬件加速图形的方法和系统 Expired - Fee Related CN103270492B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP10195227.3 2010-12-15
EP10195227 2010-12-15
PCT/EP2011/068869 WO2012079825A1 (en) 2010-12-15 2011-10-27 Hardware accelerated graphics for network enabled applications

Publications (2)

Publication Number Publication Date
CN103270492A CN103270492A (zh) 2013-08-28
CN103270492B true CN103270492B (zh) 2016-08-17

Family

ID=44872355

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180060185.XA Expired - Fee Related CN103270492B (zh) 2010-12-15 2011-10-27 用于网络使能应用的硬件加速图形的方法和系统

Country Status (4)

Country Link
US (1) US8803876B2 (zh)
JP (1) JP5808424B2 (zh)
CN (1) CN103270492B (zh)
WO (1) WO2012079825A1 (zh)

Families Citing this family (83)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8745173B1 (en) * 2011-12-30 2014-06-03 hopTo Inc. Client computing system for and method of receiving cross-platform remote access to 3D graphics applications
WO2010121945A2 (en) * 2009-04-21 2010-10-28 International Business Machines Corporation Method and system for interaction with unmodified 3d graphics applications
US8769052B1 (en) 2011-12-30 2014-07-01 hopTo Inc. Cloud-based server computing system for and method of providing cross-platform remote access to 3D graphics applications
US8838749B1 (en) * 2011-12-30 2014-09-16 hopTo Inc. Cloud based client computing system for and method of receiving cross-platform remote access to 3D graphics applications
US8766990B1 (en) * 2011-12-30 2014-07-01 hopTo Inc. Server computing system for and method of providing cross-platform remote access to 3D graphics applications
US20130210522A1 (en) * 2012-01-12 2013-08-15 Ciinow, Inc. Data center architecture for remote graphics rendering
CN102664937B (zh) * 2012-04-09 2016-02-03 威盛电子股份有限公司 云端运算图形服务器及云端运算图形服务方法
US9613390B2 (en) 2012-05-02 2017-04-04 Nvidia Corporation Host context techniques for server based graphics processing
US9311169B2 (en) 2012-05-02 2016-04-12 Nvidia Corporation Server based graphics processing techniques
US9542715B2 (en) * 2012-05-02 2017-01-10 Nvidia Corporation Memory space mapping techniques for server based graphics processing
US9805439B2 (en) * 2012-05-02 2017-10-31 Nvidia Corporation Memory space mapping techniques for server based graphics processing
US9882824B2 (en) 2012-06-08 2018-01-30 Hewlett Packard Enterpise Development Lp Cloud application deployment portability
CN103631634B (zh) * 2012-08-24 2017-07-25 中国电信股份有限公司 实现图形处理器虚拟化的方法与装置
US10175750B1 (en) * 2012-09-21 2019-01-08 Amazon Technologies, Inc. Projected workspace
US10270709B2 (en) 2015-06-26 2019-04-23 Microsoft Technology Licensing, Llc Allocating acceleration component functionality for supporting services
US10110412B2 (en) * 2012-10-17 2018-10-23 Disney Enterprises, Inc. Dynamically allocated computing method and system for distributed node-based interactive workflows
JP2016508757A (ja) * 2012-12-21 2016-03-24 ジェイソン スペンサー, 医療データのグラフィカル処理のためのシステムおよび方法
WO2014189529A1 (en) * 2013-05-24 2014-11-27 Empire Technology Development, Llc Datacenter application packages with hardware accelerators
US9430251B2 (en) * 2013-09-30 2016-08-30 Unity Technologies Finland Oy Software development kit for capturing graphical image data
US9582849B2 (en) 2013-10-28 2017-02-28 Vmware, Inc. Method and system to virtualize graphic processing services
US9596280B2 (en) 2013-11-11 2017-03-14 Amazon Technologies, Inc. Multiple stream content presentation
US9582904B2 (en) 2013-11-11 2017-02-28 Amazon Technologies, Inc. Image composition based on remote object data
US9805479B2 (en) * 2013-11-11 2017-10-31 Amazon Technologies, Inc. Session idle optimization for streaming server
US9634942B2 (en) 2013-11-11 2017-04-25 Amazon Technologies, Inc. Adaptive scene complexity based on service quality
US9641592B2 (en) 2013-11-11 2017-05-02 Amazon Technologies, Inc. Location of actor resources
US9604139B2 (en) 2013-11-11 2017-03-28 Amazon Technologies, Inc. Service for generating graphics object data
US9817922B2 (en) * 2014-03-01 2017-11-14 Anguleris Technologies, Llc Method and system for creating 3D models from 2D data for building information modeling (BIM)
CN104951353B (zh) 2014-03-28 2018-09-21 华为技术有限公司 一种对vnf实现加速处理的方法及装置
EP2930621B1 (en) * 2014-04-10 2018-12-05 Crytek GmbH Network-based Render Services and Local Rendering for Collaborative Environments
US10637819B2 (en) * 2014-06-26 2020-04-28 Orange Context based multi-model communication in customer service
KR102199276B1 (ko) * 2014-08-20 2021-01-06 에스케이플래닛 주식회사 클라우드 스트리밍 서비스 시스템, 클라우드 스트리밍 서비스 유형에 따른 서비스 처리 방법 및 이를 위한 장치
EP3171601A4 (en) * 2014-07-14 2018-05-16 SK TechX Co., Ltd. Cloud streaming service system, data compressing method for preventing memory bottlenecking, and device for same
KR102063093B1 (ko) * 2014-08-04 2020-01-07 에스케이플래닛 주식회사 클라우드 스트리밍 서비스 시스템, 메모리 병목 현상을 방지하기 위한 데이터 압축 방법 및 이를 위한 장치
KR102199296B1 (ko) * 2014-07-14 2021-01-06 에스케이플래닛 주식회사 클라우드 스트리밍 서버 테스트 방법, 이를 위한 장치 및 시스템
US9438673B2 (en) * 2014-07-16 2016-09-06 Microsoft Technology Licensing, Llc Dynamic update streams for real time provisioning
JP6472881B2 (ja) * 2014-11-12 2019-02-20 インテル コーポレイション グラフィックス仮想化を用いたホストコンピュータからの/ホストコンピュータへの仮想マシンのライブマイグレーション
CN104731653B (zh) * 2015-03-31 2018-09-25 上海盈方微电子有限公司 一种Android显示系统的软件绘制和硬件绘制动态切换方法
US10511478B2 (en) 2015-04-17 2019-12-17 Microsoft Technology Licensing, Llc Changing between different roles at acceleration components
US10198294B2 (en) 2015-04-17 2019-02-05 Microsoft Licensing Technology, LLC Handling tenant requests in a system that uses hardware acceleration components
US10296392B2 (en) 2015-04-17 2019-05-21 Microsoft Technology Licensing, Llc Implementing a multi-component service using plural hardware acceleration components
US9792154B2 (en) 2015-04-17 2017-10-17 Microsoft Technology Licensing, Llc Data processing system having a hardware acceleration plane and a software plane
US10216555B2 (en) 2015-06-26 2019-02-26 Microsoft Technology Licensing, Llc Partially reconfiguring acceleration components
US10298561B2 (en) * 2015-06-30 2019-05-21 Vmware, Inc. Providing a single session experience across multiple applications
US9704270B1 (en) 2015-07-30 2017-07-11 Teradici Corporation Method and apparatus for rasterizing and encoding vector graphics
US11145271B2 (en) * 2015-08-10 2021-10-12 Amazon Technologies, Inc. Virtualizing graphics processing in a provider network
US10949805B2 (en) 2015-11-06 2021-03-16 Anguleris Technologies, Llc Method and system for native object collaboration, revision and analytics for BIM and other design platforms
US10867282B2 (en) 2015-11-06 2020-12-15 Anguleris Technologies, Llc Method and system for GPS enabled model and site interaction and collaboration for BIM and other design platforms
US9904975B2 (en) 2015-11-11 2018-02-27 Amazon Technologies, Inc. Scaling for virtualized graphics processing
US9904973B2 (en) 2015-11-11 2018-02-27 Amazon Technologies, Inc. Application-specific virtualized graphics processing
US9904974B2 (en) 2015-11-11 2018-02-27 Amazon Technologies, Inc. Placement optimization for virtualized graphics processing
US20170140570A1 (en) * 2015-11-13 2017-05-18 Intel Corporation Facilitating efficeint centralized rendering of viewpoint-agnostic graphics workloads at computing devices
CN105786589A (zh) * 2016-02-26 2016-07-20 成都赫尔墨斯科技有限公司 一种云渲染系统、服务器及方法
JP6563363B2 (ja) * 2016-05-13 2019-08-21 日本電信電話株式会社 設定サーバ、設定方法および設定プログラム
US10181173B1 (en) 2016-06-08 2019-01-15 Amazon Technologies, Inc. Disaggregated graphics asset management for virtualized graphics
US10181172B1 (en) 2016-06-08 2019-01-15 Amazon Technologies, Inc. Disaggregated graphics asset delivery for virtualized graphics
US10423463B1 (en) 2016-06-09 2019-09-24 Amazon Technologies, Inc. Computational task offloading for virtualized graphics
CN106354455B (zh) * 2016-08-17 2019-09-13 青岛海信电器股份有限公司 人机界面显示处理装置及其方法
US10102605B1 (en) * 2016-08-26 2018-10-16 Amazon Technologies, Inc. Graphics library virtualization for virtualized graphics processing
US10200249B1 (en) 2016-12-09 2019-02-05 Amazon Technologies, Inc. Network traffic management for virtualized graphics devices
US10373284B2 (en) * 2016-12-12 2019-08-06 Amazon Technologies, Inc. Capacity reservation for virtualized graphics processing
US10430911B1 (en) 2016-12-16 2019-10-01 Amazon Technologies, Inc. Graphics overlays with virtualized graphics processing
US10482561B1 (en) 2017-01-11 2019-11-19 Amazon Technologies, Inc. Interaction monitoring for virtualized graphics processing
US10255652B2 (en) 2017-01-18 2019-04-09 Amazon Technologies, Inc. Dynamic and application-specific virtualized graphics processing
US10692168B1 (en) 2017-01-26 2020-06-23 Amazon Technologies, Inc. Availability modes for virtualized graphics processing
US10204392B2 (en) 2017-02-02 2019-02-12 Microsoft Technology Licensing, Llc Graphics processing unit partitioning for virtualization
US10593009B1 (en) 2017-02-22 2020-03-17 Amazon Technologies, Inc. Session coordination for auto-scaled virtualized graphics processing
US10169841B1 (en) 2017-03-27 2019-01-01 Amazon Technologies, Inc. Dynamic interface synchronization for virtualized graphics processing
US10074206B1 (en) 2017-05-23 2018-09-11 Amazon Technologies, Inc. Network-optimized graphics library for virtualized graphics processing
US10338847B1 (en) 2017-08-28 2019-07-02 Amazon Technologies, Inc. Coherent buffer mapping for virtualized graphics processing
EP4220396A1 (en) * 2017-11-15 2023-08-02 Huawei Technologies Co., Ltd. Acceleration resource scheduling method and acceleration system
US10908940B1 (en) 2018-02-26 2021-02-02 Amazon Technologies, Inc. Dynamically managed virtual server system
US10459706B1 (en) * 2018-03-12 2019-10-29 State Farm Mutual Automobile Insurance Company System and methods for simplifying three-dimensional models
CN108667909A (zh) * 2018-04-16 2018-10-16 南京维拓科技股份有限公司 混合云模式下的创客平台系统
US11150920B2 (en) * 2018-05-25 2021-10-19 Vmware, Inc. 3D API redirection for virtual desktop infrastructure
CN112997220A (zh) * 2018-09-10 2021-06-18 阿韦瓦软件有限责任公司 经由远程渲染的视频流进行3d模型的可视化和交互的系统和方法
US10936370B2 (en) * 2018-10-31 2021-03-02 International Business Machines Corporation Apparatus that generates optimal launch configurations
CN109615709B (zh) * 2018-12-10 2022-09-06 长春理工大学 基于云计算的多人协作三维场景建模与绘制方法
CN109671140B (zh) * 2018-12-26 2024-02-02 上海赞奇文化科技有限公司 一种采用微服务的云渲染服务处理方法
CN111381914B (zh) * 2018-12-29 2021-07-30 中兴通讯股份有限公司 一种云桌面虚机实现3d能力的方法和系统
CN110443876A (zh) * 2019-07-31 2019-11-12 新华三大数据技术有限公司 3d图像渲染方法及装置
CN111494936A (zh) * 2020-02-12 2020-08-07 阿里巴巴集团控股有限公司 画面渲染方法、设备、系统及存储介质
WO2021171615A1 (ja) * 2020-02-28 2021-09-02 日本電信電話株式会社 リソース推定装置、リソース推定方法、および、リソース推定プログラム
CN111552554A (zh) * 2020-05-09 2020-08-18 中瓴智行(成都)科技有限公司 基于图形库api代理的gpu虚拟化方法、系统及介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1702692A (zh) * 2004-05-03 2005-11-30 微软公司 提供增强的图形流水线的系统和方法
CN101192302A (zh) * 2006-11-28 2008-06-04 国际商业机器公司 分发工作负载的方法和图像处理系统
CN101849224A (zh) * 2007-10-20 2010-09-29 思杰系统有限公司 用于远程处理三维图像数据的方法和系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6704023B1 (en) * 1998-12-04 2004-03-09 Silicon Motion, Inc. 3-D graphics chip with embedded DRAMbuffers
US6909432B2 (en) * 2002-02-27 2005-06-21 Hewlett-Packard Development Company, L.P. Centralized scalable resource architecture and system
US7916147B2 (en) * 2002-03-01 2011-03-29 T5 Labs Ltd. Centralised interactive graphical application server
JP2005284694A (ja) * 2004-03-30 2005-10-13 Fujitsu Ltd 3次元モデルデータ提供プログラム、3次元モデルデータ提供サーバ、及び3次元モデルデータ転送方法
US8274518B2 (en) * 2004-12-30 2012-09-25 Microsoft Corporation Systems and methods for virtualizing graphics subsystems
WO2010121945A2 (en) * 2009-04-21 2010-10-28 International Business Machines Corporation Method and system for interaction with unmodified 3d graphics applications

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1702692A (zh) * 2004-05-03 2005-11-30 微软公司 提供增强的图形流水线的系统和方法
CN101192302A (zh) * 2006-11-28 2008-06-04 国际商业机器公司 分发工作负载的方法和图像处理系统
CN101849224A (zh) * 2007-10-20 2010-09-29 思杰系统有限公司 用于远程处理三维图像数据的方法和系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Scalable Support for 3D Graphics Applications in Cloud;Weidong Shi等;《Cloud Computing (CLOUD), 2010 IEEE 3rd International Conference on》;20100710;346-353 *

Also Published As

Publication number Publication date
US20120154389A1 (en) 2012-06-21
JP2014504409A (ja) 2014-02-20
JP5808424B2 (ja) 2015-11-10
US8803876B2 (en) 2014-08-12
WO2012079825A1 (en) 2012-06-21
CN103270492A (zh) 2013-08-28

Similar Documents

Publication Publication Date Title
CN103270492B (zh) 用于网络使能应用的硬件加速图形的方法和系统
CN102946409B (zh) 从多个服务器向客户机递送单个终端用户体验
US10778756B2 (en) Location of actor resources
CN104717156B (zh) 使用网络接口卡管理软件定义网络中的数据流的方法和系统
CN104052789B (zh) 用于虚拟联网系统的负载平衡的方法和系统
CN104428752B (zh) 将虚拟机流卸载至物理队列
CN105159753B (zh) 加速器虚拟化的方法、装置及集中资源管理器
CN103973741B (zh) 用于在云系统中进行远程调试的方法和装置
US20200142727A1 (en) Systems and methods for providing availability to resources
CN105684357A (zh) 虚拟机中地址的管理
CN104038401A (zh) 用于分布式覆盖虚拟环境的互操作性
US8849905B2 (en) Centralized computing
US20150133216A1 (en) View generation based on shared state
US11710206B2 (en) Session coordination for auto-scaled virtualized graphics processing
US20150130814A1 (en) Data collection for multiple view generation
CN109697120A (zh) 用于应用迁移的方法、电子设备
CN103377402A (zh) 一种多用户分析系统以及相应的装置和方法
CN109729040A (zh) 协议的选择的方法、设备以及计算机可读介质
CN103927216A (zh) 用于管理虚拟装置的方法和系统
US20150130815A1 (en) Multiple parallel graphics processing units
CN115795929A (zh) 一种仿真推演评估系统及方法
JP2023545985A (ja) エッジ・コンピューティング環境におけるタスク・フローの管理
CN104951238A (zh) 用于在分布式虚拟环境中管理数据存储的方法和装置
Benomar et al. Deviceless: A serverless approach for the Internet of Things
Luo et al. Constructing a virtual computer laboratory based on OpenStack

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160817

Termination date: 20201027

CF01 Termination of patent right due to non-payment of annual fee