摘要:介绍了瘦客户计算体系结构及目前广泛使用的四种具体实现,并对影响瘦客户计算平台性能的主要因素进行了分析。在此基础上给出了瘦客户计算平台的设计和研究方向。
关键词:瘦客户计算;远程显示协议;体系结构
以大型机为主的计算中心时代,通过终端设备使用计算中心的各种应用和计算资源是当时的典型应用模式。因pc机成本的降低及用户对使用中心计算模式所受各种限制的反感,致使大多数用户采用pc机来完成计算任务。但网络技术的飞速发展和应用软件种类的增多及复杂程度不断提高,让用户维护自己的计算环境成为具有挑战性的工作,特别是针对安全性要求较高的企业应用环境。而以网络通信技术为基础,以服务器计算为中心,采用瘦客户/服务器计算模式的瘦客户计算,恰好能够解决这一问题。
瘦客户计算这一网络计算模式的特点是:应用程序和数据都运行并存储在服务器端,客户端只剩下显示和输入设备,不进行复杂计算,因而对瘦客户机的硬件要求很低。它可以是简单的计算设备,如pda(个人数字助手),也可以是低端计算机或一些特殊设计的终端。
1瘦客户计算体系结构
如图1所示,瘦客户计算体系结构模型由三部分构成:①瘦客户机,客户端的计算设备,主要负责显示用户界面和客户端输入;②远程显示协议(瘦客户协议),用于在瘦客户机与应用服务器之间传送应用程序输入/输出信息的应用层协议,③应用服务器,高性能的计算机,应用程序的安装、运行、维护、升级都在其上进行,用户的个人配置文件也保存在应用服务器上。WWw.133229.Com瘦客户计算体系结构中的关键技术是远程显示协议,它是瘦客户机和服务器上的应用系统之间进行交互的机制,它使得通过网络为客户设备提供图形显示等服务成为可能。
1.1瘦客户计算的具体实现
1.1.1虚拟网络计算
虚拟网络计算(virtual network computing,vnc)的计算体系结构由三部分组成,即vnc服务器、rfb协议和vnc 浏览器。在用户使用vnc客户端连接到运行vnc服务器上时,通过键盘和鼠标动作来执行存放在服务器上的应用程序。服务器桌面的快照被压缩且通过rfb协议发送到客户端。客户端与服务器之间的通信是通过架构在tcp/ip上的rfb协议来实现的。
远程帧缓冲协议(remote frame buffers,rfb)是一个远程存取图形用户界面的简单协议。它工作在帧缓存级,能被用于所有的有关窗口操作的系统和应用程序中,具有优秀的平台独立性。协议的显示部分基于一个单独的绘图源语:存放矩形像素块数据在已给坐标位置上。一系列的块操作组成一次相应的帧更新。虽然这种像素块的贴操作效率较低,但可以通过多种像素编码压缩方式来实现网络带宽、客户端显示速度及服务器处理速度之间的效率折中,以实现高效率的图形显示。
1.1.2微软终端服务
微软windows终端计算体系结构由三部分组成,即服务器多用户操作系统内核、远程桌面协议(remote desktop protocol,rdp)和基于窗口的痩客户端软件。服务器多用户操作系统内核提供了在服务器上同时运行多个客户会话的能力,且所有基于窗口的管理机制和技术都可用来管理终端桌面,它完全独立于终端服务协议,使它既能运行于rdp协议上,也可以运行在第三方协议,如citrix的ica协议上。
rdp是微软根据itu (国际电信联盟)的t.120协议族制定的终端服务器与客户端之间的数据通信协议。作为一个多虚拟通道协议,rdp可以在不同的虚拟通道中传输windows应用系统界面输出数据、键盘和鼠标操作输入数据等。rdp支持多点数据传输。数据从一个应用程序实时地传输到多个目的地,而无须为每个会话单独地发送同样的数据。
1.1.3citrix的metaframe
citrix的metaframe主要运行在windows平台上。它的计算体系结构有三个基本组成部分:应用服务器软件(metaframe)、ica网络协议、ica客户端软件。metaframe 中使用的multiwin 技术允许多个用户在不同的客户端平台上,同时访问和运行服务器上的某个应用软件。客户端设备上的ica软件用于接收显示图像,同时向服务器发送鼠标移动和键盘击键动作的信息。
独立计算体系结构(independent computing architecture,ica)是citrix公司的窗口显示协议。它能在服务器上模拟本地应用程序处理的多用户层。多用户层上的ica显示服务可将应用程序的执行和显示逻辑分离开来,使得应用程序可以100%地在服务器上执行,并通过标准的网络传输协议tcp/ip和ipx等把用户界面传送到客户端。
1.1.4tarantella enterprise
tarantella通过三层体系结构将传统的非web化的应用转变为web应用。第二层tarantella服务器,是整个系统的核心。通过tarantella服务器,各种不同平台类型的应用服务器能够同时为瘦客户端提供服务,以实现企业应用的集中式管理。
适应性因特网协议 (adaptive internet protocol,aip) 运行于tarantella服务器上的协议引擎和客户端设备上的显示引擎之间,是tarantella客户端与服务器之间的通信协议。aip采用智能启发式机制不断地监控、测量和适应应用程序与客户端设备、数据传输的线路情况,以优化网络响应。tarantella的监视器经常发送关于客户端设备性能、网络响应时间和带宽等的反馈信息。该反馈信息将限定协议引擎运行和客户端设备执行操作的数量。协议引擎将各种需求按级别进行分类并自动进行优化调整。例如aip可以区别交互式和流式的应用,以对它们采用不同的优化机制。aip、协议引擎与显示引擎、智能缓存等特性为远程用户提供良好的性能。 1.2瘦客户计算平台性能
在瘦客户平台的基本框架内,瘦客户计算的具体实现有很多种设计选择,不同的选择会使平台的性能具有明显差异。评价瘦客户平台性能的主要指标是客户端请求的平均等待时间和客户端显示图像的质量等。要分析影响瘦客户平台性能的主要因素,需要测试不同设置下平台在不同网络环境下的网络和视频性能。在网络性能方面,主要测试网页从服务器端到客户端的平均等待时间和数据传输量;在视频性能方面,它主要测试视频质量(即客户端显示质量)和传送的数据量。为定量的描述视频质量,采用慢速播放技术并使用式(1)来计算。
2影响平台性能的主要因素
测试结果表明,影响瘦客户平台性能的主要因素是显示编码源语、屏幕更新机制和缓存与压缩。以下就不同平台所使用不同设计选择分析对平台性能的影响。
2.1显示编码源语
显示编码源语分为基于像素和基于图形的绘图源语。使用基于像素的显示编码的瘦客户平台,显示更新在服务器端处理,送到客户端的仅是需要显示的像素数据。其平台独立性好、客户端计算简单。基于图形的显示编码,与操作系统的窗口操作和显示命令联系紧密,负责处理更新的显示命令和需要显示的屏幕数据一同从服务器传送到客户机,在客户端处理显示更新。其平台独立性较差、客户端计算复杂。像素源语能使系统显示像素区域的所有更新。它不需要任何有关显示内容的语义信息。图形源语,如字形,用于系统从图像中分离要显示的字形。
vnc采用基于像素的显示编码。其协议rfb支持2d绘图源语,如对文本窗口的屏幕区域,采用单色或双色的位图填充。rfb也可设置为仅使用raw像素编码,但在默认情况下不采用该编码。citrix的metaframe、微软的终端服务和tarantella采用基于图形的显示编码。其协议ica、rdp和aip支持字形、图标、图像和绘图命令等绘图源语。
在单独测试协议编码源语对系统的性能影响时(aip无法关掉高速缓存的选项;rfb无法关掉显示压缩),在100 mbps带宽网络环境,网络性能测试中,传输内容相同的情况下,aip响应时间最短,其次是采用2d绘图原语的rfb,而ica和rdp则具有相同的延迟时间且响应时间最长。在传送数据量方面,如果传输相同内容的文本图像混合网页,rfb传输的数据量最少;aip、ica和rdp传输的数据量相同且大于rfb。如果是传输相同内容的纯文本网页,则rdp和ica传输的数据量最小,aip次之,rfb最大。由此可见,采用基于图形的显示编码在传送纯文本时比rfb的带宽效率高。
2.2显示更新机制
显示更新机制包括更新时机(timing of display updates)及刷新模式。更新时机有客户端拉动(client-pull)和服务器端推动(server-push)两种;每种技术又可采用两种刷新模式,即懒惰更新(lazy update)和急切更新(eager update)中的一种。客户端拉动是一种由客户端驱动的显示更新技术,由客户端决定屏幕更新的时机。服务器并不将每次更新都发送给客户,只有收到来自客户机的请求时,才将最近的显示更新发送出去。服务器端推动是由服务器驱动的显示更新技术,由服务器决定屏幕更新的时机。它需要根据刷新模式来确定何时发送屏幕更新给客户。急切模式是当服务器上的应用程序产生绘图命令时,瘦客户系统立即将命令转换为基本的显示编码源语并把显示刷新数据发送到客户端,它使服务器能跟上应用程序的翻译命令。懒惰刷新模式是将若干翻译命令首先缓冲,然后再需要时懒惰地发送合并的显示刷新到客户端。对于实时视频显示,懒惰显示刷新模式导致许多视频帧在服务器端被合并和覆盖,使发送刷新的频率降低。它虽然能减少数据量的传输,但影响了系统的视频性能。
在rfb中采用客户端拉动的懒惰更新模式。当客户端请求时,更新被懒惰地发送。但常常由于客户运行的vnc已被大量地加载,客户端变成申请显示刷新的瓶颈,导致在客户机端产生下一个更新请求前,服务器端已将那些被合并和覆盖的视频丢失了,所以其视频播放的性能较差。citrix的metaframe和微软的终端服务依赖于服务器推动的懒惰更新模式。它比rfb的视频性能要好一些,不会在客户端产生显示刷新的瓶颈,但仍然会放弃或者融合服务器端的显示。aip使用服务器推动技术,刷新模式则能根据带宽情况在急切和懒惰中进行智能选择。它在100 mbps的视频性能测试中表现很好,尤其对于多媒体视频应用程序。aip使用懒惰模式来适应较低的带宽。