CN102708071A - 用于usb设备虚拟化的方法和系统 - Google Patents

用于usb设备虚拟化的方法和系统 Download PDF

Info

Publication number
CN102708071A
CN102708071A CN2012100795508A CN201210079550A CN102708071A CN 102708071 A CN102708071 A CN 102708071A CN 2012100795508 A CN2012100795508 A CN 2012100795508A CN 201210079550 A CN201210079550 A CN 201210079550A CN 102708071 A CN102708071 A CN 102708071A
Authority
CN
China
Prior art keywords
usb
usb device
computer
client
virtual equipment
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
CN2012100795508A
Other languages
English (en)
Inventor
A.K.小斯克拉格
C.S.西格曼
M.施特劳布
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.)
Vertiv IT Systems Inc
Original Assignee
Avocent Corp
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 Avocent Corp filed Critical Avocent Corp
Publication of CN102708071A publication Critical patent/CN102708071A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0058Bus-related hardware virtualisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/38Universal adapter
    • G06F2213/3812USB port controller

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Systems (AREA)

Abstract

提供了方法和系统以允许个人计算机用户虚拟化本地USB设备,从而使得他们能够远程地连接到服务器并且与所述服务器进行交互,仿佛所述本地USB设备被在物理上连接到所述服务器。他们通过物理USB连接将远程USB目标硬件设备连接到目标系统,并且所述设备通过网络与本地用户的计算机进行交互。所述目标系统不知道所述USB设备并未被通过物理连接直接连接到所述系统,并且所述目标系统不需要特殊软件来实现所述远程USB设备。连接到所述目标计算机的所述USB目标硬件设备可以被在物理上连接和断开连接。

Description

