Chinaunix首页 | 论坛 | 博客
  • 博客访问: 965468
  • 博文数量: 86
  • 博客积分: 2283
  • 博客等级: 大尉
  • 技术积分: 861
  • 用 户 组: 普通用户
  • 注册时间: 2009-02-04 09:02
个人简介

没什么好说的。

文章分类

全部博文(86)

文章存档

2014年(1)

2013年(5)

2012年(7)

2011年(26)

2010年(20)

2009年(27)

分类: 架构设计与优化

2011-05-18 15:16:57

 摘要:介绍了瘦客户计算体系结构及目前广泛使用的四种具体实现,并对影响瘦客户计算平台性能的主要因素进行了分析。在此基础上给出了瘦客户计算平台的设计和研究方向。?
  关键词:瘦客户计算;远程显示协议;体系结构?
  以大型机为主的计算中心时代,通过终端设备使用计算中心的各种应用和计算资源是当时的典型应用模式。因PC机成本的降低及用户对使用中心计算模式所受各种限制的反感,致使大多数用户采用PC机来完成计算任务。但网络技术的飞速发展和应用软件种类的增多及复杂程度不断提高,让用户维护自己的计算环境成为具有挑战性的工作,特别是针对安全性要求较高的企业应用环境。而以网络通信技术为基础,以服务器计算为中心,采用瘦客户/服务器计算模式的瘦客户计算,恰好能够解决这一问题。?
  瘦客户计算这一网络计算模式的特点是:应用程序和数据都运行并存储在服务器端,客户端只剩下显示和输入设备,不进行复杂计算,因而对瘦客户机的硬件要求很低。它可以是简单的计算设备,如PDA(个人数字助手),也可以是低端计算机或一些特殊设计的终端。?
  
  1瘦客户计算体系结构?
  
  如图1所示,瘦客户计算体系结构模型由三部分构成:①瘦客户机,客户端的计算设备,主要负责显示用户界面和客户端输入;②远程显示协议(瘦客户协议),用于在瘦客户机与应用服务器之间传送应用程序输入/输出信息的应用层协议,③应用服务器,高性能的计算机,应用程序的安装、运行、维护、升级都在其上进行,用户的个人配置文件也保存在应用服务器上。瘦客户计算体系结构中的关键技术是远程显示协议,它是瘦客户机和服务器上的应用系统之间进行交互的机制,它使得通过网络为客户设备提供图形显示等服务成为可能。?
  
  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使用懒惰模式来适应较低的带宽。?
  在100 Mbps网络环境中。RDP、ICA和RFB传送低质量视频,相比之下ICA、RDP要比RFB好一些,而AIP能传送超过90%的视频质量(可由式(1)计算),但在10 Mbps降到仅有大约50%的视频质量。传送的数据量从大到小依次为AIP、RDP、ICA和RFB。?
  
  2.3压缩编码和缓存?
   压缩编码不仅影响服务器将屏幕更新传送到客户端时的数据量,还决定了将屏幕更新数据呈递给客户端的显示引擎设计的简繁程度。好的压缩编码压缩比高,网络带宽要求低,且客户端能用简单的显示引擎快速高效地显示出来,响应时间短。客户端缓存用来保存经常使用的显示元素,如字体和位图等,使得假如当前所需显示的元素在缓存中,客户端就可从缓存中获得,而不必重复向服务器端发送请求获得。在高带宽下,网络不是瓶颈,此时使用缓存会造成一些附加的计算,影响平台性能。在较低带宽下,性能与数据传输量有直接关系,缓存和好的压缩算法有利于提高性能。?
   RFB主要采用二维运动步长编码(2D RLE)的变种,如Copy Rectangle、RRE (Rise-and-Run-Length)、CoRRE (Compact RRE)和 Hextile等,缺省时使用Hextile编码。虽然RFB中压缩编码算法压缩比不是很高,但由于算法简单,故对客户端的图形显示引擎设计要求较低,客户端程序很简单,这使得VNC成为真正的瘦客户系统。RFB采用本地帧缓冲,如果需要显示的某一部分数据在当前缓冲中,客户端只需将其拷贝到屏幕上所需的区域,而无须发送请求给服务器。但由于RFB仅保留当前显示的数据,没有提供足够的历史记录,对减少数据量的传输效果不大。如果仅在屏幕中移动窗口或滚动窗口内的内容时,RFB具有一定的优势。ICA和RDP都使用运行步长(RLE)编码压缩;字体和小的位图保存在客户端缓存中,大的位图保存到客户端磁盘中。AIP使用了RLE和LZW编码压缩,并且使用一种自适应机制来应付网络带宽的变化,在高带宽时关闭压缩,在低带宽时打开。AIP在客户端使用显示对象缓存。  RFB在压缩纯文本数据时,可以压缩到原数据量的3%;而在压缩图像数据和视频数据时,这个比例分别为6%和30%。ICA在压缩纯文本数据时,可压缩到原数据的30% ;而在压缩图像和视频数据时,压缩比分别可以达到45%和68%。RDP在压缩纯文本数据和图像数据时,可将数据量压缩到原来的40% ;在压缩视频数据时,压缩比可达58%。对于视频数据而言,ICA压缩后的视频质量会降低近一半,而RDP压缩后的视频质量几乎不变。对于AIP,压缩时视频质量从高于90%降到不足30%。AIP不能单独设置压缩,当压缩被打开时,缓存也同时被打开。在100 Mbps带宽下,其等待时间增加了13%,这主要是由缓存的额外开销所影响的。?
  在100 Mbps带宽下,RFB和RDP使用缓存在等待时间、数据传输量和视频性能上几乎没有什么影响。ICA的高速缓存使平均网页等待时间增长了40%。这说明在高带宽网络环境中ICA缓存的额外开销超过它的好处。但ICA的缓存机制却减少了数据量的传输。ICA传输文本数据、图像数据和视频数据时,数据量分别减少为原来的55%、34%和62%。但此时由于传输速度减慢、传输数据量减少,严重降低了视频质量,致使视频质量从大约50%降到不足5%。这说明ICA高速缓存的额外开销在高带宽环境下超过其对性能的贡献。?
  
  3结束语?
  
  由以上对影响瘦客户平台性能的几方面因素的分析可得出以下结论:?
  (1)在带宽足够高的情况下,显示编码计算的复杂程度是决定性能的主要因素,而并非其生成数据量的大小。基于像素的显示编码计算简单;图形编码方式带宽利用率一般较高,但若屏幕内容为图文混合时,像素编码方式却比图形编码方式的带宽效率高。像素编码与图形编码相比具有更好的平***立性。?
  (2)显示更新机制是视频质量的重要决定因素。带宽较宽时使用服务器驱动的急切更新模式,能获得较好的视频性能;较低带宽下为减少响应时间,节省网络带宽,使用懒惰更新机制,它通过放弃或者融合显示更新牺牲了视频质量。客户端驱动容易造成客户请求的瓶颈。?
  (3)压缩和缓存都能降低数据量的传输,但在不同网络带宽下,压缩与缓存在计算开销和带宽保留之间存在着平衡的问题。简言之,当有足够的网络带宽时,减少处理时间是可取的,而在较低的网速下减少传输的数据总和是有益的。?
  
  借鉴上述平台的优点,使瘦客户平台在不同的网络环境下都具有较高的性能,并对各种应用传送的屏幕内容都能很好地适应。要求其具有智能选取显示编码(或开发出具有更好适应性的显示编码)和更新机制的能力;智能地控制压缩和缓冲的打开及关闭。通过智能启发式的机制,在用户不干预的情况下,通过测量自动判断目前的状况并动态适应,从而使瘦客户平台具有对客户机计算能力和带宽的适应性,即在各种网络带宽和客户机的情况下,都能获得较高的性能。以上分析为今后开发具有自我知识产权的高性能瘦客户系统提供了基础。?
  
  参考文献:?
  [1]RICHARDSON T,STAFFORD F Q,WOOD K R,?et al.?Virtual network computing[J].IEEE Internet Computing,1998,2(1):32-38.?
  [2]RICHARDSON T.The RFB protocol[S].[S.l.]:RealVNC Ltd,2003.?
  [3]Microsoft Corporation.Microsoft Windows NT server 4.0, terminal server edition:an architectural overview[R].[S.l.]:Redmond,1998.?
  [4]Boca research.citrix ICA technology brief[R].[S.l.]:Boca Raton,1999.?
  [5]Tarantella Corporation.A technical overview,A tarantella white paper[R].[S.l.]:[s.n.],2001.?
  [6]NIEH J,YANG S J,NOVIK N.Network computing laboratory[R].[S.l.]:Columbia University,Comparison of Thin-client Computing Architectures,2000.?
  ?[7]YANG S J,NIEH J,NOVIK N.Measuring thin-client performance ?using slow-motion benchmarking[J].ACM Transations on Computer System,2003,21(1):87-115.?
  [8]RIEDL L R.Technologies of thin-client architectures[R].[S.l.]:[s.n.],2001.?
  [9]YANG S J,NIEH J,SELSKY M,?et al.?The performance of remote display mechanisms for thin-client computing:proceedings of the USENIX Annual Technical Conference[C].[S.l.]:[s.n.],2002
阅读(1322) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~