虚拟客户机计算环境中的命令的硬件处理制造技术

技术编号:2824012 阅读:227 留言:0更新日期:2012-04-11 18:40
由虚拟客户机计算环境中的硬件处理命令,例如由图形硬件处理图形相关命令。服务器计算设备包括图形硬件、虚拟客户机计算环境、以及服务器计算环境。图形硬件把图形相关命令处理为响应。所述虚拟客户机计算环境包括发布命令的编码应用。服务器计算环境包括解码应用。编码应用包括第一线程,该第一线程接收命令,并且把它们放置在第一队列上。编码应用包括第二线程,该第二线程从第二队列接收响应,并且把响应传送给远程显示设备。解码应用包括第三线程,该第三线程从第一队列接收命令、把命令传送给图形硬件、从图形硬件接收响应、以及把响应放置在第二队列上。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术通常涉及虚拟客户机计算环境,例如,Terminal Services(终端服务)环境,更具体地,本专利技术涉及在这种环境中的命令的硬件处理,例如,在这种环境中的图形硬件对图形相关命令的处理(Microsoft和Windows是Microsoft公司在美国、其它国家,或者在美国与其它国家中的商标)。
技术介绍
通常,公司机构均拥有数十、数百、或者成千上万的计算机用户。历史上,每一个计算机用户均具有他或她自己的客户机计算设备。通常,所有计算机用户的客户机计算设备经由网络互相连接,这在很大程度上减轻了对设备的管理。然而,通常,在客户机计算设备自身上仍需某些维护工作,这意味着管理员和其他信息技术(IT)人员必须周期性地访问每一客户机计算设备,这是非常耗费时间以及非常昂贵的。而且,向每一计算机用户提供单独的计算设备,本身也需要很高的代价。因此,近期,许多公司机构已把它们的计算资源移植到终端服务型环境,其在此处被称为虚拟客户机计算环境。在这些类型的环境中,中央服务器计算设备掌管大量的计算机用户,并且向每一用户赋予运行在服务器计算设备上的操作系统中的单独的对话。每一计算机用户仍具有一个客户机计算设备,然而,这种客户机计算设备主要用作简易型终端(dumb terminal)。用户在客户机计算设备处提供输入,并且客户机计算设备向用户提供输出,而在服务器计算设备处执行所有应用程序处理。这种虚拟客户机计算环境的例子包括MicrosoftTerminal Services环境,即来自于于佛罗里达,FortLauderdale的Citrix Systems的虚拟客户机计算环境。虚拟客户机计算环境的优越性至少有两个原因。首先,由于计算机用户的客户机计算设备仅执行输入/输出功能,所以计算机用户的客户机计算设备不必特别复杂。从而,每个用户的开销实质上减少了。例如,取代拥有最-->新的和昂贵的处理器以及其它硬件组件,客户机计算设备可以具有较便宜的和较慢的处理器以及其它较便宜的硬件组件。整体性能并未下降,因为在服务器计算设备处而不是在客户机计算设备处执行主要的应用程序处理。第二,基本上在服务器计算设备自身,而不是在客户机计算设备处进行对这种多用户系统的维护。例如,对存储器、处理能力、硬盘驱动器存储器等进行的升级均通过在服务器计算设备而不是在客户机计算设备处增加这些资源来来提供。因此,减小了IT人员所承受的维护开销,因为IT人员不必访问每一客户机计算设备来执行许多常规的维护任务。使用虚拟客户机计算环境的一个缺点是在图形处理领域。通常,至少部分地由专用图形硬件,而不仅仅在软件中执行复杂的图形处理。根据诸如OpenGL的标准对图形相关命令进行了标准化。运行在计算设备上的应用程序向运行在计算设备上的操作系统提供这种图形相关命令。操作系统依次把这些命令传递给计算设备的图形硬件,其对这些命令进行处理,以在计算设备的显示设备上显示或者返回向应用程序报告。使用专用图形硬件处理图形相关命令提供了与如果在软件中处理这种图形相关命令、即像任何其它软件那样由计算设备的处理器、而不由专门的硬件来辅助处理这种图形相关命令的情况相比通常要快若干量级的图形处理。然而,不能很好地令虚拟客户机计算环境利用专用图形硬件处理图形相关命令。如果把图形硬件定位在客户机计算设备本身处,则其不能够由运行在服务器计算设备上的虚拟客户机计算环境中的客户机应用程序使用。其原因在于,客户机应用程序运行在服务器计算设备上提供的操作系统的范围内,因而无法访问对客户机计算设备本身上的用于处理图形相关命令的图形硬件。而且,即使这种访问是可能的,向客户机计算设备添加昂贵的图形硬件,首先有悖于拥有虚拟客户机计算环境的初衷,即通过把客户机计算设备主要用作简易型终端来节省开销。另外,如果把图形硬件设置在服务器计算设备处,则通常不能由运行在服务器计算设备上的虚拟客户机计算环境中的客户机应用程序来使用。例如,在Microsoft环境中,仅可以由运行在服务器计算设备上的服务器应用程序直接访问图形硬件,而不能由运行在服务器计算设备上的虚拟客户机计算环境中的客户机应用程序来访问。在来自纽约的Armonk的International Business Machines公司的深度计算-->可视化(DCV)产品中找到环境中解决这一问题的方案。(Linux为Linux Torvalds在美国、其它国家,或者在美国与其它国家中的注册商标)。DCV通常允许运行在服务器计算设备上的虚拟客户机计算环境中的客户机应用程序服务器计算设备的图形硬件,甚至在把这种程序的输出显示在客户机计算设备处而不是显示在服务器计算设备处的情况下。DCV利用了各种处理间通信(IPC)机制,以便客户机应用程序可以把图形相关命令传送至服务器计算设备的图形硬件,然后,把针对图形相关命令的响应传送回所述程序本身,或者将其显示在客户机计算设备处。然而,已发现DCV在Microsoft环境中的图形相关命令处理中提供并非最佳的性能。为客户机计算设备的利益访问服务器计算设备的图形硬件旨在增强图形性能,所以DVC的非最佳性能意味着DCV不是足够解决这一问题的方案。
技术实现思路
本专利技术涉及虚拟客户机计算环境中的命令的硬件处理,例如通过图形硬件对图形相关命令的处理。根据第一方面,提供了一种服务器计算设备,该服务器计算设备包含图形硬件、第一和第二队列、虚拟客户机计算环境以及服务器计算环境。图形硬件用于把图形相关命令处理为图形相关命令响应。虚拟客户机计算环境用于与通信地耦合于服务器计算设备的远程客户机计算设备进行交互。所述虚拟客户机计算环境包括发布图形相关命令的编码应用。该编码应用包括接收图形相关命令并且把图形相关命令放置在第一队列上的第一线程。所述编码应用还包括从第二队列接收图形相关命令响应并且把图形相关命令响应传送给远程客户机计算设备的显示设备的第二线程。服务器计算环境用于管理虚拟客户机计算环境,并且包括解码应用。该解码应用包括第三线程,该第三线程从第一队列接收图形相关命令、把图形相关命令传送给图形硬件以进行处理、从图形硬件接收图形相关命令响应、以及把图形相关命令响应放置在第二队列上。优选地提供这种能力:允许运行在基于Microsoft的服务器计算设备上的虚拟客户机计算环境中的客户机应用程序来掌控这种服务器计算设备的图形硬件,有利于客户机计算设备。这种掌控优选地提供接近下述性-->能实现了:好象把图形硬件安装在客户机计算设备本身上,并且可以由客户机应用程序来访问。根据第二方面,提供了一种包含硬件、虚拟客户机计算环境以及服务器计算环境的服务器计算设备。所述硬件用于与能够仅在软件中实现相比更快地把具体命令处理为响应。虚拟客户机计算环境用于与通信地耦合于服务器计算设备的远程客户机计算设备进行交互并且用于发布具体命令,而且虚拟客户机计算环境包括第一线程和第二线程。所述服务器计算环境用于管理虚拟客户机计算环境,并且包括第三线程。第一线程用于接收在虚拟客户机计算环境中发布的具体命令,并且把它们放置在第一队列上。第二线程用于从第二队列接收响应,并且把它们传送给远程客户机计算设备的相应硬件。第三线程用于从第一队列接收具体命令,把它们传送给硬件以进行处理、从硬件接收响应、以及把本文档来自技高网
...