用于USB设备虚拟化的方法和系统
本申请涉及标题为“Method and System for Smart Card Virtualization,”的美国专利申请No. 12/458,086和标题为“Method and System for Audio Device Virtualization,”的美国专利申请No. 13/070,175,其因此被通过引用结合。
技术领域
这通常涉及USB设备,并且更特别地涉及通过网络的USB设备的虚拟化。
背景技术
USB(通用串行总线)连接通常被用来在设备与主机控制器(通常是个人计算机)之间建立通信。USB已经代替了许多种串行端口和并行端口,并且能够将各种计算机外围设备连接到计算机,所述各种计算机外围设备诸如鼠标、键盘、数字相机、打印机、个人媒体播放器、闪盘驱动器以及外部硬盘驱动器。对于那些设备中的许多设备而言,USB已经变成标准的连接方法。USB被设计用于个人计算机,但是它在诸如智能电话、PDA以及视频游戏控制台之类的其它设备上已经变得常见,并且如同设备与插到墙装插头中以进行充电的AC适配器之间的电源线。
在计算的另一方面,系统存在以促进通过在远程站处的操作员对计算机进行远程控制和访问。此类系统通常使用使得在远程站处的操作员能够控制所谓的目标(或本地)计算机的方面的设备或机构。更特别地,此类系统通常允许远程站将鼠标和键盘输入提供给目标计算机并且进一步允许该远程站查看目标计算机的视频显示输出。这些类型的系统通常被称作键盘视频鼠标(KVM)系统。
远程KVM系统允许用户经由键盘、鼠标以及视频与世界上任何地方的计算机进行交互,仿佛他们正好坐在该计算机的旁边。除了键盘、鼠标以及视频的虚拟化之外,诸如CD/DVD-ROM、闪盘驱动器以及软盘之类的存储介质也已经被虚拟化。同样地,用户能够对世界上任何地方的服务器提供对盘上的数据的访问。
一些常规系统通过网络来虚拟化USB设备。在这样的系统中,用户可以使用连接到远程计算机的USB设备,仿佛其被连接到本地计算机。常规的USB-over-IP(IP上的USB)系统在其被从另一个位置中的PC虚拟化时允许用户在一个位置中使用USB设备,并且提供在目标计算机上安装并且运行的特殊的软件以与USB设备进行交互。然而,在所述目标上运行的这个软件必须被特别地设计,需要较大的开销和基础设施,并且提供较小的灵活性。这些产品还要求在本地PC和远程PC这二者上安装特殊的软件。在客户端PC上安装软件可能是可接受的,但是将其安装在目标PC上通常不是可接受的,因为其可能侵犯待访问的计算机的安全。
在目标计算机上没有安装软件的情况下,远程目标计算机通常不具有到本地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虚拟化设备的目标计算机。
附图说明
图1图示了依照符合本发明的方法和系统的示例性KVM计算机系统。
图2图示了符合符合本发明的系统和方法的示例性目标计算机系统。
图3描绘了依照符合本发明的方法和系统的计算机网络中的USB虚拟化设备。
图4图示了依照符合本发明的方法和系统的、用于计算机网络中的USB设备虚拟化的方法的示例性步骤的流程图。
具体实施方式
依照本发明的方法和系统允许个人计算机用户虚拟化本地USB设备,从而使得他们能够远程地连接到服务器并且与该服务器进行交互,仿佛该本地USB设备被在物理上连接到该服务器。他们允许对USB设备进行虚拟化,从而使得远程用户可以将他们的USB设备附连到他们的本地PC并且然后虚拟化该USB设备,从而使得其能够与世界上任何地方的计算机一起使用。在一个实施方式中,他们通过诸如USB连接之类的物理连接将远程USB设备虚拟化硬件设备连接到目标计算机,并且该设备通过网络与本地用户的计算机和USB设备进行交互。照这样,目标系统不知道实际的USB设备并未通过物理连接直接连接到该系统,并且该目标系统不需要特殊的软件来实现远程USB设备。连接到目标计算机的USB目标设备可以被在物理上连接和断开连接,并且目标计算机与该设备进行交互,仿佛它是USB设备,从而避免了在目标计算机上安装特殊软件。在这些系统中,在目标计算机不知道USB设备未被本地连接的情况下,USB设备可以被连接到远程目标计算机。
依照本发明的方法和系统在远程PC上不需要特殊软件。通过在远程位置处使用硬件设备,到远程PC的连接可以是通过正常的USB设备连接。用于该USB设备的设备驱动器和中间层软件通常已经被与在远程PC上运行的基本操作系统一起安装了。在远程PC上不需要比如果用户直接将USB设备连接到远程PC而将需要的更多的软件。对于目标系统而言,通过网络的实施方式看起来与本地USB设备一样。例如,Windows或Linux已经被配置成接受插入式USB设备,并且在主机或目标上不需要任何额外的软件。操作系统进行操作,仿佛物理USB被插到目标计算机中。
不存在对在目标计算机上具有特殊软件的需求提供了灵活的、通用的以及由各种客户端和具有最小的基础设施要求的基础设施使用的能力。目标计算机不必是特定的目标或者具有特定的软件,并且因此,针对实施方式需要开发较少的开销。
在接着的讨论中,所述计算机或系统(USB设备正被针对其进行虚拟化)通常被称为目标计算机或目标系统。在一些实例中,目标计算机还被称为本地计算机,然而,对于客户端计算机而言为本地的部件也可被称为本地的。被连接到待虚拟化的USB设备的系统在本文中通常被称为客户端系统。
图1描绘了依照符合本发明的方法和系统的示例性KVM计算机系统。图1中示出了KVM系统100,其中一个或多个目标系统114-1...114-K由一个或多个客户端站124-1, 124-2, . . ., 124-r (通常为124)来控制或访问。每个目标系统114包括具有关联的和附连的本地单元116的目标计算机102。每个客户端站124通常包括客户端单元126、键盘106、视频监视器108、以及鼠标(或类似的点击设备)110,然而某些客户端站可以仅包括视频显示器108和客户端单元。可以在客户端站124中的任何一个的视频监视器108上远程地查看特定目标计算机102-i的操作,并且可以使用客户端站124的键盘106和鼠标110来将键盘和鼠标输入提供给目标计算机102-i。如图1中所示出的,在KVM系统100中,客户端站124能够控制或访问一个以上的目标计算机。注意,图1中的目标系统与客户端站之间画出的线表示那些侧之间的潜在的(并且未必实际的)有线的或无线的(例如,RF)链路。因此,每个目标计算机102可以由一个以上的客户端站124来控制或访问,并且每个客户端站124可以控制一个以上的目标计算机102。在一个实施方式中,客户端站124可以位于目标系统114的几百英尺内。
此外,在特定的背景下,目标系统114被认为是视频发送器或者发送单元,并且客户端系统112是视频接收单元或接收器,尽管这两个单元都进行发送和接收。通常,视频从目标系统114传播到客户端站124,而键盘和鼠标数据从客户端站移动到目标系统。
如图1中所示,本地或目标系统114包括目标计算机102和关联的本地单元116。本地系统114还可以包括键盘118、鼠标(或其它点击类型的设备)120以及本地监视器122,每个都直接连接到本地单元116。客户端站124包括客户端单元126。本地或目标计算机102可以是计算机、服务器、处理器、或处理器或逻辑元件的其它集合。通常,目标计算机可以包括任何处理器或处理器的集合。通过示例的方式,目标计算机可以是处理器或位于(或嵌入)制造或加工生产线上的服务器、台式计算机(诸如PC、Apple Macintosh等)、信息站(kiosk)、ATM、交换机、机顶盒、器具(诸如电视、DVR、DVD播放器等)、车辆、电梯中的逻辑元件或处理器的集合。目标计算机102的集合可以是机架中的服务器的集合或某其它集合,它们可以独立于彼此或者在网络中或通过某其它结构连接到彼此。本地监视器122和客户端监视器108可以为数字的或者模拟的。
本地单元116是被本地安装到目标/本地计算机102的设备或机构,例如,印刷电路板(“PCB”)。这个设备可以靠近于计算机,但是在计算机的外部,或者可以被安装在该计算机的外壳的内部。不管本地单元116的定位如何,在一个实施方式中,在目标计算机102与本地单元116之间存在直接的电气连接。
本地/目标系统114上的各种部件经由无线连接链路134与客户端站124上的部件无线地或经由有线的连接进行通信。在一个实施方式中,无线连接或链路134遵循IEEE 802.11标准协议,尽管本领域的技术人员将认识到其它通信的协议和方法是可能的。
本地单元116接收本地鼠标和键盘信号,例如,USB或PS2信号。这些信号由本地单元116提供给目标计算机102。目标计算机102生成视频输出信号,例如,RGB(红、绿、蓝)信号,所述信号被提供给本地单元116,所述本地单元116又提供该信号以驱动本地监视器122。目标计算机102还可以生成音频输出信号,所述音频输出信号被提供给本地单元116。如所指出的,目标计算机102不需要具有键盘、鼠标或监视器,并且可以通过客户端站124而被整个地控制。
本地单元116发送图像数据以便传输到客户端站124(例如,经由客户端单元126)。所述数据的一些或全部在被发送之前可以被压缩。此外,本地单元116可以(从客户端站124)接收鼠标和键盘数据,其然后被提供给本地/目标计算机102。目标计算机102可以执行所接收到的数据并且可以将输出显示在其本地监视器122上。
客户端站124经由有线或无线连接(例如,802.11a无线连接134)从目标计算机102的本地单元116接收视频数据。客户端单元126从本地单元116接收(可能被压缩的)视频数据(不是所有数据都需要被压缩)。客户端单元126对来自本地单元116的视频数据进行解压缩(根据需要)并且将其提供给适当的呈现设备,例如,提供给显示视频数据的客户端监视器108。此外,可以使用客户端鼠标110和键盘106以生成可以被经由客户端单元126发送到本地单元116以用于在目标计算机102上执行的适当的信号(例如,PS2信号或USB)。
图2图示了符合符合本发明的系统和方法的示例性客户端计算机系统。客户端计算机124包括总线202或用于传送信息的其它通信机构,以及用于处理信息的与总线202耦合的处理器204。客户端站124也可以包括与客户端计算机124类似的部件,包括所提到的部件中的一些或全部。客户端计算机124还包括用于存储信息和待由处理器204执行的指令、耦合到总线202的主存储器206,诸如随机存取存储器(RAM)或其它动态存储设备。此外,在待由处理器204执行的指令的执行期间,主存储器206可以被用于存储临时变量或其它中间信息。主存储器206包括用于实现符合依照本发明的方法和系统的处理的程序212。客户端计算机124进一步包括只读存储器(ROM)208或用于存储静态信息和用于处理器204的指令、耦合到总线202的其它静态存储设备。提供了诸如磁盘或光盘之类的存储设备210,并且其耦合到总线202以用于存储信息和指令。
根据一个实施例,处理器204执行在主存储器206中包含的一个或多个指令的一个或多个序列。这样的指令可以被从诸如存储设备210之类的另一计算机可读介质读取到主存储器206中。主存储器206中的指令的序列的执行使处理器204执行本文中所描述的处理。还可以采用多处理布置中的一个或多个处理器来执行在主存储器206中包含的指令的序列。在替代性实施例中,可以使用硬连线电路以代替软件指令或与软件指令相结合。因此,实施例不局限于硬件电路和软件的任何特定组合。
尽管相对于主存储器206和存储设备210描述了,但是符合本发明的方法和系统的指令和其它方面可以驻留在另一计算机可读介质上,诸如现在已知的或以后发现的软盘、软磁盘、硬盘、磁带、CD-ROM、磁性的、光学的或物理的介质、RAM、PROM以及EPROM、FLASH-EPROM、任何其它存储器芯片或盒式磁带、或计算机能够从其读取的任何其它介质。
图3描绘了依照符合本发明的方法和系统的计算机网络中的虚拟USB设备控制器300。如图上所示,客户端站124包括可以连接到外部设备的客户端操作系统302,所述外部设备例如USB设备304或者任何其它适当的部件。客户端用户将他们的USB设备304插到客户端站124上的USB输入中,从而使得其能够与目标计算机102远程地进行交互。
目标计算机102上的目标操作系统310可以为正常的操作系统。另外,目标计算机102可以包括一个或多个USB连接并且可以连接到USB设备或者任何其它适当的部件。
客户端操作系统302还包括USB设备虚拟化客户端部件306,其可以是与远程目标虚拟USB设备控制器300进行交互的客户端计算机124上的软件,其在一个实施方式中为硬件设备。客户端计算机124可以下载USB设备虚拟化客户端部件306。USB设备虚拟化客户端部件306通过使用TCP/IP的网络远程地与USB设备虚拟化服务器308进行通信,并且与本地USB设备304进行交互。
在一个实施方式中,虚拟USB设备控制器300是包括USB设备虚拟化服务器308的硬件部件,所述USB设备虚拟化服务器308可以是用于远程地与USB设备虚拟化客户端部件306进行交互并且本地地与目标计算机102和目标计算机操作系统304进行交互的固件、软件或硬件。这个虚拟USB设备控制器300可以被插入到具有诸如USB连接之类的物理连接的目标计算机102中。在一个实施方式中,USB设备虚拟化服务器308以由Avocent公司所开发的Avocent虚拟USB协议(AVUP)与USB设备虚拟化客户端部件306进行通信。然而,其它适当的协议和方法是可能的。
当USB设备304被插入到客户端系统124中时,其连接到客户端系统124上的USB主机314。USB主机可以例如是硬件和软件的组合。此时,系统可以询问用户是否本地地使用USB设备304或者是否将其改向到远程目标计算机102。当USB设备304被插入并且用户已经指示该设备的虚拟化时,USB设备虚拟化客户端306将新的USB设备304已经被附连并且其正在虚拟化该新的USB设备的通知发送给USB设备虚拟化服务器308。在这个通知中,USB设备虚拟化客户端306发送它的设备类型、端点的数量(例如,其能够执行多少不同类型的功能),并且开始包括状态和数据的信息的双向流以及依据USB协议请求状态和数据。
在接收到新的USB设备304的通知之时,在被插入到目标计算机102中的虚拟USB设备控制器300上的USB设备虚拟化服务器308对与目标计算机上的USB主机312对接的其USB设备316进行配置。USB设备316可以是插入到目标计算机102上的USB插座中的物理部件,并且还包括可配置的软件。USB设备316上的软件被配置成仿真正在客户端计算机124上被虚拟化的USB设备304。当从客户端计算机124上的USB设备304接收到信号时,虚拟USB设备控制器300上的这个USB设备316仿真接收到的信号并且经由USB主机312将那些信号发送到目标计算机102。其还从目标计算机102接收USB信号并且经由USB设备虚拟化客户端306将它们发送到客户端计算机124上的USB设备304。
当目标计算机102上的USB主机312请求状态时,例如,USB设备虚拟化客户端306用该状态来应答回复。USB设备虚拟化客户端306还可以通知目标计算机102其有数据要发送,并且目标计算机可以响应以继续进行该传输。
虚拟USB设备控制器300从目标操作系统310接收诸如USB设备命令或分组之类的用于USB设备交互的信息,并且它们被虚拟USB设备控制器300上的USB设备虚拟化服务器308处理。USB设备虚拟化服务器308以TCP/IP上的AVUP协议处理、转换并且发送USB设备命令到USB设备虚拟化客户端部件306。虚拟USB设备控制器300包括运行USB设备虚拟化服务器软件308的处理器,并且该处理器还可以具有嵌入的USB设备316。它使用网络连接来连接到客户端计算机124,并且使用USB设备连接来连接到目标计算机102。虚拟USB设备控制器300将USB设备命令和响应从网络格式转换为USB格式,并且反之亦然。
例如,USB设备虚拟化服务器308从目标计算机102接收USB设备命令,转换该命令并且通过TCP/IP将其发送到USB设备虚拟化客户端部件306。对于USB设备命令的响应从USB设备虚拟化客户端部件306移动回到虚拟USB设备控制器300上的USB设备虚拟化协议服务器308,并且通过物理USB连接移动回到目标计算机102。在一个实施方式中,USB设备命令可以符合用于USB设备304的USB规范。
在客户端系统124上,USB设备虚拟化客户端部件306使用由诸如USB主机314之类的客户端操作系统302所提供的服务来将USB设备命令发出到连接至客户端计算机的物理USB设备304。
图4图示了依照符合本发明的方法和系统的、用于计算机网络中的USB设备虚拟化的方法的示例性步骤的流程图。首先,虚拟USB设备控制器300被经由物理连接(诸如其USB设备316)插入到目标计算机102中,并且与USB主机312连接(步骤402)。目标操作系统310将USB连接的虚拟USB设备控制器300识别为本地USB设备并且相应地进行操作(步骤404)。此外,将被虚拟化的USB设备304被经由客户端计算机上的USB主机314插入到客户端计算机124中(步骤406)。在由系统提示时,用户向目标计算机102指示他们将想要虚拟化USB设备304(步骤408)。
附连到客户端计算机124的USB设备304与将USB设备信息传递到USB设备虚拟化客户端部件306的USB主机314进行对接(步骤410)。最初,这些命令可以指示设备的存在和标识,并且稍后可以包括相关的状态和数据。进一步地,USB设备虚拟化客户端部件306处理所接收到的USB设备命令,并且通过网络经由TCP/IP将其发送到虚拟USB设备控制器300上的USB设备虚拟化服务器308(步骤412)。然后,USB设备虚拟化服务器308将所接收到的USB设备命令转换成待输出到目标计算机102上的目标操作系统310的USB格式(步骤414)。USB设备虚拟化服务器308还配置虚拟USB设备控制器300上的USB设备316以仿真本地连接到客户端计算机系统124的USB设备304(步骤416)。USB设备316然后经由其被连接至的USB主机312将USB命令信息发送到目标操作系统310(步骤418)。
目标操作系统310可以通过经由USB连接将USB设备命令(例如状态或数据请求)发送到虚拟USB设备控制器300,像其会发送到在物理上连接的本地USB设备304那样来响应或开始USB交互(步骤420)。接下来,虚拟USB设备控制器300上的USB设备316接收USB设备命令并且将其传递到USB设备虚拟化服务器308(步骤422)。此外,虚拟USB设备控制器300上的USB设备虚拟化服务器308接收USB设备命令并且将其转换为由USB设备虚拟化服务器308和USB设备虚拟化客户端部件306所使用的协议,诸如AVUP协议(步骤424)。
USB设备虚拟化服务器308通过TCP/IP将所转换的USB设备命令发送到远程客户端计算机124(步骤426)。远程客户端计算机的操作系统302接收该经转换的USB设备命令并且将其传递到USB设备虚拟化客户端部件306(步骤428)以将其转换为待输出到连接的USB设备304的USB。
各种实施例的前面描述提供了说明和描述,但是其不旨在是穷举的或者将该发明限制到所公开的精确形式。考虑到上述教导,修改和变化是可能的,或者可以依照本发明从实践中获取。应当理解的是,该发明旨在涵盖在随附权利要求的精神和范围内包括的各种修改和等同布置。

