Framehawk技术是什么?关心Citrix的朋友们可能还记得在这是一家在去年一月份被Citrix收购的公司。Framehawk曾经是一家在虚拟化业内很知名的厂商,它的Lightweight FramebufferProtocol (LFP:轻型帧缓冲协议)是自家研发的专利技术(LFP作用和Teradici公司的PC-over-IP(PCoIP)协议类似,只是后者效率较低,VMware View正是租用Teradici公司PCoIP协议作为其传输协议,所以体验效果不好,另外最近Amazon推出的Workspaces VDI虚拟桌面也是租用的PCoIP技术),这项技术可以让系统管理员将传统桌面应用程序传送到移动设备上,其做法是先将桌面软件加载到一个安全的容器里并存储在企业控制数据中心或远程云服务里,然后再利用一编码器把像素从虚拟应用程序的帧缓冲取走,通过LFP喷涂到一个精简客户端(Thin-client)的显示设备上。
一年半过去了,我们终于看到Framehawk技术被整合进入了XenApp和XenDesktop产品中。在最近刚发布的XenApp and XenDesktop 7.6Feature Pack 2中就包含了Framehawk的第一个发布版本。我们先来简单回顾一下XenApp and XenDesktop 7.6 FeaturePack 1和Feature Pack 2都有哪些更新技术点:
在XenApp and XenDesktop 7.6 Feature Pack 1中笔者认为对中国市场影响最大的就是SmartAuditor功能被重新引入产品中,而在XenApp and XenDesktop 7.6Feature Pack 2中最大的影响点之一就是Linux虚拟桌面和Framehawk的正式发布。
接下去我们看看Framehawk到底有什么作用。我们都知道现在的员工无论是在公司工作还是在政府部门工作,都不愿意被束缚在连接到固定网络的传统PC机上工作,这是一个移动的社会,我们希望拿着我们的手机、平板以及笔记本电脑在大楼间移动,在校园中移动,访问通过WIFI网络支持的由XenApp和XenDesktop提供的虚拟应用和虚拟桌面。但是现实情况却不是这么完美,有时候即使是在你的WIFI信号满格的情况下,仍然会出现丢包、网络拥塞、延迟以及网络抖动,当我们上下滚动网页或者是文档的时候常常会遇到迟滞的感觉,有某些地理位置时问题尤其严重。
理论上来说有限的带宽是对用户体验造成影响的网络问题原因中最大的始作俑者,在这其中最大的问题所在就是光谱干扰。我们引用一段思科公司的技术白皮书:射频干涉已经是对无线性能影响的一个主要因素,此外还会造成安全隐患,以及无线网络的不稳定。
比如在我们的写字楼里面,楼上楼下到处都是WIFI网络,外面的街上也是如此,除此之外还有来自移动运营商的3G/4G/LTE网络的电磁信号、收音机、电视、微波炉、荧光定稳压器、各种蓝牙设备等等,无一不在发生信号,同时无一不在破坏和干扰其他的信号,从而导致盲区、数据包丢失以及连接效果下降等。在这种情况下,移动用户使用虚拟应用和虚拟桌面的体验就会受到不同程度的影响,也就是说你的移动设备所连接的WIFI网络就是整个网络链路上最脆弱的环节。
在7.6 FP2版本中,Citrix整合了Framehawk技术,将其放置在一个全新的ICA虚拟通道中,从而整合进入了HDX通讯协议之内,极大的提升了无线宽带环境下的用户体验。
Framehawk是如何帮助用户提升体验的
一般来说,为了提升用户体验,我们需要集中解决的问题是帧率/帧速和视觉质量的问题,但是对于体验这个感性的问题来说,实际情况远不仅仅是上面谈到的两点。例如我们在平板上打字的时候,由于没有看到平板有反应,我们就不停的点击平板,其结果是导致一些错误的反应结果。Framehawk就是用户在比较糟糕网络条件下用于调节用户体验的技术。
对于VDA端来说,你可以认为Framehawk就是人眼的一个软件实现方式,时刻观察着帧的缓冲区,同时观察着屏幕上不同的内容类型,以此判断哪些是对用户重要的部分。当屏幕迅速变化,例如播放视频或者是移动的图像的时候,如果一些像素在播放过程中丢失时,人体的眼睛实际上是观察不到的,因为新的数据很快就覆盖掉这些丢失的数据了。
但是对一个静止的屏幕时,人眼是非常挑剔的,例如一个任务栏,一个图标,或者是我们正试图阅读的一段文字时,我们希望这些区域的像素显示要求非常完美。一般的传输协议在传输上肯定要求数据不是0就是1,而Framehawk研究的是人体的感性体验效果技术。
Framehawk理解用户意图,同时对用户行为作为补偿
在用户设备端Framehawk往Citrix Receiver注入了一个用户意图的判断引擎,试图去分析用户试图去做什么动作。例如在一个高延迟和抖动的糟糕的网络环境下,一般用户的反应都是会比较夸张,例如不断的在不同的屏幕之间切来切去(试图通知计算机快点发送变更来?),又或者在一个按键上点击多次,因为不确定系统是否接受了之前的点击。
Framehawk的用户意图引擎虽然不能完全做到和用户心灵相通,但是能够辨识出用户上下滚动页面,放大缩小、左移或者右移,读的动作、打字的动作、以及其他的操作动作,然后把这些动作的信号发送给VDA客户端。如果用户试图读,那么文本的图像质量则需要非常好,如果用户在上下滚动页面,那么需要的就是快速和平滑切换。同时这些动作必须是可以中断的,这样用户才可以和应用或者是桌面进行可控式的交互。
值得欣慰的是,整合在Receiver中的用户意图分析引擎并不太消耗CPU资源,所以Framehawk可以用于LoT(Internet of Things,物联网)设备上,当然,第一阶段还必须是Windows的设备。
如何打开Framehawk功能及监控它的使用效果
首先你必须把现有的XenApp和XenDesktop环境升级到7.6 FP2版本,接着可以在策略中看到启动Framehawk的策略,如下图所示
同时,在Citrix Director 7.6.300版本中你可以监控到Framehawk的实际使用效果,实际上7.6.300这个版本的主要更新就是支持Framehawk的图形通道监控。所以安装更新包之后,我们就能够在Director中像监控其他HDX系统通道一样来监控Framehawk的虚拟通道了。
在Director上找到Framehawk的数据
在Director的用户细节页面,用户的每个会话我们都能看到一列HDX虚拟通道列表,以及每个通道的状态。
Graphics-Framehawk虚拟通道是新加入HDX面板的通道
点击Graphics-Framehawk可以看到这个通道的更多细节:
需要注意的是,如果没有安装WMIProxy 7.6.300 和XDPoshSnapin Hotfix7.6.300这两个插件,又或者是7.6 FP2之前的VDA版本,那么Framehawk通道状态可能会变灰,无法点击进去看细节。
Framehawk的现在和将来
Framehawk技术的第一阶段还只能用于连接在企业WIFI网络环境的Windows设备上(当然,你也可以在其他环境下使用,欢迎反馈)。不过这仅仅是个开始,很快Framehawk就会和NetScaler Gateway 11整合,把这个技术推广到远程连接用户上。同时,其他操作系统版本上的Receiver也会很快添加Framehawk的功能,我们拭目以待,希望尽快发布支持iOS和Android的Receiver版本!