一种基于网络的usb设备重定向系统的制作方法

文档序号:7782844阅读:439来源:国知局
一种基于网络的usb设备重定向系统的制作方法
【专利摘要】本发明提供了一种基于网络的USB设备重定向系统,包括客户端、服务端和无线网络,所述客户端上设有客户端设备、客户端应用程序和客户端驱动,所述客户端设备通过所述客户端驱动与所述客户端应用程序连接,所述服务端上设有虚拟设备、服务端应用程序和服务端驱动,所述虚拟设备通过所述服务端驱动与所述服务端应用程序连接,所述客户端应用程序通过所述无线网络与所述服务端应用程序建立数据通讯连接。本发明的技术方案提供了更多的设备和控制信息,减轻了服务器端的负担,且具有更好的安全性;同时增强了通用性,提高了设备兼容性,加大了设备使用方式的灵活度。
【专利说明】—种基于网络的USB设备重定向系统
【技术领域】
[0001]本发明属于设备重定向领域,涉及一种USB设备重定向系统,尤其涉及一种基于网络的桌面虚拟化以及应用虚拟化的USB设备重定向系统。
【背景技术】
[0002]桌面虚拟化或应用虚拟化都是将计算放置在服务器端,通过远程传输协议将显示投射到客户端,同时将客户端的IO时间转发到服务器端。
[0003]现在技术的应用虚拟化技术以及桌面虚拟化技术都是基于一种计算和IO分离的技术原理,即计算在服务器上运行,而应用程序的显示结果投放到远端的客户端上,即计算和IO分离。当然,客户端的外设比如打印机,扫描仪等IO设备都会映射到服务器上,用户使用起来就和使用本地的设备一样。
[0004]USB设备的数量非常多,是各种外设中最重要的一种外设,它包含并不限于USB存储设备、USB摄像头、USB扫描仪、USB加密设备。
[0005]由于USB设备是一种高速设备,USB2.0的规范定义的速度480Mbps,而普通的IP网络的速度为千兆网络,那么在局域网的范围内,usb over network(基于网络的USB共享)在理论上是可以实现的。

【发明内容】

[0006]有鉴于此,本发明的目的是提供一种利用无线网络将USB设备从客户端连接到服务端的系统。
[0007]为达到上述目的,具体技术方案如下:
[0008]一种基于网络的USB设备重定向系统,包括客户端、服务端和无线网络,所述客户端上设有客户端设备、客户端应用程序和客户端驱动,所述客户端上设有USB接口,所述客户端设备通过所述USB接口与所述客户端连接,所述客户端设备通过所述客户端驱动与所述客户端应用程序连接,所述服务端上设有虚拟设备、服务端应用程序和服务端驱动,所述虚拟设备通过所述服务端驱动与所述服务端应用程序连接,所述客户端应用程序通过所述无线网络与所述服务端应用程序建立数据通讯连接。
[0009]优选的,所述客户端应用程序通过TCP/IP网络协议与所述服务端应用程序建立数据通讯连接。
[0010]优选的,所述客户端和服务端基于windows操作系统。
[0011]优选的,所述服务端的虚拟设备是所述客户端设备的映射。
[0012]优选的,所述客户端应用程序上设有IP地址通知模块,所述客户端应用程序通过所述IP地址通知模块自动连接到所述服务端应用程序的IP地址上。
[0013]优选的,所述客户端应用程序上设有确定所述客户端设备是否需要重定向的重定向选择模块。
[0014]优选的,所述客户端驱动上设有客户端虚拟总线驱动模块,用于发送USB事件。[0015]优选的,所述客户端驱动上设有虚拟UPnP管理模块。
[0016]优选的,所述服务器端驱动程序上设有服务端模拟总线驱动模块,用于接受所述客户端发过来的所述USB事件。
[0017]优选的,所述USB事件包括USB设备的插入,USB设备拔出,USB设备的电源reset,USB设备的休眠。
[0018]相对于现有技术,本发明的技术方案的优点有:
[0019]本发明的技术方案提供了一种基于网络的USB共享技术,提供了更多的设备和控制信息,减轻了服务器端的负担,且具有更好的安全性;同时利用采用公有协议TCP/IP协议进行数据传输,增强了通用性,提高了设备兼容性,加大了设备使用方式的灵活度。
【专利附图】

