按照需要,从集中式服务器或云端分发软件,这是应用流技术承诺的一大优点。但是新兴公司Numecent(前身为Endeavors Technologies)的首席执行官Osman Kent表示,这个承诺大打折扣。他表示,现在到了这项技术最终兑现承诺的时候。
Kent说:“这个行业有好多客户试过了遗留应用程序虚拟化、块流下载(block-streaming download)或渐进式下载(progressive download)等解决方案后,变得不再相信这些解决方案。这些方案未能真正兑现承诺,因为只能分发50%的应用程序,而且一路过来让人们对流技术(streaming)这个术语觉得一头雾水。”
近日Numecent公司渐渐浮出了水面,它计划利用其Cloudpaging技术改变这种局面;它声称,这项技术可以分发100%的微软Windows应用程序(包括拥有插件的应用程序),将它们作为能够支持云的版本来分发,而且可以全面控制许可证。它甚至还能分发操作系统本身。这姕应用程序不需要安装,只要流传送原生x86指令,就可以几乎立即在任何个人电脑、平板电脑或者甚至手机上以原生速度运行。应用程序完全如同本地软件那样出现在“开始”菜单中,所有数据也都存储在本地。用户用完应用程序后,它就会消失,在目标设备上不会留下一丝痕迹。它不会更改注册表条目,也不会落下任何DLL文件。
Kent说:“借助Cloudpaging技术,我们可以解决长期以来被忽视的数字传输问题,还可以为消费者和企业提供一种完整的端到端解决方案,以便部署虚拟化应用程序。我们希望自己对于软件的重要性就如同Dropbox对于数据的重要,但是又采用了版权所有人需要的一种安全,又不会引起冲突的许可证控制机制。”
利用Cloudpaging技术缩短数字分发时间
Kent表示,Numecent的Cloudpaging技术通过先对需要分发的数字资产进行虚拟化处理,就能把分发任何原生软件及其他非线性内容的数字分发时间缩短20倍到100倍。
Numecent在上世纪90年代末来自一个UCI/DARPA项目,它可以把遗留的应用程序划分成多个小片段(名为“页面”);这些片段存储在服务器端上,可以按照需要,使用客户端上的虚拟内存管理单元(MMU),通过HTTP/S来获取,从而对遗留应用程序实现“云端化”。
Numecent的联合创始人兼首席技术官Art Hitomi解释:“在现代计算机架构中,MMU用来对内存进行虚拟化处理,以减少应用程序占用的内存资源。通过在通信路径中采用虚拟MMU,我们实际上减少了分发内容占用的网络资源。”
应用流依赖这个事实:只有应用程序的某些部分需要在任何情况下确保随时可用,以便最终用户执行某一项功能。应用程序越庞大、越复杂、功能越丰富,采用这种模式来分发的效率也就越高。借助Numecent的应用流技术,这些部分就是页面,它们可以按照需要通过网络来分发。比如说,Numecent只要获取900Mb的片段,就可以使用66GB大小的Hyper-V虚拟机。一旦客户端获取了100Mb这么小的片段,访问10GB大小的应用程序的用户就可以开始使用了。页面缓存在本地,所以Kent表示,以后访问同一页面提供了与本地安装一样好的用户体验。这还意味着,用户在离线状态下照样可以访问应用程序。分发应用程序的那一方可以控制允许应用程序的多少部分缓存在本地机器上。
启发式预测引擎提升性能
为了真正提升性能,Numecent在此基础上更迈进了一步:使用预测引擎,以启发式方法来推送页面,而预测引擎基于所谓的“软件基因组”(software genome)。该系统生成一颗统计树,显示了多个用户对某个应用程序的页面请求,实际上绘出了全局软件行为的“DNA”。然后,它推断出页面请求之间的关系,并在客户端请求页面之前,使用预测引擎把页面推送到客户端。除了让使用这种方法分发的应用程序其响应速度与本地运行的应用程序一样迅即外,它还提供了详细数的据,表明了用户在如何逐步使用应用程序,这对开发人员来说可能是颇有价值的检测工具。
通过这项技术,连图形密集的应用程序(如游戏《虚幻竞技场》)也可以在顷刻间分发到干净的机器上,运行起来根本感觉不到性能下降。
Numecent的一个客户是一家跨国建筑设计和施工公司。八年前采用Numecent(当时叫Endeavors Technologies)的解决方案之前,它面临一个大问题。该公司有大约2000个最终用户:工程师和CAD设计师,这些人个个需要高性能工作站,需要访问公司工作中所用的400多个基于Windows的大型应用程序当中的少数几个。
该公司不愿透露姓名的首席技术官解释:“我们的最终用户要访问应用程序来处理某个项目,就需要IT部门接触大量用户的机器。这变得难以维持。”
在求助于Numecent之前,该首席技术官带领的小组不得不将软件部署到每个工作站上,然后花好几个小时来配置每个应用程序,以供使用。
他说:“在工程师或CAD设计师可以开始绘图之前,你有许许多多的事要做。”
应用流让员工在几分钟后就能工作
他表示,而现在,工程师们只要进入到门户网站(使用单次登录机制),从门户网站上选择自己在处理的那个项目,然后选择自己的工种和所需的应用程序,系统就会分发应用程序,让工程师们在大约五分钟后就可以开始工作。
他表示,这带来了其他的众多好处。首先,公司能够把应用程序分发系统与其许可证管理服务器联系起来,这就意味着每份许可证得到了跟踪和管理;软件审查也变得轻而易举。他表示,此外,IT部门多多少少避免了接触最终用户机器的需要,因为所有补丁和更新程序都只要一次性部署到托管运行应用程序的服务器上。
他说:“我们没必要为最终用户更改配置而担忧了。我们为技术支持部门几乎杜绝了所有诸如此类的电话。”
实际上,他表示该公司总的支持成本在自最初部署该解决方案以来的八年里面并没有增加。
他还特别指出,Cloudpaging技术为这家公司提供了极其丰富的信息,可以了解部署的应用程序在如何使用。
他说:“我们在后端获得了大量的信息,可以挖掘分析。我们实时获得统计信息,得以了解有多少并发用户在使用什么应用程序,谁在使用,每天使用多少次,使用多久,等等。我们记录下了八年来自己所做的每件工作的完整情况。”