Claims (18)

1.一种用于USB设备的虚拟化的数据处理系统,包括:
目标计算机,其被配置成向本地连接的设备发送和接收USB设备数据;
客户端计算机,其被本地连接到USB设备;
被在物理上本地连接到所述目标计算机的USB虚拟化设备,其被配置成:
       通过所述网络从所述客户端USB设备接收USB设备数据;
       处理所接收到的USB设备数据;以及 
       通过物理USB连接将所处理的USB设备数据发送到所述本地连接的目标计算机。
2.根据权利要求1所述的数据处理系统,其中,所述USB虚拟化设备被进一步配置成:
从所述本地连接的目标计算机接收USB设备命令;
处理将被通过所述网络发送的所述命令;以及
通过所述网络将所处理的USB设备命令发送到所述客户端计算机。
3.根据权利要求1所述的数据处理系统,其中,所述目标计算机以所述目标计算机与本地连接的USB设备交互的相同的方式与所述USB虚拟化设备交互。
4.根据权利要求1所述的数据处理系统,其中,用于远程USB设备交互的所有软件都在所述USB虚拟化设备和所述客户端计算机上。
5.根据权利要求1所述的数据处理系统,其中,所述客户端计算机是控制所述目标计算机的KVM客户端。
6.根据权利要求1所述的数据处理系统,其中,所述客户端计算机包括被配置成与所述本地连接的USB设备和所述USB虚拟化设备进行交互的程序。
7.根据权利要求1所述的数据处理系统,其中,通过所述网络的通信是TC/PIP通信。
8.一种USB虚拟化设备,包括:
网络接口,其被配置成与客户端计算机进行交互以通过网络发送USB设备数据和接收USB设备数据;
USB输入/输出接口,其被配置成在USB端口中在物理上连接到目标计算机,并且被配置成从所述目标计算机接收USB数据并且将USB设备数据发送到所述目标计算机;以及
处理器,其被配置成:
转换所接收到的来自所述物理USB输入/输出接口的USB设备数据以便输出到所述网络接口;以及 
转换所接收到的来自所述网络接口的USB设备数据以便输出到所述物理USB输入/输出接口。
9.根据权利要求8所述的USB虚拟化设备,其中,所述目标计算机以所述目标计算机与本地连接的USB设备交互的相同的方式与所述USB虚拟化设备交互。
10.根据权利要求8所述的USB虚拟化设备,其中,所述客户端计算机是控制所述目标计算机的KVM客户端。
11.根据权利要求8所述的USB虚拟化设备,其中,所述客户端计算机包括被配置成与所述本地连接的USB设备和所述USB虚拟化设备进行交互的程序。
12.根据权利要求8所述的USB虚拟化设备,其中,所述网络接口使用TCP/IP进行通信。
13.根据权利要求8所述的USB虚拟化设备,其中,所述USB虚拟化设备是硬件设备。
14.一种用于USB设备的虚拟化的数据处理系统中的方法,包括:
从在物理上连接到客户端计算机的所述USB设备接收USB设备数据;
通过网络发送所接收到的USB设备数据;
由USB虚拟化设备通过所述网络从所述客户端计算机接收USB设备数据;
处理所接收到的USB设备数据;以及
通过物理USB连接将所处理的USB设备数据发送到本地连接到所述USB虚拟化设备的目标计算机。
15.根据权利要求14所述的方法,其中,所述USB虚拟化设备以与本地连接的USB设备相同的方式与所述目标计算机进行交互。
16.根据权利要求14所述的方法,其中,用于远程USB设备交互的所有软件都在所述USB虚拟化设备和所述客户端计算机上。
17.根据权利要求14所述的方法,其中,所述客户端计算机是控制所述目标计算机的KVM客户端。
18.根据权利要求14所述的方法,其中,所述客户端计算机包括被配置成与所述本地连接的USB设备和所述USB虚拟化设备进行交互的程序。
CN2012100795508A 2011-03-23 2012-03-23 用于usb设备虚拟化的方法和系统 Pending CN102708071A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/069726 2011-03-23
US13/069,726 US9116821B2 (en) 2011-03-23 2011-03-23 Method and system for USB device virtualization