【附图说明】
[0020]构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0021]图1是本发明的实施例的结构示意图;
[0022]图2是本发明的实施例的应用方法的流程示意图;
[0023]图3是本发明的实施例调度流程示意图。
【具体实施方式】
[0024]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0025]需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相
互组合。
[0026]以下将结合附图对本发明的实施例做具体阐释。
[0027]如图1所示的本发明的实施例的一种基于网络的USB设备重定向系统。包括客户端1、服务端2和无线网络。
[0028]客户端I上设有客户端设备3、客户端应用程序4和客户端驱动5。客户端I上设有USB接口,客户端设备3通过USB接口与客户端I连接。客户端设备3通过客户端驱动5与客户端应用程序4连接。
[0029]服务端2上设有虚拟设备6、服务端应用程序7和服务端驱动8。虚拟设备6通过服务端驱动8与服务端应用程序7连接。客户端应用程序4通过无线网络与服务端应用程序7建立数据通讯连接。
[0030]本发明的实施例客户端和服务端之间的通讯全部通过应用程序间进行,这样可以避免内核态的TCP/IP通讯,降低复杂度以及提高可靠性。
[0031]本发明的实施例实现的范围优选windows的客户端对windows的服务端,优选不包含Iinux操作系统或者其他类型的操作系统。
[0032]如图3总所示的本发明的实施例的调度流程示意图,本发明的实施例的客户端应用程序需要预留接口,以和别的协议如ICA、RDP、spice协议之间进行通讯,这样在RDP协议启动以后,就可以自动加载USB重定向功能。需要预留的功能模块包括两个内容:与服务端的IP地址通知模块,客户端就可以自动连接到服务端的IP地址上;重定向选择模块,决定某些类型的USB设备是否需要重定向。
[0033]客户端的应用程序和驱动之间的通讯可以采用windows标准的ioctl的实现方式。客户端应用程序与服务端应用程序之间的通讯采用TCP/IP连接方式,可以采用第三方的连接库,也可以采用标准的winsocket。
[0034]在本发明的实施例中,客户端驱动实现相对比较复杂,包含以下的内容:客户端虚拟总线驱动模块,总线驱动程序的实现很多,有很多开源的实现方式。还需要增加一个虚拟UPnP管理模块能,即设备插入后,需要将设备通知UPnP管理模块,该设备的UPnP管理功能一切正常。而以上实现全部都是通过模拟的方式实现,其虚拟总线驱动还需要包含的内容在设备被拔出时,清理所有的相关信息,以符合UPnP的管理规范。
[0035]还需要实现的内容是加载USB设备的FDO filter JDO filter。filter功能是微软标准驱动的一个特色,通过filter功能,可以将驱动间传递的数据截获并转发。
[0036]在本发明的实施例中,服务端应用程序和客户端应用程序比较类似,需要自动加载。和其驱动之间的通讯方式采用标准ioctl的方式。接受客户端程序发过来的各种USB事件,并通知底层驱动处理;转发底层驱动的各种请求;
[0037]服务端驱动设有服务端模拟总线驱动模块,接受客户端发过来的各种USB事件。如如图2中所示的USB插入时,驱动程序做一个模拟USB设备的插入,然后进行枚举,同时将枚举的内容转发到客户端。
[0038]实现上述的四个功能模块后,每个模块的功能基本已做描述,对USB设备的几种状态做不同的实现,如USB设备的插入、USB设备拔出、USB设备的电源reset、USB设备的休眠。前面已对USB设备的插入已做描述,在此就不做赘述。
[0039]以上对本发明的具体实施例进行了详细描述,但其只作为范例,本发明并不限制于以上描述的具体实施例。对于本领域技术人员而言,任何对该实用进行的等同修改和替代也都在本发明的范畴之中。因此,在不脱离本发明的精神和范围下所作的均等变换和修改,都应涵盖在本发明的范围内。
【权利要求】
1.一种基于网络的USB设备重定向系统,其特征在于,包括客户端、服务端和无线网络,所述客户端上设有客户端设备、客户端应用程序和客户端驱动,所述客户端上设有USB接口,所述客户端设备通过所述USB接口与所述客户端连接,所述客户端设备通过所述客户端驱动与所述客户端应用程序连接,所述服务端上设有虚拟设备、服务端应用程序和服务端驱动,所述虚拟设备通过所述服务端驱动与所述服务端应用程序连接,所述客户端应用程序通过所述无线网络与所述服务端应用程序建立数据通讯连接。
2.如权利要求1所述的基于网络的USB设备重定向系统,其特征在于,所述客户端应用程序通过TCP/IP网络协议与所述服务端应用程序建立数据通讯连接。
3.如权利要求2所述的基于网络的USB设备重定向系统,其特征在于,所述客户端和服务端基于windows操作系统。
4.如权利要求3所述的基于网络的USB设备重定向系统,其特征在于,所述服务端的虚拟设备是所述客户端设备的映射。
5.如权利要求4所述的基于网络的USB设备重定向系统,其特征在于,所述客户端应用程序上设有IP地址通知模块,所述客户端应用程序通过所述IP地址通知模块自动连接到所述服务端应用程序的IP地址上。
6.如权利要求5所述的基于网络的USB设备重定向系统,其特征在于,所述客户端应用程序上设有确定所述客户端设备是否需要重定向的重定向选择模块。
7.如权利要求6所述的基于网络的USB设备重定向系统,其特征在于,所述客户端驱动上设有客户端虚拟总线驱动模块,用于发送USB事件。
8.如权利要求7所述的基于网络的USB设备重定向系统,其特征在于,所述客户端驱动上设有虚拟UPnP管理模块。
9.如权利要求8所述的基于网络的USB设备重定向系统,其特征在于,所述服务器端驱动程序上设有服务端模拟总线驱动模块,用于接受所述客户端发过来的所述USB事件。
10.如权利要求9所述的基于网络的USB设备重定向系统,其特征在于,所述USB事件包括USB设备的插入,USB设备拔出,USB设备的电源reset,USB设备的休眠。
【文档编号】H04L29/08GK103714020SQ201310743350
【公开日】2014年4月9日 申请日期:2013年12月27日 优先权日:2013年12月27日
【发明者】张志高 申请人:普华基础软件股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1