CN103312781A - 一种虚拟usb总线的实现方法 - Google Patents
一种虚拟usb总线的实现方法 Download PDFInfo
- Publication number
- CN103312781A CN103312781A CN2013101773303A CN201310177330A CN103312781A CN 103312781 A CN103312781 A CN 103312781A CN 2013101773303 A CN2013101773303 A CN 2013101773303A CN 201310177330 A CN201310177330 A CN 201310177330A CN 103312781 A CN103312781 A CN 103312781A
- Authority
- CN
- China
- Prior art keywords
- usb
- urb
- client
- server end
- 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.)
- Pending
Links
Images
Landscapes
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种虚拟USB总线的实现方法,属于服务器领域技术,将服务器端的USB设备映射到客户端,客户端共享使用服务器端的USB设备;(1)在服务器端检测具体的USB设备,封装有URB的IP包;(2)服务器端将封装有URB的IP包传送给客户端;(3)客户端对封装有URB的IP包进行解析,映射成虚拟USB设备;且客户端的URB封装转发给服务器端;(4)服务器端接收URB封装,进行解析、拆包、取出URB,下传给具体的USB设备,并且再通过封装有URB的IP包的形式向客户端传回处理结果。本发明对于linux系统可实现USB设备远程共享或通过远程键鼠来对本地主机进行操作,设计科学、使用方便。
Description
技术领域
本发明涉及一种计算机服务器技术领域,具体地说是一种虚拟USB总线的实现方法。
背景技术
近年来,越来越多的用户需要对远程主机上的USB设备进行访问与操作,对不同主机间的USB设备进行无缝共享,或是通过远程主机对本地主机进行管理。目前市场上的一些产品及方案,要么需要用户购买额外的硬件进行支持,要么只支持windows系统,对于linux系统来说,进行不同主机的USB设备共享或是通过远程键鼠来对本地主机进行操作还比较困难。
发明内容
本发明的技术任务是针对以上不足之处,提供一种对于linux系统可实现USB设备远程共享或者通过远程键鼠来对本地主机进行操作的一种虚拟USB总线的实现方法。
本发明解决其技术问题所采用的技术方案是:通过所述方法将服务器端的USB设备映射到客户端,从客户端共享使用服务器端的USB设备;所述方法具体步骤为:
(1)、在服务器端检测服务器端具体的USB设备,并将检测到的USB设备的信息打包成USB数据请求包封装成的IP包,即封装有URB的IP包;
(2)、服务器端将封装有URB的IP包通过网络传送给客户端,遵循TCP/IP协议;
(3)、客户端的虚拟USB主控制器,对应一个VHCI(虚拟的主控制器接口),VHCI负责对服务器端传送的封装有URB的IP包进行解析,映射成客户端的虚拟USB设备;且VHCI负责对客户端的URB封装转发给服务器端;
(4)、在服务器端接收客户端传送来的URB封装包,进行解析、拆包、取出URB,层层下传给具体的USB设备,并且服务器端再通过封装有URB的IP包的形式向客户端传回客户端传送来的URB的处理结果。
步骤(1)中的具体步骤为:通过USB设备驱动创建USB数据请求包,即URB,分配给指定USB地址的指定节点,提交给USB主控制器,USB主控制器将URB分割成TD数据包,将TD数据包传送给具体的USB设备,URB处理完成后,USB主控制器通知USB设备驱动。
步骤(3)中VHCI负责对服务器端传送的封装有URB的IP包进行解析,映射成客户端的虚拟USB设备,详细步骤为:
VHCI对服务器端传送给客户端的封装有URB的IP包进行解析,解析处理完后,虚拟USB主控制器通知USB CORE,进而通知USB设备驱动,最终将其映射成客户端的虚拟USB设备,客户端认为服务器端具体的USB设备直接连于客户端,实现客户端对服务器端的USB设备共享。
步骤(3)中VHCI负责对客户端的URB封装转发给服务器端,详细步骤为:
客户端的USB CORE获得USB设备驱动传下来的URB给虚拟USB主控制器,VHCI将此URB封装转发给服务器端,并检查此URB的处理结果,将其返回给USB CORE层。
步骤(4)中层层下传给具体的USB设备,具体步骤为:服务器端的USB CORE获得USB设备驱动传下来的URB给USB主控制器,USB主控制器下传给具体的USB设备。
服务器端可以插入多个具体的USB设备,具体的USB设备可以是U盘、USB光驱、USB移动硬盘、USB键盘、USB鼠标。
服务器端可以包括多台主机,客户端为1台主机。
服务器端和客户端之间可以通过网络交换机进行数据传输。
urb(USB Request Block)Linux内核中USB驱动实现上的一个数据结构,用于组织每一次的USB设备驱动的数据传输请求。
本发明的一种虚拟USB总线的实现方法和现有技术相比,具有设计科学、使用方便等优点,可实现USB设备远程共享或者通过远程键鼠来对本地主机进行操作,将服务器端的USB设备映射到客户端,让从客户端使用服务器端的设备就像使用本地端的设备一样,便于推广使用。
附图说明
下面结合附图对本发明进一步说明。
附图1为一种虚拟USB总线的实现方法的结构框图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明。
本发明的一种虚拟USB总线的实现方法,通过所述方法将服务器端的USB设备映射到客户端,从客户端共享使用服务器端的USB设备;所述方法具体步骤为:
(1)、在服务器端检测服务器端具体的USB设备,并将检测到的USB设备的信息打包成USB数据请求包封装成的IP包,即封装有URB的IP包;
具体步骤为:通过USB设备驱动创建USB数据请求包,即URB,分配给指定USB地址的指定节点,提交给USB主控制器,USB主控制器将URB分割成TD数据包,将TD数据包传送给具体的USB设备,URB处理完成后,USB主控制器通知USB设备驱动。
(2)、服务器端将封装有URB的IP包通过网络传送给客户端,遵循TCP/IP协议;
(3)、客户端的虚拟USB主控制器,对应一个VHCI(虚拟的主控制器接口),VHCI负责对服务器端传送的封装有URB的IP包进行解析,映射成客户端的虚拟USB设备;详细步骤为:
VHCI对服务器端传送给客户端的封装有URB的IP包进行解析,解析处理完后,虚拟USB主控制器通知USB CORE,进而通知USB设备驱动,最终将其映射成客户端的虚拟USB设备,客户端认为服务器端具体的USB设备直接连于客户端,实现客户端对服务器端的USB设备共享。
且VHCI负责对客户端的URB封装转发给服务器端;详细步骤为:
客户端的USB CORE获得USB设备驱动传下来的URB给虚拟USB主控制器,VHCI将此URB封装转发给服务器端,并检查此URB的处理结果,将其返回给USB CORE层。
(4)、在服务器端接收客户端传送来的URB封装包,进行解析、拆包、取出URB,层层下传给具体的USB设备,即服务器端的USB CORE获得USB设备驱动传下来的URB给USB主控制器,USB主控制器下传给具体的USB设备;并且服务器端再通过封装有URB的IP包的形式向客户端传回客户端传送来的URB的处理结果。
服务器端可以插入多个具体的USB设备,具体的USB设备可以是U盘、USB光驱、USB移动硬盘、USB键盘、USB鼠标。
服务器端可以包括多台主机,客户端为1台主机。
服务器端和客户端之间可以通过网络交换机进行数据传输。
上述具体实施方式仅是本发明的具体个案,本发明的专利保护范围包括但不限于上述具体实施方式,任何符合本发明权利要求书的一种虚拟USB总线的实现方法且任何所属技术领域的普通技术人员对其所做的适当变化或替换,皆应落入本发明的专利保护范围。
Claims (8)
1.一种虚拟USB总线的实现方法,其特征在于通过所述方法将服务器端的USB设备映射到客户端,从客户端共享使用服务器端的USB设备;所述方法具体步骤为:
(1)、在服务器端检测服务器端具体的USB设备,并将检测到的USB设备的信息打包成USB数据请求包封装成的IP包,即封装有URB的IP包;
(2)、服务器端将封装有URB的IP包通过网络传送给客户端,遵循TCP/IP协议;
(3)、客户端的虚拟USB主控制器,对应一个VHCI,VHCI负责对服务器端传送的封装有URB的IP包进行解析,映射成客户端的虚拟USB设备;且VHCI负责对客户端的URB封装转发给服务器端;
(4)、在服务器端接收客户端传送来的URB封装包,进行解析、拆包、取出URB,层层下传给具体的USB设备,并且服务器端再通过封装有URB的IP包的形式向客户端传回客户端传送来的URB的处理结果。
2.根据权利要求1所述的一种虚拟USB总线的实现方法,其特征在于步骤(1)中的具体步骤为:通过USB设备驱动创建USB数据请求包,即URB,分配给指定USB地址的指定节点,提交给USB主控制器,USB主控制器将URB分割成TD数据包,将TD数据包传送给具体的USB设备,URB处理完成后,USB主控制器通知USB设备驱动。
3.根据权利要求1所述的一种虚拟USB总线的实现方法,其特征在于步骤(3)中VHCI负责对服务器端传送的封装有URB的IP包进行解析,映射成客户端的虚拟USB设备,详细步骤为:
VHCI对服务器端传送给客户端的封装有URB的IP包进行解析,解析处理完后,虚拟USB主控制器通知USB CORE,进而通知USB设备驱动,最终将其映射成客户端的虚拟USB设备,实现客户端对服务器端的USB设备共享。
4.根据权利要求1所述的一种虚拟USB总线的实现方法,其特征在于步骤(3)中VHCI负责对客户端的URB封装转发给服务器端,详细步骤为:
客户端的USB CORE获得USB设备驱动传下来的URB给虚拟USB主控制器,VHCI将此URB封装转发给服务器端,并检查此URB的处理结果,将其返回给USB CORE层。
5.根据权利要求1所述的一种虚拟USB总线的实现方法,其特征在于步骤(4)中层层下传给具体的USB设备,具体步骤为:服务器端的USB CORE获得USB设备驱动传下来的URB给USB主控制器,USB主控制器下传给具体的USB设备。
6.根据权利要求1所述的一种虚拟USB总线的实现方法,其特征在于服务器端可以插入多个具体的USB设备,具体的USB设备可以是U盘、USB光驱、USB移动硬盘、USB键盘、USB鼠标。
7.根据权利要求1所述的一种虚拟USB总线的实现方法,其特征在于服务器端可以包括多台主机,客户端为1台主机。
8.根据权利要求1所述的一种虚拟USB总线的实现方法,其特征在于服务器端和客户端之间可以通过网络交换机进行数据传输。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013101773303A CN103312781A (zh) | 2013-05-15 | 2013-05-15 | 一种虚拟usb总线的实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013101773303A CN103312781A (zh) | 2013-05-15 | 2013-05-15 | 一种虚拟usb总线的实现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103312781A true CN103312781A (zh) | 2013-09-18 |
Family
ID=49137559
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2013101773303A Pending CN103312781A (zh) | 2013-05-15 | 2013-05-15 | 一种虚拟usb总线的实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103312781A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107357743A (zh) * | 2017-07-28 | 2017-11-17 | 郑州云海信息技术有限公司 | 一种控制usb设备的方法及装置 |
CN108804367A (zh) * | 2018-04-03 | 2018-11-13 | 上海施嵌电子科技有限公司 | 一种无线外设系统 |
CN109522246A (zh) * | 2018-11-23 | 2019-03-26 | 南京云帐房网络科技有限公司 | 一种远程访问多usb设备的方法和装置 |
CN111930645A (zh) * | 2020-07-21 | 2020-11-13 | 上海繁易信息科技股份有限公司 | 一种基于tcpip的通用usb设备网络透传系统及方法 |
CN112672091A (zh) * | 2020-12-18 | 2021-04-16 | 厦门亿联网络技术股份有限公司 | 基于网络的视频通信方法、系统、存储介质及uvc设备 |
CN116303150A (zh) * | 2023-05-25 | 2023-06-23 | 深圳市链科网络科技有限公司 | 一种基于虚拟usb的数据驱动方法及装置 |
CN116955236A (zh) * | 2023-09-20 | 2023-10-27 | 元内核(北京)科技有限公司 | 一种基于虚拟化的usb设备共享方法及系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101004721A (zh) * | 2007-01-23 | 2007-07-25 | 福建升腾资讯有限公司 | 计算机外围设备共享服务器控制方法 |
CN101035039A (zh) * | 2007-04-20 | 2007-09-12 | 福建升腾资讯有限公司 | Usb映射方法 |
CN101488941A (zh) * | 2008-01-18 | 2009-07-22 | 中兴通讯股份有限公司 | 一种实现usb设备共享使用的方法及系统 |
US20110107003A1 (en) * | 2009-11-05 | 2011-05-05 | Electronics And Telecommunications Research Institute | Remote usb system for supporting multiple virtual machines of multiple host and method thereof |
CN102270186A (zh) * | 2011-07-21 | 2011-12-07 | 华中科技大学 | 一种虚拟桌面外部设备支持系统 |
CN102523264A (zh) * | 2011-12-06 | 2012-06-27 | 北京航空航天大学 | 面向虚拟机的usb设备远程共享方法和系统 |
CN102789432A (zh) * | 2011-05-19 | 2012-11-21 | 中国电信股份有限公司 | Usb设备驱动方法和系统 |
-
2013
- 2013-05-15 CN CN2013101773303A patent/CN103312781A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101004721A (zh) * | 2007-01-23 | 2007-07-25 | 福建升腾资讯有限公司 | 计算机外围设备共享服务器控制方法 |
CN101035039A (zh) * | 2007-04-20 | 2007-09-12 | 福建升腾资讯有限公司 | Usb映射方法 |
CN101488941A (zh) * | 2008-01-18 | 2009-07-22 | 中兴通讯股份有限公司 | 一种实现usb设备共享使用的方法及系统 |
US20110107003A1 (en) * | 2009-11-05 | 2011-05-05 | Electronics And Telecommunications Research Institute | Remote usb system for supporting multiple virtual machines of multiple host and method thereof |
CN102789432A (zh) * | 2011-05-19 | 2012-11-21 | 中国电信股份有限公司 | Usb设备驱动方法和系统 |
CN102270186A (zh) * | 2011-07-21 | 2011-12-07 | 华中科技大学 | 一种虚拟桌面外部设备支持系统 |
CN102523264A (zh) * | 2011-12-06 | 2012-06-27 | 北京航空航天大学 | 面向虚拟机的usb设备远程共享方法和系统 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107357743A (zh) * | 2017-07-28 | 2017-11-17 | 郑州云海信息技术有限公司 | 一种控制usb设备的方法及装置 |
CN108804367A (zh) * | 2018-04-03 | 2018-11-13 | 上海施嵌电子科技有限公司 | 一种无线外设系统 |
CN109522246A (zh) * | 2018-11-23 | 2019-03-26 | 南京云帐房网络科技有限公司 | 一种远程访问多usb设备的方法和装置 |
CN111930645A (zh) * | 2020-07-21 | 2020-11-13 | 上海繁易信息科技股份有限公司 | 一种基于tcpip的通用usb设备网络透传系统及方法 |
CN111930645B (zh) * | 2020-07-21 | 2022-04-08 | 上海繁易信息科技股份有限公司 | 一种基于tcpip的通用usb设备网络透传系统及方法 |
CN112672091A (zh) * | 2020-12-18 | 2021-04-16 | 厦门亿联网络技术股份有限公司 | 基于网络的视频通信方法、系统、存储介质及uvc设备 |
CN112672091B (zh) * | 2020-12-18 | 2023-05-09 | 厦门亿联网络技术股份有限公司 | 基于网络的视频通信方法、系统、存储介质及uvc设备 |
CN116303150A (zh) * | 2023-05-25 | 2023-06-23 | 深圳市链科网络科技有限公司 | 一种基于虚拟usb的数据驱动方法及装置 |
CN116303150B (zh) * | 2023-05-25 | 2023-07-21 | 深圳市链科网络科技有限公司 | 一种基于虚拟usb的数据驱动方法及装置 |
CN116955236A (zh) * | 2023-09-20 | 2023-10-27 | 元内核(北京)科技有限公司 | 一种基于虚拟化的usb设备共享方法及系统 |
CN116955236B (zh) * | 2023-09-20 | 2023-12-12 | 元内核(北京)科技有限公司 | 一种基于虚拟化的usb设备共享方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103312781A (zh) | 一种虚拟usb总线的实现方法 | |
TWI547817B (zh) | 叢集運算架構的資源規劃方法、系統及裝置 | |
WO2017081577A1 (en) | Systems and methods for distributed network-aware service placement | |
MX2016003784A (es) | Metodo y dispositivo para tener acceso a la red del operador. | |
JP2015514270A5 (zh) | ||
CN103259735A (zh) | 一种基于NetFPGA的可编程虚拟化路由器的通信方法 | |
CN103281359A (zh) | 云桌面系统及运行方法 | |
US9483298B2 (en) | Converting virtual machine I/O requests | |
EP3350701A1 (en) | Systems and methods for decentralized service placement in a resource pool | |
RU2014121402A (ru) | Система и способ для дополненной и виртуальной реальности | |
CN104780115A (zh) | 云计算环境中负载均衡方法及系统 | |
WO2012154620A3 (en) | Massive simultaneous remote digital presence world | |
WO2015078156A1 (zh) | 一种图形数据的处理方法、装置及系统 | |
EP2428897A3 (en) | Server device connecting with USB device and device sharing method | |
JP2012156957A5 (zh) | ||
WO2014149671A3 (en) | Gateway system and process for ip enabled devices | |
US9712610B2 (en) | System and method for increasing physical memory page sharing by workloads | |
CN105207975A (zh) | 一种vdi架构下的usb图像设备数据传输方法和系统 | |
WO2014036078A3 (en) | Dynamic central cache memory | |
JP2014510333A5 (zh) | ||
CN104156257A (zh) | 一种快速高效的云服务磁盘镜像管理方法 | |
CN112771518A (zh) | 托管机器学习模型 | |
BR112015027547A2 (pt) | método e aparelho | |
CN108701045A (zh) | 计算机设备中客户操作系统屏幕截图方法和装置 | |
TW201923596A (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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20130918 |
|
WD01 | Invention patent application deemed withdrawn after publication |