Publications (1)

Publication Number Publication Date
CN102708071A true CN102708071A (zh) 2012-10-03

Family

ID=46878281

Family Applications (2)

Application Number Title Priority Date Filing Date
CN2012100795508A Pending CN102708071A (zh) 2011-03-23 2012-03-23 用于usb设备虚拟化的方法和系统
CN2012201134438U Expired - Lifetime CN202854801U (zh) 2011-03-23 2012-03-23 用于usb设备的虚拟化的数据处理系统及usb虚拟化设备

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN2012201134438U Expired - Lifetime CN202854801U (zh) 2011-03-23 2012-03-23 用于usb设备的虚拟化的数据处理系统及usb虚拟化设备

Country Status (5)

Country Link
US (1) US9116821B2 (zh)
EP (1) EP2689339A4 (zh)
CN (2) CN102708071A (zh)
TW (1) TW201245968A (zh)
WO (1) WO2012128972A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108804068A (zh) * 2017-05-05 2018-11-13 晶涌科技股份有限公司 音频装置重导向系统的客户端及相关音频装置重导向方法

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9071740B1 (en) 2011-10-28 2015-06-30 Google Inc. Modular camera system
US9537968B1 (en) * 2012-01-06 2017-01-03 Google Inc. Communication of socket protocol based data over a storage protocol based interface
US9197686B1 (en) 2012-01-06 2015-11-24 Google Inc. Backfill of video stream
CN103678244B (zh) 2012-09-12 2017-09-05 周松 一种不使用应用处理器的智能设备
US10284668B2 (en) * 2013-01-09 2019-05-07 Red Hat Israel, Ltd. Managing a logical client for an application
US10097369B2 (en) 2013-06-28 2018-10-09 Hewlett-Packard Development Company, L.P. Attached computing device
CN105378692B (zh) 2013-07-03 2018-08-31 惠普发展公司,有限责任合伙企业 通用串行总线数据路由
WO2015123571A1 (en) * 2014-02-13 2015-08-20 Emerge Print Management, Llc System and method for the passive monitoring and reporting of network content on usb cables
US10165130B2 (en) 2014-02-13 2018-12-25 Emerge Print Management, Llc System and method for the passive monitoring and reporting of printer-related data on USB cables
CN104899170B (zh) * 2014-03-07 2019-05-10 中兴通讯股份有限公司 分布式智能平台管理总线ipmb连接方法及atca机框
US20150281409A1 (en) * 2014-03-25 2015-10-01 Rupesh Tatiya Using usb over ip to share a non-usb sensor with another device
CN103984590A (zh) * 2014-06-03 2014-08-13 浪潮电子信息产业股份有限公司 一种虚拟机共享usb设备的方法
US9544485B2 (en) 2015-05-27 2017-01-10 Google Inc. Multi-mode LED illumination system
US9886620B2 (en) 2015-06-12 2018-02-06 Google Llc Using a scene illuminating infrared emitter array in a video monitoring camera to estimate the position of the camera
US9613423B2 (en) 2015-06-12 2017-04-04 Google Inc. Using a depth map of a monitored scene to identify floors, walls, and ceilings
US9489745B1 (en) 2015-06-12 2016-11-08 Google Inc. Using depth maps of a scene to identify movement of a video camera
US9386230B1 (en) 2015-06-12 2016-07-05 Google Inc. Day and night detection based on one or more of illuminant detection, lux level detection, and tiling
US9554063B2 (en) 2015-06-12 2017-01-24 Google Inc. Using infrared images of a monitored scene to identify windows
US9235899B1 (en) 2015-06-12 2016-01-12 Google Inc. Simulating an infrared emitter array in a video monitoring camera to construct a lookup table for depth determination
US9454820B1 (en) 2015-06-12 2016-09-27 Google Inc. Using a scene illuminating infrared emitter array in a video monitoring camera for depth determination
US9626849B2 (en) 2015-06-12 2017-04-18 Google Inc. Using scene information from a security camera to reduce false security alerts
US10148755B2 (en) * 2015-08-27 2018-12-04 Dell Products L.P. System and method to redirect USB mass storage devices in high latency VDI environments
CN105550566B (zh) * 2015-12-06 2019-03-29 北京天云融创软件技术有限公司 一种多用户共享软件授权usb设备的方法
US10037297B2 (en) * 2015-12-30 2018-07-31 Aten International Co., Ltd. Method of extending range of USB transmission for isochronous transfer
US9973638B2 (en) 2016-01-26 2018-05-15 Qsc, Llc Peripheral bus video communication using internet protocol
US10180615B2 (en) 2016-10-31 2019-01-15 Google Llc Electrochromic filtering in a camera
CN108228499B (zh) * 2017-12-28 2021-04-30 北京首都在线科技股份有限公司 一种带外管理设备
US10684972B2 (en) 2017-12-29 2020-06-16 Barco Nv Method and system for making functional devices available to participants of meetings
US10742776B1 (en) * 2019-02-04 2020-08-11 Dell Products L.P. Accelerating isochronous endpoints of redirected USB devices
CN112528238A (zh) * 2019-09-17 2021-03-19 赛孚耐信息技术有限公司 用于控制应用的执行的方法
WO2022051607A1 (en) * 2020-09-04 2022-03-10 Nemedio Inc. Systems and methods for dynamic configuration of external devices
CA3096312C (en) 2020-10-19 2021-12-28 Light Wave Technology Inc. System for tracking a user during a videotelephony session and method ofuse thereof

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080071950A1 (en) * 2006-09-19 2008-03-20 Ithaca Technologies, Llc Thin client implementation based on redirection of virtual i/o devices
US20080147909A1 (en) * 2006-12-18 2008-06-19 Winters Zhang Remote USB protocol for a heterogeneous system
US20080168118A1 (en) * 2006-08-10 2008-07-10 Avocent Huntsville Corporation USB based virtualized media system
CN101609414A (zh) * 2008-06-19 2009-12-23 宏正自动科技股份有限公司 使用者接口切换器系统及其数据传输方法
CN101902491A (zh) * 2009-05-26 2010-12-01 深圳市汉普电子技术开发有限公司 一种远程管理系统和控制装置
US20100327059A1 (en) * 2009-06-30 2010-12-30 Avocent Corporation Method and system for smart card virtualization

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5300949A (en) 1992-10-22 1994-04-05 International Business Machines Corporation Scalable digital video decompressor
US5379071A (en) 1992-12-16 1995-01-03 Ibm Corporation (International Business Machines Corporation) Method of encoding a location of changes in a sequence of video images
TW341018B (en) 1997-09-23 1998-09-21 Winbond Electronics Corp The compress and de-compress apparatus for video signal and its method
US6571305B1 (en) * 2000-09-27 2003-05-27 Lantronix, Inc. System for extending length of a connection to a USB peripheral
US7152190B2 (en) * 2004-02-03 2006-12-19 Motorola Inc. USB OTG intelligent hub/router for debugging USB OTG devices
US7458075B2 (en) * 2004-03-31 2008-11-25 Intel Corporation Virtual USB port system and method
US7640382B2 (en) * 2005-04-29 2009-12-29 Avocent Corporation Virtual media systems, methods and devices
US20070011374A1 (en) * 2005-07-08 2007-01-11 Kumar Sasi K Method and system for universal serial bus (USB) re-direct (USB-R) over a network
US7478180B1 (en) * 2005-12-14 2009-01-13 Vmware, Inc. Virtualizing a communications channel in which blocks of data are divided into multiple sub-blocks for conveyance
US20070174033A1 (en) * 2005-12-30 2007-07-26 Aten International Co., Ltd. Remote control device and method for accessing peripheral device remotely
US7660937B2 (en) * 2006-06-28 2010-02-09 Hewlett-Packard Development Company, L.P. Emulating a USB host controller
US7587536B2 (en) * 2006-07-28 2009-09-08 Icron Technologies Corporation Method and apparatus for distributing USB hub functions across a network
US20080218581A1 (en) * 2007-03-06 2008-09-11 Midas Tsai Network audio/video communication system, comunication device and operation and audio/video data processing method for the same
JP2009187368A (ja) * 2008-02-07 2009-08-20 Hitachi Ltd Usbポートの共有制御方法
US7840638B2 (en) * 2008-06-27 2010-11-23 Microsoft Corporation Participant positioning in multimedia conferencing
WO2010021631A1 (en) * 2008-08-22 2010-02-25 Hewlett-Packard Development Company, L.P. Remote graphics console and virtual media access to virtual machine guests
US9280362B2 (en) * 2009-11-15 2016-03-08 Hewlett-Packard Development Company, L.P. System and apparatus for sharing a host computer

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080168118A1 (en) * 2006-08-10 2008-07-10 Avocent Huntsville Corporation USB based virtualized media system
US20080071950A1 (en) * 2006-09-19 2008-03-20 Ithaca Technologies, Llc Thin client implementation based on redirection of virtual i/o devices
US20080147909A1 (en) * 2006-12-18 2008-06-19 Winters Zhang Remote USB protocol for a heterogeneous system
CN101609414A (zh) * 2008-06-19 2009-12-23 宏正自动科技股份有限公司 使用者接口切换器系统及其数据传输方法
CN101902491A (zh) * 2009-05-26 2010-12-01 深圳市汉普电子技术开发有限公司 一种远程管理系统和控制装置
US20100327059A1 (en) * 2009-06-30 2010-12-30 Avocent Corporation Method and system for smart card virtualization

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108804068A (zh) * 2017-05-05 2018-11-13 晶涌科技股份有限公司 音频装置重导向系统的客户端及相关音频装置重导向方法
CN108804068B (zh) * 2017-05-05 2021-01-12 晶涌科技股份有限公司 音频装置重导向系统的客户端及相关音频装置重导向方法

