APP下载

云桌面USB重定向融合方法探讨与实现

2017-10-09程庆年周冠宇

移动通信 2017年14期
关键词:云桌面

程庆年 周冠宇

【摘 要】目前国内外市场上的云桌面所采用的USB重定向主要是通过URB透传的形式实现,但在使用中暴露出了高速USB设备读取性能受限、设备不能共享的问题。针对这些问题,提出了USB映射与网络映射相结合的融合方法,且对其进行开发,应用到云桌面产品中,实现对特定类型的、高速的USB设备进行自动识别,有效兼顾了USB映射的兼容性和网络映射的高性能。

【关键词】云桌面 USB重定向 USB映射 网络映射

1 前言

云桌面是基于云计算技术的个人电脑应用,使用者需要通过本地终端远程接入到云计算环境中的虚拟机,以获得电脑操作界面。桌面传输协议是虚拟机和终端之间进行通信的协议,主要实现虚拟机到终端的图形、图像、音频的传输以及终端到虚拟机信息的传输。其中USB设备由终端远程接入到云桌面的过程属于USB映射的范畴,也称为USB重定向。云桌面替代个人电脑进行办公或学习的一个关键之处就是支持USB等外部设备接入时的良好用户体验。与传统物理PC机桌面相比,云桌面在使用中暴露出高速USB设备读取性能受限、USB设备不能共享的问题,这已成为云桌面大规模替代传统PC的主要障碍。

2 当前USB重定向机制以及存在的问题

USB重定向系统用于将插在本地云终端的USB设备映射到远端云桌面,设備在云桌面的表现和操作与本地云终端无差别,USB设备添加的示例如图1所示。

USB重定向系统由客户端和服务端组成,客户端安装在本地云终端,即USB设备物理插接的位置,以系统服务的形式运行,不需要任何配置操作和驱动安装。它通过桌面接入协议将本地的USB设备重定向到远端云桌面,服务端安装在远端云桌面,即与本地云终端相配对的桌面系统。使用者登录桌面时可以看到插入的USB设备,通过在系统托盘上简单地选择相应USB设备,在云桌面上安装该设备的原始驱动程序,然后按使用习惯进行设备操作。

目前国内外市场上的云桌面所采用的USB映射功能包括远程桌面传输协议(ICA协议(Citrix)、PCoIP协议(VMware)、RDP协议(Microsoft)、开源协议SPICE),或者基于Server/Client模式实现,其主要机制是在传输的专用通道中通过URB(USB Request Block)透传实现,将USB设备与电脑的USB接口通讯,直接转换为USB设备与云桌面的网络通讯,此方式对USB设备有着广泛的兼容性,但存在的缺陷也相当明显,主要问题有:

(1)高速USB设备性能瓶颈,如U盘读写性能只能到额定的10%,甚至更低,且对摄像头类高速流式设备基本不可用;

(2)USB设备不能共享,不支持多个云桌面间的同时访问,无法满足日常办公中打印机共享的场景;

(3)由于URB对时延的要求,对广域网兼容性不佳,超过一定时延门限(20 ms)时基本不可用。

问题(2)的存在是由于在操作系统中USB设备在驱动层面是独占式的,无法实现共享。而对于问题(1)和问题(3),其主要原因在于USB的访问机制,一次单独的URB访问需要三次往返交互,而一次完整的文件读或写,则需要多次的URB操作。往返交互传送所带来的长时延限制了其性能,同时网络的拥塞和丢包将进一步恶化其性能,在局域网使用中,U盘映射均表现为恒定的低速率。

3 USB重定向融合方法

网络映射机制(也称网络重定向)是针对网络环境中多台电脑共享磁盘、打印机或摄像头等设备的情形下,某台电脑通过此方式将非本地端的设备映射为本地设备进行访问,从而达到远程共享的目的。

网络映射是一种针对不同类型设备采用不同网络映射的方法,例如:对于存储类设备采用NFS(网络文件系统)方法,将目标文件系统呈现到客户端;对于流媒体类设备采用RTSP(实时流协议)方法,将媒体流从服务端传送到客户端。这是非常成熟而又高效的网络映射方法。

为解决USB重定向的性能缺陷,可以将URB映射与网络映射相结合的融合方法写入到桌面接入程序中,对于特定类型、高速的USB设备进行自动识别并采用相应机制,工作原理如下:

(1)在终端侧插入USB设备,桌面接入程序截获USB设备插入事件;

(2)桌面接入程序获取该USB设备的类型全局码(ClassGUID),若属于U盘

(ClassGUID={a5dcbf10-6530-11d2-901f-00c04

fb951ed})、打印机(ClassGUID={4d36e979-e325-11ce-bfc1-08002be10318})、摄像头(ClassGUID={6bdd1fc6-810f-11d0-bec7-08002be2092f}),则采用网络映射机制;

