CN103312781A - 一种虚拟usb总线的实现方法 - Google Patents

一种虚拟usb总线的实现方法 Download PDF

Info

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
Application number
CN2013101773303A
Other languages
English (en)
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.)
Shandong Chaoyue Numerical Control Electronics Co Ltd
Original Assignee
Shandong Chaoyue Numerical Control Electronics Co 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 Shandong Chaoyue Numerical Control Electronics Co Ltd filed Critical Shandong Chaoyue Numerical Control Electronics Co Ltd
Priority to CN2013101773303A priority Critical patent/CN103312781A/zh
Publication of CN103312781A publication Critical patent/CN103312781A/zh
Pending legal-status Critical Current

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设备进行访问与操作,对不同主机间的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总线的实现方法,其特征在于服务器端和客户端之间可以通过网络交换机进行数据传输。
CN2013101773303A 2013-05-15 2013-05-15 一种虚拟usb总线的实现方法 Pending CN103312781A (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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设备驱动方法和系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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