Also Published As

Publication number Publication date
US9116821B2 (en) 2015-08-25
WO2012128972A1 (en) 2012-09-27
CN202854801U (zh) 2013-04-03
EP2689339A4 (en) 2014-11-26
TW201245968A (en) 2012-11-16
US20120246359A1 (en) 2012-09-27
EP2689339A1 (en) 2014-01-29

Similar Documents

Publication Publication Date Title
CN202854801U (zh) 用于usb设备的虚拟化的数据处理系统及usb虚拟化设备
CN202771417U (zh) 音频虚拟化装置和用于音频装置的虚拟化的数据处理系统
RU2696321C2 (ru) Контракты управления питанием для вспомогательных устройств
US6216188B1 (en) Computer system having computer provided with universal-serial-bus and device conforming to universal-serial-bus standard
US10181174B2 (en) Electronic apparatus, external apparatus and method of controlling the same
US20130179825A1 (en) System and method of managing states of computer screen and controlling mobile communication terminal
CN104246733A (zh) 用于通用串行总线设备的数据重定向
CN102449596A (zh) 用于智能卡虚拟化的方法和系统
US20160366239A1 (en) Systems and methods for enabling virtual keyboard-video-mouse for external graphics controllers
US20130318261A1 (en) Multi-Computers Network Sharing System Having Plug-and-Play Interfaces
US9519607B2 (en) Methods and systems for virtualization of storage services in an integrated chassis
CN102449578A (zh) 用于在客户端服务器网络中路由键击的方法和系统
CN103839398A (zh) 遥控器的键值信息处理方法及控制设备、遥控器
CA2881459A1 (en) Device and method for remote computer operation
US10126798B2 (en) Systems and methods for autonomously adapting powering budgeting in a multi-information handling system passive chassis environment
US10649941B2 (en) Server system and method for managing two baseboard management controllers
EP3635559B1 (en) System and method for maintenance of electronic programmable devices
CN212990087U (zh) 一种兼具远程控制的kvm设备
CN102375709B (zh) 信号处理系统
CN109669725A (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20121003