热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Framehawk技术-思杰HDX

Framehawk技术是什么?关心Citrix的朋友们可能还记得在这是一家在去年一月份被Citrix收购的公司。Framehawk曾经是一家在虚拟化业内很知名的厂商,它的Lightweigh

Framehawk技术是什么?关心Citrix的朋友们可能还记得在这是一家在去年一月份被Citrix收购的公司。Framehawk曾经是一家在虚拟化业内很知名的厂商,它的Lightweight Framebuffer Protocol (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.6 FeaturePack 2中就包含了Framehawk的第一个发布版本。我们先来简单回顾一下XenApp and XenDesktop 7.6 FeaturePack 1和FeaturePack 2都有哪些更新技术点:

在XenApp and XenDesktop 7.6 FeaturePack 1中笔者认为对中国市场影响最大的就是SmartAuditor功能被重新引入产品中,而在XenApp and XenDesktop 7.6 FeaturePack 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 Hotfix 7.6.300这两个插件,又或者是7.6 FP2之前的VDA版本,那么Framehawk通道状态可能会变灰,无法点击进去看细节。

 

Framehawk的现在和将来

Framehawk技术的第一阶段还只能用于连接在企业WIFI网络环境的Windows设备上(当然,你也可以在其他环境下使用,欢迎反馈)。不过这仅仅是个开始,很快Framehawk就会和NetScaler Gateway 11整合,把这个技术推广到远程连接用户上。同时,其他操作系统版本上的Receiver也会很快添加Framehawk的功能,我们拭目以待,希望尽快发布支持iOS和Android的Receiver版本!



推荐阅读
  • 本文比较了eBPF和WebAssembly作为云原生VM的特点和应用领域。eBPF作为运行在Linux内核中的轻量级代码执行沙箱,适用于网络或安全相关的任务;而WebAssembly作为图灵完备的语言,在商业应用中具有优势。同时,介绍了WebAssembly在Linux内核中运行的尝试以及基于LLVM的云原生WebAssembly编译器WasmEdge Runtime的案例,展示了WebAssembly作为原生应用程序的潜力。 ... [详细]
  • Android Studio Bumblebee | 2021.1.1(大黄蜂版本使用介绍)
    本文介绍了Android Studio Bumblebee | 2021.1.1(大黄蜂版本)的使用方法和相关知识,包括Gradle的介绍、设备管理器的配置、无线调试、新版本问题等内容。同时还提供了更新版本的下载地址和启动页面截图。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • 本文探讨了容器技术在安全方面面临的挑战,并提出了相应的解决方案。多租户保护、用户访问控制、中毒的镜像、验证和加密、容器守护以及容器监控都是容器技术中需要关注的安全问题。通过在虚拟机中运行容器、限制特权升级、使用受信任的镜像库、进行验证和加密、限制容器守护进程的访问以及监控容器栈,可以提高容器技术的安全性。未来,随着容器技术的发展,还需解决诸如硬件支持、软件定义基础设施集成等挑战。 ... [详细]
  • 该ROM为红米3S3X手机提供了最强大的自定义功能,包括美观流畅的界面、全新的起航动画、魔幻的动画效果以及冰箱冻结功能。同时,还提供了高级设置,包括悬浮窗口显示自定义、WIFI密码查看器、S8炫酷跑马灯显示自定义等多项实用功能。此外,该ROM还优化了手机的待机时间、wifi连接速度,并支持状态栏实时网速显示和电池电量百分比显示。 ... [详细]
  • 本文介绍了UVALive6575题目Odd and Even Zeroes的解法,使用了数位dp和找规律的方法。阶乘的定义和性质被介绍,并给出了一些例子。其中,部分阶乘的尾零个数为奇数,部分为偶数。 ... [详细]
  • CF:3D City Model(小思维)问题解析和代码实现
    本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
  • 高质量SQL书写的30条建议
    本文提供了30条关于优化SQL的建议,包括避免使用select *,使用具体字段,以及使用limit 1等。这些建议是基于实际开发经验总结出来的,旨在帮助读者优化SQL查询。 ... [详细]
  • 本文介绍了一种图片处理应用,通过固定容器来实现缩略图的功能。该方法可以实现等比例缩略、扩容填充和裁剪等操作。详细的实现步骤和代码示例在正文中给出。 ... [详细]
  • C++语言入门:数组的基本知识和应用领域
    本文介绍了C++语言的基本知识和应用领域,包括C++语言与Python语言的区别、C++语言的结构化特点、关键字和控制语句的使用、运算符的种类和表达式的灵活性、各种数据类型的运算以及指针概念的引入。同时,还探讨了C++语言在代码效率方面的优势和与汇编语言的比较。对于想要学习C++语言的初学者来说,本文提供了一个简洁而全面的入门指南。 ... [详细]
  • STL迭代器的种类及其功能介绍
    本文介绍了标准模板库(STL)定义的五种迭代器的种类和功能。通过图表展示了这几种迭代器之间的关系,并详细描述了各个迭代器的功能和使用方法。其中,输入迭代器用于从容器中读取元素,输出迭代器用于向容器中写入元素,正向迭代器是输入迭代器和输出迭代器的组合。本文的目的是帮助读者更好地理解STL迭代器的使用方法和特点。 ... [详细]
  • Servlet多用户登录时HttpSession会话信息覆盖问题的解决方案
    本文讨论了在Servlet多用户登录时可能出现的HttpSession会话信息覆盖问题,并提供了解决方案。通过分析JSESSIONID的作用机制和编码方式,我们可以得出每个HttpSession对象都是通过客户端发送的唯一JSESSIONID来识别的,因此无需担心会话信息被覆盖的问题。需要注意的是,本文讨论的是多个客户端级别上的多用户登录,而非同一个浏览器级别上的多用户登录。 ... [详细]
  • Spring框架《一》简介
    Spring框架《一》1.Spring概述1.1简介1.2Spring模板二、IOC容器和Bean1.IOC和DI简介2.三种通过类型获取bean3.给bean的属性赋值3.1依赖 ... [详细]
author-avatar
songbird1471
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有