发明名称 一种面向虚拟机的USB设备重定向方法
摘要 一种面向虚拟机的USB设备重定向方法。包括步骤:(1)由远程物理机B上的加入了USB设备重定向系统的模拟器QEMU创建虚拟机,本地物理机A通过远程桌面协议访问此虚拟机;(2)USB设备所在的物理机C利用USB重定向协议实现USB设备与远端物理机B上的虚拟机间的通信;(3)远端物理机B通过模拟器QEMU的命令行指令将物理机C上的USB设备重新定向到远端物理机B上的指定虚拟机中,从而使本地物理机A在远程桌面中可以使用该USB设备。本方法适用于所有利用加入了USB设备重定向系统的模拟器QEMU创建的虚拟机,通过USB重定向协议进行USB设备重定向的需求。
申请公布号 CN102567074B 申请公布日期 2015.01.21
申请号 CN201110386667.6 申请日期 2011.11.29
申请人 中标软件有限公司 发明人 兰雨晴;刘铭;宋潇豫;张永军;夏颖
分类号 G06F9/455(2006.01)I;H04L29/08(2006.01)I;H04L29/12(2006.01)I 主分类号 G06F9/455(2006.01)I
代理机构 北京汇智英财专利代理事务所(普通合伙) 11301 代理人 张俊阁
主权项 一种面向虚拟机的USB设备重定向方法,其特征在于:其包括以下步骤: 1)本地物理机A通过远程桌面协议访问远端物理机B上由加入了USB设备重定向系统的模拟器创建的虚拟机; 2)利用USB设备所在的物理机C上的USB重定向协议实现USB设备与远端物理机B上的虚拟机间的通信; 3)远端物理机B通过模拟器的命令行指令将物理机C上的USB设备重新定向到远端物理机B上的指定虚拟机中; 4)本地物理机A通过远程桌面访问远端物理机B上的指定虚拟机,并操作被重新定向到此虚拟机中的物理机C上的USB设备; 其中: USB重定向协议,该协议由以下三部分组成: 1)USB设备usb‑device模块:代表需要重定向的USB设备; 2)USB客户端usb‑guest模块:连接usb‑device,并对usb‑device进行指定操作; 3)USB服务器端usb‑host模块:通过网络将usb‑device呈献给远程虚拟机,并使usb‑device对usb‑guest可用;该协议在物理机C上运行一个usbredirserver进程,并为需要重定向的USB设备分配一个监听端口,并开始监听此端口;同时与远端物理机B上的由模拟器QEMU创建的虚拟机建立起传输控制协议套接字连接;然后接收虚拟机传送过来的对USB设备的各种操作请求,待物理机C对这些请求进行完相应的处理后将结果反馈给远端物理机B上的虚拟机; 基于模拟器QEMU的USB设备重定向系统为:修改模拟器QEMU,加入USB重定向连接usbredir‑tcp模块,负责与USB重定向协议启动的usbredirserver进程进行连接,对从虚拟机或usbredirserver进程获得的信 息的一部分进行处理,将结果发送给相应的部分,通过获得的USB设备信息、USB设备所在物理机的IP地址,利用命令行指令将物理机C上的USB设备重新定向到物理机B上的由模拟器QEMU创建的虚拟机中,在物理机A上利用远程桌面访问物理机B上的虚拟机,并对重定向到此虚拟机上的USB设备进行操作;这些操作回传给物理机B上的虚拟机后,物理机B利用USB设备重定向系统再将其发送给USB设备所在的物理机C进行相应的处理。 
地址 200030 上海市番禺路1028号1006-1010室