(3)若USB设备类型全局码(Class

GUID)不属于上述三种类型,则直接调用URB映射方法。

4 性能测试对比

对于U盘等存储设备,进行了测试对比,测试环境如下:

(1)测试对象:USB3.0的U盘设备两种重定向的表现;

(2)操作系统:云桌面、Windows 8.1、云终端定制;

(3)网络环境:云终端与云桌面之间采用千兆局域网;

(4)U盘原生性能:在传统PC的设备中,传输速率可达50 MB/s;

(5)远程桌面协议:微软RDP 8.1。

基于URB的U盘重定向测试如图2所示,融合后采用的网络映射的U盘重定向测试如图3所示。

测试结果可以反映出两种机制的不同方面:

(1)操作方式:前者表现为本地设备,而后者表现为网络存储;

(2)读写性能:前者平均低于1.4 MB/s,且不受云终端CPU性能的影响;后者平均值在10 MB/s至30 MB/s,受云终端的CPU性能影响较大,云终端的CPU越强,后者的性能越高;endprint

(3)网络流量:对U盘进行写的情况,前者的网络流量表现为双向对称的,这是与URB的操作机制有关,后者的网络流量与写操作一致,体现在发送侧流量;

(4)网络开销:前者的网络开销高达55%,后者的网络开销仅为8%。

因此,采用USB映射+网络映射的融合机制将USB设备重定向到云桌面后,有效地提升了U盘、打印机、摄像头设备的读写性能和网络效率。

5 方案优势及存在的问题

URB映射+网络映射的融合机制,采用带外方式解决USB类外设使用性能问题,而且与其它设备的带内方式无缝结合,有效克服了仅采用URB映射的性能瓶颈。如U盘性能低下、打印机响应慢和摄像头卡帧的问题等,又避免了网络映射不能兼顾其它类型USB设备(如USB密钥、多端口串行适配器、智能手机终端)的问题,进而性能与兼容性都得以保持,极大地提升了用户对云桌面的体验。

但是,这种新方式需要用户略微改变U盘类设备的使用习惯,主要体现在三个方面:

(1)桌面托盘上不再显示U盘图标,不显示U盘卷标的硬盘;

(2)用户不能对U盘类设备执行分区和格式化等存储设备的管理操作;

(3)由于不能执行弹出U盘操作,对此,开发人员需将U盘写操作修改为直通模式,保证写入数据完成之后,直接拔下U盘也不会出现数据丢失的问题。

6 结束语

云计算经过近几年的推广,桌面的应用部署也越来越广泛,用户在使用云桌面过程中对USB外设使用的要求正在从可用到好用进行转变,而USB映射融合的解决方案在云桌面中的部署应用可以给用户带来与传统PC桌面近乎一致的性能体验。随着5G网络部署的日益临近,5G网络高速率、低时延、高可靠、低功耗的特性将完全满足移动终端用户随时随地移动访问云桌面的需求,而移动终端访问云桌面时如何兼顾外设调用问题,将是下一步研究工作的重点。

参考文献:

[1] 孙玉伟,童新海,张林惠,等. 云桌面USB设备重定向技术研究[J]. 信息网络安全, 2015(4): 78-85.

[2] 李承東. 云桌面远程传输协议综述[J]. 现代电信科技, 2014(8): 23-26.

[3] 杨伟,刘强,顾新. Linux下USB设备驱动研究与开发[J]. 计算机工程, 2006,32(19): 283-284.

[4] 何云超. 基于硬件支持的USB设备虚拟化框架研究[D]. 上海: 上海交通大学, 2011.

[5] 王洪,顾本斗. USB设备开发实例[J]. 电子产品世界, 2001(16): 62-64.

[6] 唐劲飞,可永敏,穆连运,等. 基于Windows的USB设备开发[J]. 舰船电子工程, 2009,29(11): 140-142.

[7] 张辉,王贤俊,汪汇. Usb映射方法[P]. 中国专利: CN 101035039, 2007-09-12.

[8] 万婷婷. USB接口开发及功能实现[D]. 西安: 西安电子科技大学, 2011.

[9] 何丽华,梁杰申,肖楚海. 基于Windows的USB驱动程序开发[J]. 微型电脑应用, 2010,26(2): 53-54.

[10] Github. USB Redirection[EB/OL]. (2012-10-19)[2017-05-10]. https://github.com/FreeRDP/FreeRDP/wiki/USB-Redirection#usb-redirection.endprint

猜你喜欢

云桌面
基于云桌面的多媒体培训教室的安全性保障
关于机房云桌面管理的探索
基于云桌面的实验室资源优化研究
云桌面在高职院校图书馆的应用浅析
基于云技术的“透明化”应用平台及其落地
浅析云桌面在高校网络多媒体教室中的应用