【技术保护点】
一种服务器计算设备,包含:    图形硬件,用于把图形相关命令处理为图形相关命令响应;    第一队列和第二队列;    虚拟客户机计算环境,用于与通信地耦合于所述服务器计算设备的远程客户机计算设备进行交互,并且包含:    编码应用,用于发布所述图形相关命令,包含:    第一线程,用于接收所述图形相关命令,并且把所述图形相关命令放置在所述第一队列上;以及,    第二线程,用于从所述第二队列接收所述图形相关命令响应,并且把所述图形相关命令响应传送给所述远程客户机计算设备的显示设备;    服务器计算环境,用于管理所述虚拟客户机计算环境,并且包含:    解码应用,其包含第三线程,该第三线程从所述第一队列接收所述图形相关命令、把所述图形相关命令传送给所述图形硬件以进行处理、从所述图形硬件接收所述图形相关命令响应、以及把所述图形相关命令响应放置在所述第二队列上。

【技术特征摘要】
【国外来华专利技术】US 2005-10-15 11/250,8661.一种服务器计算设备,包含:图形硬件,用于把图形相关命令处理为图形相关命令响应;第一队列和第二队列;虚拟客户机计算环境,用于与通信地耦合于所述服务器计算设备的远程客户机计算设备进行交互,并且包含:编码应用,用于发布所述图形相关命令,包含:第一线程,用于接收所述图形相关命令,并且把所述图形相关命令放置在所述第一队列上;以及,第二线程,用于从所述第二队列接收所述图形相关命令响应,并且把所述图形相关命令响应传送给所述远程客户机计算设备的显示设备;服务器计算环境,用于管理所述虚拟客户机计算环境,并且包含:解码应用,其包含第三线程,该第三线程从所述第一队列接收所述图形相关命令、把所述图形相关命令传送给所述图形硬件以进行处理、从所述图形硬件接收所述图形相关命令响应、以及把所述图形相关命令响应放置在所述第二队列上。2.根据权利要求1所述的服务器计算设备,其中,与所述图形相关命令的软件处理相比,所述图形硬件能够更快地处理所述图形相关命令。3.根据权利要求1或2所述的服务器计算设备,其中,所述图形相关命令是OpenGL命令。4.根据权利要求1、2或3所述的服务器计算设备,其中,所述第一队列包含多个队列项,所述第一线程将把所述图形相关命令之一放置在由头指针所指向的队列项处,以便把所述头指针移向下一个可用队列项,并且所述第三线程将接收由尾指针所指向的队列项处的所述图形相关命令之一,以便把所述尾指针移向包含所述图形相关命令之一的下一个队列项。5.根据权利要求1至4中任何一项所述的服务器计算设备,其中,所述第二队列包含多个队列项,所述第三线程将把所述图形相关命令响应之一放置在由头指针所指向的队列项处,以便把所述头指针移向下一个可用队列项,并且所述第二线程将接收由尾指针所指向的队列项处的所述图形相关命令响应之一,以便把所述尾指针移向包含所述图形相关命令响应之一的下一个队列项。6.根据权利要求1至5中任何一项所述的服务器计算设备,其中,所述图形相关命令包含同步的图形相关命令,所述第一线程将把所述同步的图形相关命令放置在所述第一队列上并且等待直至所述第二线程已经从所述第二队列接收到与所述同步的图形相关命令相关的图形相关命令响应,才把任何进一步的图形相关命令放置在所述第一队列上。7.一种服务器计算设备,包含:硬件,用于与能够仅在软件中实现相比更快地实现把具体命令处理为响应;虚拟客户机计算环境,用于与通信地耦合于所述服务器计算设备并且发布所述具体命令的远程客户机计算设备进行交互,并且包含:第一线程,用于接收在所述虚拟客户机计算环境中发布的具体命令,并且把所述具体命令放置在第一队列上;以及第二线程,用于从第二队列接收所述响应,并且把所述响应传送给所述远程客户机计算设备的相应硬件;服务器计算环境,用于管理所述虚拟客户机计算环境,并且包含:第三线程,用于从所述第一队列接收所述具体命令、把所述具体命令传送给所述硬件用以处理、从所述硬件接收所述响应、并且把所述响应放置在所述第二队列上。8.根据权利要求7所述的服务器计算设备,其中,所述虚拟客户机计算环境包含包括所述第一和第二线程的编码应用。9.根据权利要求7或8所述的服务器计算设备,其中,所述服务器计算环境包含包括所述第三线程的解码应用。10.根据权利要求7、8或9所述的服务器计算设备,其中,所述硬件是图形硬件,而且所述具体命令是图形相关命令。11.一种方法,包含:通过服务器计算设备的虚拟客户机计算环境的第一线程接收由运行在所述服务器计算设备的虚拟客户机计算环境中的编码应用所发布的图形相关命令,所述虚拟客户机计算环境用于与通信地耦合于所述服务器计算设备的远程客户机计算设备进行交互,所述服务器计算环境用于管理所述虚拟客户机计算环境;所述第一线程把所述图形相关命令放置在第一队列上;所述服务器计算环境的第三线程从所述第一队列接收所述图形...

【专利技术属性】
技术研发人员:维卡斯阿卢瓦利亚维诺德梅农伍锦伦斯科特派珀保罗肖
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:US[美国]

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

1