CN101533375A - 虚拟机系统中的usb设备访问方法、装置及控制系统 - Google Patents

虚拟机系统中的usb设备访问方法、装置及控制系统 Download PDF

Info

Publication number
CN101533375A
CN101533375A CN200810101649A CN200810101649A CN101533375A CN 101533375 A CN101533375 A CN 101533375A CN 200810101649 A CN200810101649 A CN 200810101649A CN 200810101649 A CN200810101649 A CN 200810101649A CN 101533375 A CN101533375 A CN 101533375A
Authority
CN
China
Prior art keywords
usb
packet
request block
block packet
virtual
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN200810101649A
Other languages
English (en)
Other versions
CN101533375B (zh
Inventor
席振新
陈军
林洋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lenovo Beijing Ltd
Original Assignee
Lenovo Beijing Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Lenovo Beijing Ltd filed Critical Lenovo Beijing Ltd
Priority to CN2008101016497A priority Critical patent/CN101533375B/zh
Publication of CN101533375A publication Critical patent/CN101533375A/zh
Application granted granted Critical
Publication of CN101533375B publication Critical patent/CN101533375B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明提供了一种虚拟机系统中的USB设备访问方法、装置及控制系统,其中该方法包括:虚拟USB集线器将从IO请求包中提取的第一USB请求块数据包包装成第二USB请求块数据包后发送到虚拟机监视器;USB调度器将接收到的第二USB请求块数据包转换为第四USB请求块数据包后发送给真实USB控制器驱动;USB调度器将接收到的第一数据包返回给虚拟USB集线器,虚拟USB集线器根据第一USB请求块数据包,将所述第一数据包组装成第三USB请求块数据包,并发送到USB设备驱动。本发明提高了虚拟机系统下对USB设备的访问性能、具有通用性。

Description

虚拟机系统中的USB设备访问方法、装置及控制系统
技术领域
本发明涉及虚拟机技术领域,特别是一种虚拟机系统中的USB设备访问方法、装置及控制系统。
背景技术
在现有的虚拟机系统中,用户经常需要接触外插USB设备的虚拟化。现有的虚拟机系统中的外插USB设备的虚拟化比较常用的一种解决方案为DM(Device Module,设备模型)方案。
采用上述的DM方案的虚拟机系统如图1所示,其中以一个GOS(GuestOperation System,客户操作系统)为例进行说明,当然该GOS可以是多个。如图1所示,在SOS(Service Operation System,服务操作系统)中设置有与GOS对应的DM,在此,即为模拟USB主机控制器,为GOS提供模拟的USB主机控制器。
GOS启动时,扫描总线的操作为VMM(Virtual Machine Monitor,虚拟机监视器)截获后,转发给模拟USB主机控制器,由模拟USB主机控制器给GOS注册虚拟USB设备,GOS中的应用程序通过设置于GOS的USB驱动、USB集线器、USB主机控制器访问虚拟USB设备时,被VMM拦截,VMM将访问数据通过接口模块发送到模拟USB主机控制器,由模拟USB主机控制器对访问数据进行转换后,发送到真实USB控制器驱动,由真实USB控制器驱动将数据进行处理后发送到真实USB设备。
然而,结合上述的描述和图1可以发现,上述的DM方案中,一次USB的传输需要经历的模块太多,导致USB传输的过程太多,而且在USB传输的处理过程中,多个模块都需要被调用才能执行其功能,所以大大影响了USB设备的性能。
发明内容
本发明的目的是提供一种虚拟机系统中的USB设备访问方法、装置及系统,提高虚拟机系统中USB设备访问的性能。
为了实现上述目的,本发明实施例提供了一种虚拟USB集线器,包括:
接口模块,用于从USB设备驱动接收IO请求包;
第一发送模块,用于从所述IO请求包提取第一USB请求块数据包,并将所述第一USB请求块数据包包装成底层能够识别的第二USB请求块数据包后发送到虚拟机监视器;
第一接收模块,用于根据所述第一USB请求块将从所述虚拟机监视器接收到的第一数据包组装成符合操作系统要求的第三USB请求块数据包,并发送到所述USB设备驱动;
所述第一数据包为真实USB控制器驱动根据第四USB请求块数据包对真实USB设备操作所得到的数据包;
所述第四USB请求块数据包由所述第二USB请求块数据包转换得到。
优选的,上述的虚拟USB集线器,还包括:
队列处理模块,用于将所述第一发送模块当前发送的所述第一USB请求块数据包放入到等待工作队列;
所述第一接收模块具体包括:
接收单元,用于从所述虚拟机监视器接收所述第一数据包;
查找单元,用于从所述等待工作队列中查找与所述第一数据包相对应的第一USB请求块数据包;
组装单元,用于根据查找得到的所述第一USB请求块数据包,将所述第一数据包组装成所述第三USB请求块数据包;
发送单元,用于将所述第三USB请求块数据包发送到所述USB设备驱动。
优选的,上述的虚拟USB集线器,还包括:
第一管理模块,用于通过所述虚拟机监视器接收USB设备到来事件或拔除事件,并在接收到所述到来事件时创建相应的USB设备,并通知客户操作系统的即插即用管理器,在接收到所述拔除事件时直接通知所述即插即用管理器。
为了实现上述目的,本发明实施例还提供了一种USB调度器,包括:
第二接收模块,用于通过虚拟机监视器从虚拟USB集线器接收第二USB请求块数据包;
格式转换模块,用于将所述第二USB请求块数据包转换为真实USB控制器驱动能识别的第四USB请求块数据包;
第二发送模块,用于将所述第四USB请求块数据包发送给设置于所述服务操作系统的真实USB控制器驱动,并将从所述真实USB控制器驱动接收到的第一数据包通过所述虚拟机监视器返回给所述虚拟USB集线器;
所述第一数据包为所述真实USB控制器驱动根据所述第四USB请求块数据包对真实USB设备操作后所得到的数据包。
优选的,上述的USB调度器,还包括:
第二管理模块,用于从所述真实USB控制器驱动接收USB设备到来事件和拔除事件,并将所述到来事件和拔除事件通过所述虚拟机监视器返回给所述虚拟USB集线器。
为了实现上述目的,本发明实施例还提供了一种虚拟机系统中的USB设备访问控制系统,其中:
所述系统包括虚拟USB集线器和USB调度器;
所述虚拟USB集线器包括:
接口模块,用于从USB设备驱动接收IO请求包;
第一发送模块,用于从所述IO请求包提取第一USB请求块数据包,并将所述第一USB请求块数据包包装成底层能够识别的第二USB请求块数据包后发送到虚拟机监视器;
第一接收模块,用于根据所述第一USB请求块将从所述虚拟机监视器接收到的第一数据包组装成符合操作系统要求的第三USB请求块数据包,并发送到所述USB设备驱动;
所述USB调度器包括:
第二接收模块,用于通过所述虚拟机监视器从虚拟USB集线器接收第二USB请求块数据包;
格式转换模块,用于将所述第二URB数据包转换为真实USB控制器驱动能识别的第四USB请求块数据包;
第二发送模块,用于将所述第四USB请求块数据包发送给设置于所述服务操作系统的真实USB控制器驱动,并将从所述真实USB控制器驱动接收到的所述第一数据包通过所述虚拟机监视器返回给所述第一接收模块;
所述第一数据包为所述真实USB控制器驱动根据所述第四USB请求块数据包对真实USB设备操作后得到的数据包。
优选的,上述的系统,其中,所述的虚拟USB集线器还包括:
队列处理模块,用于将所述第一发送模块当前发送的所述第一USB请求块数据包放入到等待工作队列;
所述第一接收模块具体包括:
接收单元,用于从所述虚拟机监视器接收所述第一数据包;
查找单元,用于从所述等待工作队列中查找与所述第一数据包相对应的第一USB请求块数据包;
组装单元,用于根据查找得到的所述USB请求块数据包,将所述第一数据包组装成所述第三USB请求块数据包;
发送单元,用于将所述第三USB请求块数据包发送到所述USB设备驱动。
优选的,上述的系统,其中,所述USB调度器还包括第二管理模块,用于从所述真实USB控制器驱动接收USB设备到来事件和拔除事件,并将所述到来事件和拔除事件通过所述虚拟机监视器返回给所述虚拟USB集线器;
所述虚拟USB集线器还包括第一管理模块,用于通过所述虚拟机监视器接收USB设备到来事件或拔除事件,并在接收到所述到来事件时创建相应的USB设备,并通知所述客户操作系统的即插即用管理器,在接收到所述拔除事件时直接通知所述即插即用管理器。
为了实现上述目的,本发明实施例还提供了一种虚拟机系统中的USB设备访问方法,包括:
虚拟USB集线器将从IO请求包中提取的第一USB请求块数据包包装成底层能够识别的第二USB请求块数据包后发送到虚拟机监视器;
USB调度器将通过所述虚拟机监视器接收到的所述第二USB请求块数据包转换为真实USB控制器驱动能识别的第四USB请求块数据包后发送给所述真实USB控制器驱动;
所述USB调度器通过所述虚拟机监视器将从所述真实USB控制器驱动接收到的第一数据包返回给所述虚拟USB集线器,所述第一数据包为所述真实USB控制器驱动根据所述第四USB请求块数据包对真实USB设备操作后得到的数据包;
所述虚拟USB集线器根据所述第一USB请求块数据包,将所述第一数据包组装成符合操作系统要求的第三USB请求块数据包,并发送到所述USB设备驱动。
优选的,上述的方法,其中,所述虚拟USB集线器根据所述第一USB请求块数据包,将所述第一数据包组装成所述第三USB请求块数据包,并发送到所述USB设备驱动的步骤具体包括:
所述虚拟USB集线器从所述虚拟机监视器接收所述第一数据包;
所述虚拟USB集线器从USB请求块等待工作队列中查找与所述第一数据包相对应的第一USB请求块数据包;
所述虚拟USB集线器根据查找到的第一USB请求块数据包,将所述第一数据包组装成所述第三USB请求块数据包;
所述虚拟USB集线器将所述第三USB请求块数据包发送到所述USB设备驱动。
优选的,上述的方法,其中,在所述虚拟USB集线器从所述IO请求包中提取所述第一USB请求块数据包之前还包括:
所述USB调度器从所述真实USB控制器驱动接收USB设备到来事件后,将所述到来事件通过所述虚拟机监视器返回给所述虚拟USB集线器;
所述虚拟USB集线器通过所述虚拟机监视器接收USB设备到来事件后创建相应的USB设备,并通知所述客户操作系统的即插即用管理器。
优选的,上述的方法,其中,所述虚拟USB集线器将所述第三USB请求块数据包发送到所述USB设备驱动的步骤之后,还包括:
所述USB调度器从所述真实USB控制器驱动接收USB设备拔除事件后,将所述拔除事件通过所述虚拟机监视器返回给所述虚拟USB集线器;
所述虚拟USB集线器通过所述虚拟机监视器接收所述拔除事件后,通知所述即插即用管理器。
本发明实施例具有以下有益效果:
由于在GOS端仅采用虚拟USB集线器,在SOS端仅采用了USB调度器,相对于现有USB虚拟解决方案,USB传输过程大大减小,提高了虚拟机系统下对USB设备的访问性能。
本发明具体实施例的方法、设备和系统,与操作系统类型无关,因此增强了通用性;
USB调度器能将真实USB设备的插入和拔出通知对应的客户操作系统,保证了客户操作系统的及时切换,而虚拟USB集线器通过模拟真实USB设备的插入和拔出,使得USB设备的切换不存在时间差的问题。
附图说明
图1为现有的DM解决方案下的虚拟机系统的结构示意图;
图2为本发明实施例的虚拟机系统的结构示意图;
图3为本发明实施例中的虚拟USB集线器的结构示意图;
图4为本发明实施例中的USB调度器的结构示意图;
图5为本发明实施例中的USB设备访问方法的流程示意图。
具体实施方式
本发明实施例通过在GOS设置虚拟USB集线器,在SOS中设置USB调度器,通过二者的交互,实现USB设备访问性能的提升。
下面结合附图对本发明实施例进行详细说明。
如图2所示,为本发明实施例的虚拟机系统的结构示意图,其中包括USB硬件、设置有通信模块的VMM、SOS和至少一个GOS(为方便说明,图中仅示出一个GOS),其中:
该GOS中设置有USB设备驱动模块和虚拟USB集线器;
该SOS中设置有USB调度器和真实USB控制器驱动模块;
该USB集线器通过通信模块和USB调度器通信;
该虚拟USB集线器用于模拟一个虚拟的USB集线器,在有USB设备插入或拔除时,用于对应创建或停止相应的USB设备,同时还用于处理创建的USB设备的所有USB请求。
该USB调度器用于解析从虚拟USB集线器接收到的第一USB请求,并转换为真实USB控制器驱动所能识别的第二USB请求后发送给真实USB控制器驱动,还用于在有USB设备插入或拔除时,通知对应的GOS的虚拟USB集线器;
真实USB控制器驱动将该第二USB请求发送给真实USB设备。
下面对虚拟USB集线器和USB调度器进行进一步详细说明。
如图3所示,为本发明实施例中的虚拟USB集线器的结构示意图,其中包括:
第一管理模块,用于通过通信模块接收的外插USB设备的到来事件和拔除事件,并根据接收到的外插USB设备的到来事件,创建相应的USB设备,并通知GOS的PNP(Plug and Play,即插即用)管理器,根据接收到的外插USB设备的拔除事件,通知GOS的PNP管理器;
GOS的PNP管理器接收到第一管理模块通知的外插USB设备的到来事件后,由GOS加载该USB设备的各个层次的驱动,而在接收到USB设备拔除事件后,由GOS卸载相应的设备;
IRP(I/O Request Packet,IO请求包)接口模块,用于接收包含URB(USBRequest Block,USB请求块)的IRP;
第一发送模块,用于从IRP提取第一URB数据包,并将第一URB数据包包装成底层能够识别的第二URB数据包发送到通信模块;
URB队列处理模块,用于将第一发送模块发送的URB数据包放入到URB的等待工作队列;
第一接收模块,用于从通信模块获取第一数据包,并从URB的等待工作队列中找到对应的URB后,将所述第一数据包组装成符合OS格式的第三URB数据包发送给对应的USB设备驱动;
USB设备驱动从第一接收模块接收到第三URB数据包后发送给对应的应用程序。
其中,所述第一接收模块具体包括:
接收单元,用于从通信模块接收数据包;
查找单元,用于从所述等待工作队列中查找与所述从通信模块接收到的第一数据包相对应的USB请求块数据包;
组装单元,用于根据从所述通信模块接收到的数据包和所述对应的USB请求块数据包,将从所述通信模块接收到的第一数据包组装成符合操作系统要求的第三USB请求块数据包;
发送单元,用于将所述符合操作系统要求的第三USB请求块数据包发送到所述USB设备驱动。
如图4所示,为本发明实施例中的USB调度器的结构示意图,其中包括:
第二管理模块,用于从真实USB控制器驱动接收外插USB设备的到来事件和拔除事件,并将外插USB设备的到来事件和拔除事件通过通信模块发送到对应的GOS中的第一管理模块;
第二接收模块,用于通过通信模块从第一发送模块接收第二URB数据包;
格式转换模块,用于将第二接收模块接收到的第二URB数据包转换为真实USB控制器驱动能识别的第四URB数据包;
第二发送模块,用于将第四URB数据包发送给真实USB控制器驱动,并将从真实USB控制器驱动接收到的第一数据包通过通信模块返回给虚拟USB集线器。
真实USB控制器驱动在接收到第四URB数据包后,对物理USB设备进行访问操作,并返回给第二发送模块以第一数据包。
如图5所示,本发明的实施例中的USB设备访问方法包括:
步骤51,设置于GOS中的USB设备驱动接收到应用程序的USB设备读写命令后,向虚拟GOS中的虚拟USB集线器发送包括第一URB数据包的IRP;
步骤52,虚拟USB集线器从IRP中提取所述第一URB数据包,并将其包装成底层能够识别的第二URB数据包,并将第一URB数据包放入URB的等待工作队列;
步骤53,虚拟USB集线器通过VMM中的通信模块将第二URB数据包发送到设置于SOS的USB调度器;
步骤54,USB调度器将第二URB数据包转换为真实USB控制器驱动能识别的第四URB数据包后,将第四URB数据包发送给真实USB控制器驱动。
步骤55,真实USB控制器驱动根据接收到的第四URB数据包对物理USB设备进行访问操作,并将读写操作结果,即第一数据包返回USB调度器;
步骤56,USB调度器通过VMM中的通信模块将第一数据包发送给虚拟USB集线器;
步骤57,虚拟USB集线器从URB的等待工作队列中找到对应的URB数据包后,将第一数据包组装成符合OS格式的第三URB数据包发送给对应的USB设备驱动;
步骤58,USB设备驱动将第三URB数据包发送给对应的应用程序。
当然,在对USB设备进行访问之前可能还需要检测USB设备的到来事件和拔除事件,并执行相应的处理,在本发明的具体实施例中,其包括如下步骤:
USB物理设备插入/拔出计算机USB接口时,设置于SOS的真实USB控制器驱动获取到USB设备的到来事件/拔除事件;
SOS的真实USB控制器驱动将USB设备的到来事件/拔除事件发送到USB调度器;
USB调度器根据预定策略获取该USB设备的到来事件/拔除事件所对应的GOS后,利用通信模块将USB设备的到来事件/拔除事件报告给GOS的虚拟集线器;
GOS的虚拟集线器将USB设备的到来事件/拔除事件通知GOS的PNP管理器;
GOS的PNP管理器接收到第一管理模块通知的外插USB设备的到来事件后,由GOS加载该USB设备的各个层次的驱动,而在接收到USB设备拔除事件后,由GOS卸载相应的设备。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必须的通用硬件平台的方式来实现,当然也可以通过硬件,但显然前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品包括若干指令用以使得一台计算机设备(这里所说的计算机设备是一个广义的概念,包括但不限于个人计算机,服务器,网络设备等)执行本发明实施例所述方法。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (12)

1.一种虚拟USB集线器,其特征在于,包括:
接口模块,用于从USB设备驱动接收IO请求包;
第一发送模块,用于从所述IO请求包提取第一USB请求块数据包,并将所述第一USB请求块数据包包装成底层能够识别的第二USB请求块数据包后发送到虚拟机监视器;
第一接收模块,用于根据所述第一USB请求块将从所述虚拟机监视器接收到的第一数据包组装成符合操作系统要求的第三USB请求块数据包,并发送到所述USB设备驱动;
所述第一数据包为真实USB控制器驱动根据第四USB请求块数据包对真实USB设备操作所得到的数据包;
所述第四USB请求块数据包由所述第二USB请求块数据包转换得到。
2.根据权利要求1所述的虚拟USB集线器,其特征在于,还包括:
队列处理模块,用于将所述第一发送模块当前发送的所述第一USB请求块数据包放入到等待工作队列;
所述第一接收模块具体包括:
接收单元,用于从所述虚拟机监视器接收所述第一数据包;
查找单元,用于从所述等待工作队列中查找与所述第一数据包相对应的第一USB请求块数据包;
组装单元,用于根据查找得到的所述第一USB请求块数据包,将所述第一数据包组装成所述第三USB请求块数据包;
发送单元,用于将所述第三USB请求块数据包发送到所述USB设备驱动。
3.根据权利要求1或2所述的虚拟USB集线器,其特征在于,还包括:
第一管理模块,用于通过所述虚拟机监视器接收USB设备到来事件或拔除事件,并在接收到所述到来事件时创建相应的USB设备,并通知客户操作系统的即插即用管理器,在接收到所述拔除事件时直接通知所述即插即用管理器。
4.一种USB调度器,其特征在于,包括:
第二接收模块,用于通过虚拟机监视器从虚拟USB集线器接收第二USB请求块数据包;
格式转换模块,用于将所述第二USB请求块数据包转换为真实USB控制器驱动能识别的第四USB请求块数据包;
第二发送模块,用于将所述第四USB请求块数据包发送给设置于所述服务操作系统的真实USB控制器驱动,并将从所述真实USB控制器驱动接收到的第一数据包通过所述虚拟机监视器返回给所述虚拟USB集线器;
所述第一数据包为所述真实USB控制器驱动根据所述第四USB请求块数据包对真实USB设备操作后所得到的数据包。
5.根据权利要求4所述的USB调度器,其特征在于,还包括:
第二管理模块,用于从所述真实USB控制器驱动接收USB设备到来事件和拔除事件,并将所述到来事件和拔除事件通过所述虚拟机监视器返回给所述虚拟USB集线器。
6.一种虚拟机系统中的USB设备访问控制系统,其特征在于:
所述系统包括虚拟USB集线器和USB调度器;
所述虚拟USB集线器包括:
接口模块,用于从USB设备驱动接收IO请求包;
第一发送模块,用于从所述IO请求包提取第一USB请求块数据包,并将所述第一USB请求块数据包包装成底层能够识别的第二USB请求块数据包后发送到虚拟机监视器;
第一接收模块,用于根据所述第一USB请求块将从所述虚拟机监视器接收到的第一数据包组装成符合操作系统要求的第三USB请求块数据包,并发送到所述USB设备驱动;
所述USB调度器包括:
第二接收模块,用于通过所述虚拟机监视器从虚拟USB集线器接收第二USB请求块数据包;
格式转换模块,用于将所述第二URB数据包转换为真实USB控制器驱动能识别的第四USB请求块数据包;
第二发送模块,用于将所述第四USB请求块数据包发送给设置于所述服务操作系统的真实USB控制器驱动,并将从所述真实USB控制器驱动接收到的所述第一数据包通过所述虚拟机监视器返回给所述第一接收模块;
所述第一数据包为所述真实USB控制器驱动根据所述第四USB请求块数据包对真实USB设备操作后得到的数据包。
7.根据权利要求6所述的系统,其特征在于,所述的虚拟USB集线器还包括:
队列处理模块,用于将所述第一发送模块当前发送的所述第一USB请求块数据包放入到等待工作队列;
所述第一接收模块具体包括:
接收单元,用于从所述虚拟机监视器接收所述第一数据包;
查找单元,用于从所述等待工作队列中查找与所述第一数据包相对应的第一USB请求块数据包;
组装单元,用于根据查找得到的所述USB请求块数据包,将所述第一数据包组装成所述第三USB请求块数据包;
发送单元,用于将所述第三USB请求块数据包发送到所述USB设备驱动。
8.根据权利要求6或7所述的系统,其特征在于:
所述USB调度器还包括第二管理模块,用于从所述真实USB控制器驱动接收USB设备到来事件和拔除事件,并将所述到来事件和拔除事件通过所述虚拟机监视器返回给所述虚拟USB集线器;
所述虚拟USB集线器还包括第一管理模块,用于通过所述虚拟机监视器接收USB设备到来事件或拔除事件,并在接收到所述到来事件时创建相应的USB设备,并通知所述客户操作系统的即插即用管理器,在接收到所述拔除事件时直接通知所述即插即用管理器。
9.一种虚拟机系统中的USB设备访问方法,其特征在于,包括:
虚拟USB集线器将从IO请求包中提取的第一USB请求块数据包包装成底层能够识别的第二USB请求块数据包后发送到虚拟机监视器;
USB调度器将通过所述虚拟机监视器接收到的所述第二USB请求块数据包转换为真实USB控制器驱动能识别的第四USB请求块数据包后发送给所述真实USB控制器驱动;
所述USB调度器通过所述虚拟机监视器将从所述真实USB控制器驱动接收到的第一数据包返回给所述虚拟USB集线器,所述第一数据包为所述真实USB控制器驱动根据所述第四USB请求块数据包对真实USB设备操作后得到的数据包;
所述虚拟USB集线器根据所述第一USB请求块数据包,将所述第一数据包组装成符合操作系统要求的第三USB请求块数据包,并发送到所述USB设备驱动。
10.根据权利要求9所述的方法,其特征在于,所述虚拟USB集线器根据所述第一USB请求块数据包,将所述第一数据包组装成所述第三USB请求块数据包,并发送到所述USB设备驱动的步骤具体包括:
所述虚拟USB集线器从所述虚拟机监视器接收所述第一数据包;
所述虚拟USB集线器从USB请求块等待工作队列中查找与所述第一数据包相对应的第一USB请求块数据包;
所述虚拟USB集线器根据查找到的第一USB请求块数据包,将所述第一数据包组装成所述第三USB请求块数据包;
所述虚拟USB集线器将所述第三USB请求块数据包发送到所述USB设备驱动。
11.根据权利要求9或10所述的方法,其特征在于,在所述虚拟USB集线器从所述IO请求包中提取所述第一USB请求块数据包之前还包括:
所述USB调度器从所述真实USB控制器驱动接收USB设备到来事件后,将所述到来事件通过所述虚拟机监视器返回给所述虚拟USB集线器;
所述虚拟USB集线器通过所述虚拟机监视器接收USB设备到来事件后创建相应的USB设备,并通知所述客户操作系统的即插即用管理器。
12.根据权利要求11所述的方法,其特征在于,所述虚拟USB集线器将所述第三USB请求块数据包发送到所述USB设备驱动的步骤之后,还包括:
所述USB调度器从所述真实USB控制器驱动接收USB设备拔除事件后,将所述拔除事件通过所述虚拟机监视器返回给所述虚拟USB集线器;
所述虚拟USB集线器通过所述虚拟机监视器接收所述拔除事件后,通知所述即插即用管理器。
CN2008101016497A 2008-03-10 2008-03-10 虚拟机系统中的usb设备访问方法、装置及控制系统 Active CN101533375B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008101016497A CN101533375B (zh) 2008-03-10 2008-03-10 虚拟机系统中的usb设备访问方法、装置及控制系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008101016497A CN101533375B (zh) 2008-03-10 2008-03-10 虚拟机系统中的usb设备访问方法、装置及控制系统

Publications (2)

Publication Number Publication Date
CN101533375A true CN101533375A (zh) 2009-09-16
CN101533375B CN101533375B (zh) 2011-12-07

Family

ID=41103989

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008101016497A Active CN101533375B (zh) 2008-03-10 2008-03-10 虚拟机系统中的usb设备访问方法、装置及控制系统

Country Status (1)

Country Link
CN (1) CN101533375B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102270186A (zh) * 2011-07-21 2011-12-07 华中科技大学 一种虚拟桌面外部设备支持系统
CN104092747A (zh) * 2014-06-30 2014-10-08 杭州华三通信技术有限公司 虚拟化环境下usb动态连接方法及装置
CN104317759A (zh) * 2014-10-15 2015-01-28 国云科技股份有限公司 一种支持虚拟机usb存储设备热插拔的方法
CN104834613A (zh) * 2015-04-30 2015-08-12 捷鼎国际股份有限公司 用以存取虚拟机的计算机系统及方法
CN105740081A (zh) * 2014-12-12 2016-07-06 华为技术有限公司 客户端、usb设备及显示处理系统和方法
CN107239321A (zh) * 2017-05-18 2017-10-10 中国科学院软件研究所 一种基于薄虚拟机监控器的usb存储设备安全访问控制方法
CN107357743A (zh) * 2017-07-28 2017-11-17 郑州云海信息技术有限公司 一种控制usb设备的方法及装置
CN108491347A (zh) * 2018-04-02 2018-09-04 联想(北京)有限公司 通信方法和电子设备

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6601109B1 (en) * 1999-03-31 2003-07-29 International Business Machines Corporation USB-based networking and I/O hub
US6978335B2 (en) * 2000-06-30 2005-12-20 02Micro International Limited Smart card virtual hub
US7774794B2 (en) * 2005-08-19 2010-08-10 Intel Corporation Method and system for managing bandwidth in a virtualized system
US8347063B2 (en) * 2005-08-19 2013-01-01 Intel Corporation Method and system for device address translation for virtualization

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102270186A (zh) * 2011-07-21 2011-12-07 华中科技大学 一种虚拟桌面外部设备支持系统
CN102270186B (zh) * 2011-07-21 2013-03-20 华中科技大学 一种虚拟桌面外部设备支持系统
CN104092747A (zh) * 2014-06-30 2014-10-08 杭州华三通信技术有限公司 虚拟化环境下usb动态连接方法及装置
CN104317759A (zh) * 2014-10-15 2015-01-28 国云科技股份有限公司 一种支持虚拟机usb存储设备热插拔的方法
CN105740081A (zh) * 2014-12-12 2016-07-06 华为技术有限公司 客户端、usb设备及显示处理系统和方法
CN104834613A (zh) * 2015-04-30 2015-08-12 捷鼎国际股份有限公司 用以存取虚拟机的计算机系统及方法
CN104834613B (zh) * 2015-04-30 2018-01-26 捷鼎国际股份有限公司 用以存取虚拟机的计算机系统及方法
CN107239321A (zh) * 2017-05-18 2017-10-10 中国科学院软件研究所 一种基于薄虚拟机监控器的usb存储设备安全访问控制方法
CN107239321B (zh) * 2017-05-18 2020-08-21 中国科学院软件研究所 一种基于薄虚拟机监控器的usb存储设备安全访问控制方法
CN107357743A (zh) * 2017-07-28 2017-11-17 郑州云海信息技术有限公司 一种控制usb设备的方法及装置
CN108491347A (zh) * 2018-04-02 2018-09-04 联想(北京)有限公司 通信方法和电子设备
CN108491347B (zh) * 2018-04-02 2021-04-13 联想(北京)有限公司 通信方法和电子设备

Also Published As

Publication number Publication date
CN101533375B (zh) 2011-12-07

Similar Documents

Publication Publication Date Title
CN101533375B (zh) 虚拟机系统中的usb设备访问方法、装置及控制系统
CN101557420B (zh) 虚拟机监控器高效网络通信的实现方法
CN202854801U (zh) 用于usb设备的虚拟化的数据处理系统及usb虚拟化设备
US8375148B2 (en) Computer system, device sharing method, and device sharing program
CN101930419B (zh) 热插拔方法、热插拔控制装置和热插拔卡系统
US20070005867A1 (en) Virtual peripheral device interface and protocol for use in peripheral device redirection communication
EP1596303A3 (en) Fault recovery method in a system having a plurality of storage systems
JP2008293479A (ja) ゲスト処理システムの入出力処理を促進するための方法およびシステム
CN102075389B (zh) 一种调试方法和设备
CN101702688B (zh) 一种数据包收发方法
US10275373B2 (en) Hot swappable device and method
CN104021069A (zh) 基于分布式虚拟机系统的软件性能测试的管理方法和系统
CN102023960A (zh) 计算机网络系统、计算机及其硬件设备远程管理的方法
CN101770389A (zh) 一种计算机及管理硬件设备的方法
CN104216531A (zh) 一种基于鼠标同步方法的kvm系统
KR101284403B1 (ko) 저장 네트워크 환경에서 scsi 타겟으로부터 scsi 에러 응답을 커스터마이징하는 방법, 비-일시적 컴퓨터 판독 가능한 저장 매체, 저장 네트워크 환경에서 scsi 타겟으로부터 수신된 scsi 에러 응답을 커스터마이징하는 시스템
CN1976310B (zh) 在网络中通过总线接口进行通信的方法
CN112347017A (zh) Lpc总线接口的ps/2键盘双机外挂系统和切换方法
CN101826061A (zh) 硬件装置的共享系统与管理方法
CN100353330C (zh) 一种基于ip网络的磁盘镜像方法
CN112231004A (zh) 云桌面终端usb重定向系统
CN101739284A (zh) 一种计算机以及信息处理方法
CN111930645B (zh) 一种基于tcpip的通用usb设备网络透传系统及方法
CN100493018C (zh) 一种通过网络中的总线接口进行通信的方法和系统
CN110308940A (zh) 一种模拟键盘软关机按键实现远程软关机的方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant