CN102216919B - 用于将usb设备连接到远程计算机的方法和装置 - Google Patents
用于将usb设备连接到远程计算机的方法和装置 Download PDFInfo
- Publication number
- CN102216919B CN102216919B CN200980141361.5A CN200980141361A CN102216919B CN 102216919 B CN102216919 B CN 102216919B CN 200980141361 A CN200980141361 A CN 200980141361A CN 102216919 B CN102216919 B CN 102216919B
- Authority
- CN
- China
- Prior art keywords
- usb
- data
- host computer
- response
- place
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/105—Program control for peripheral devices where the programme performs an input/output emulation function
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/323—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the physical layer [OSI layer 1]
Abstract
提供了一种方法和装置,能够将多个利用USB规范的标准USB外围设备分配在网络上的各个节点,其中,网络上的通信可以利用标准的、未更改的USB主机计算机的任何已经存在的网络连接性。具体地,添加了反射器功能,以将数据通信向已经存在的收发器反射。结果,主机计算机构建了第一简档和第二简档用于数据通信的目的,并使用这些特征以利用已经存在的数据通信部件在网络上进行通信。
Description
技术领域
本发明涉及用于在计算机和使用通用串行总线(USB)端口的设备之间传输信号的方法和装置,并且,更具体地,涉及一种用于操作在分布在数据通信网络上的多个USB外围设备的方法。
背景技术
通用串行总线(USB)是一种设计为允许一般用户将广泛的外围设备附接到个人计算机的技术。该技术支持所有常见的外围设备,例如,键盘、鼠标、扬声器、操纵杆、摄像头、闪存驱动器、硬盘驱动器、DVD驱动器、以及很多其他外围设备,并且它的使用在当前的计算机中普遍。
USB由计算机和通信市场上七家最大的公司的联盟创建。这些公司是Intel、Compaq、Microsoft、NorTel、NEC、Digital和IBM。定义USB的规范(例如,由Intel等于1996年1月提出的通用串行总线规范,版本1.0;在1998年9月23日更新为版本1.1,并在2000年4月进一步更新为版本2.0,以及后续更新、添加和修改—下面统称为“USB规范”,该术语可以包括将来的添加、修改和修订,尤其是用于公布为USB 3.0的开发下的这些添加)是非专有的,并由熟知为USB实施者论坛(USB-IF)的开放性工业组织来管理。USB规范建立了多个准则,为了符合USB标准,这些准则必须被满足。USB规范还定义了多个术语,出于用于本说明书的目的使用这些定义,并将这些定义通过参引的方式结合于此。
在USB规范下,通过优选安装在主机计算机中的USB主机控制器单元来管理数据通信。此外,数据通信发生在一系列的USB处理(transaction)中,其中每个USB处理均通过USB主机控制器开始,并由一个、两个或三个子动作(subaction)组成。每个子动作可以由一个或多个数据包组成,并通过数据流方向上的逆转而终止。
在内容通过参引的方式结合于此的本申请人的美国专利No.6381666中,提供了一种用于延伸主机计算机与外围设备之间的距离的方法和装置,其将可用距离增加到100米或更长。虽然在美国专利No.6381666中描述并此后在本申请人的美国专利No.7149833中进行了改进的该方法使得能够经由延长的距离并在存在长的传输延迟的情况下操作USB外围设备,但其没有描述通过使用主机计算机的联网能力获得延伸的范围的配置,在此也将美国专利No.7149833的内容通过参引的方式结合于此。
发明内容
当网络附接硬件的成本显著地高于USB附接硬件的成本时,重新使用主机计算机的通常已经存在的网络连接性而不是为了USB延伸目的而提供专用的连接的能力将是非常有益的。作为示例,提供到以太网的无线连接的收发器的成本明显地高于USB收发器的成本。如果主机计算机已经配备有用于网络附接的无线收发器,并且USB通信量(traffic)可以从主机计算机的USB端口“反射”回到其已经存在的无线联网端口,则可以省去附加的无线收发器的成本。采用光纤或电力线技术的网络也表现出高的收发器成本,并且可以受益于该相同的方法。
此外,在美国专利No.6381666和No.7149833中描述的方法不要求对主机计算机操作软件进行任何改变以获得延伸的距离的能力。如果这种属性能够被保持以提供最广泛的适用解决方案并保持系统的容易使用,这将是有利的。
因此,虽然如在US 6381666和US 7149833中描述的范围延伸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外围设备通过数据通信网络彼此连接,所述计算机系统包括:
a.用于生成和接受USB通信量的一个或多个主机计算机;
b.一个或多个USB外围设备,其能够响应于由该一个或多个主机计算机开始的USB通信量;
c.所述一个或多个主机计算机与数据通信网络之间的一个或多个网络连接;
d.USB反射器单元,其能够将从所述一个或多个主机计算机接收到的USB通信量反射回到所述一个或多个主机计算机;
e.一个或多个USB分配器单元,其连接到数据通信网络,并用于将所述一个或多个USB外围设备连接到数据通信网络;
f.USB反射器驱动器,其位于所述一个或多个主机计算机中,用于与USB反射器单元进行通信;以及
g.USB反射器应用(application),其用于将USB反射器驱动器与数据通信网络连接。
在另一方面,本发明提供一种USB反射器单元,其用于接受由一个或多个主机计算机生成的USB子动作,将所述USB子动作转换为一组转换的USB子动作,并将这组转换的USB子动作往回向所述一个或多个主机计算机反射。具体地,本发明提供了一种USB反射器单元,其用于接受由一个或多个主机计算机生成的USB子动作,将所述USB子动作转换为一组转换的USB子动作,并将这组转换的USB子动作往回向所述一个或多个主机计算机反射,该USB反射器单元包括:
a.至少一个USB收发器,其用于与至少一个主机计算机进行通信,以及
b.反射器核,其用于通过所述至少一个USB收发器接受和反射USB子动作,并且将USB子动作转换为一组转换的USB子动作。
在另一方面,本发明提供了一种反射器核单元,其用于通过所述至少一个USB收发器接受和反射USB子动作,并且将USB子动作转换为一组转换的USB子动作。具体地,本发明提供了一种反射器核单元,其用于通过所述至少一个USB收发器接受和反射USB子动作,并且将USB子动作转换为一组转换的USB子动作,该反射器核单元包括:
a.USB响应器,其用于解析USB命令并生成适当的USB响应;
b.数据包高速缓冲存储器,其用于存储USB子动作和转换的USB子动作;
c.状态表,其用于记录由反射器核单元支持的每个USB设备的配置和状态;
d.USB汇集器,其用于将从USB主机控制器接收的USB子动作转换为可以被反射回USB主机控制器的USB子动作;以及
e.控制器,其用于协调USB响应器、数据包高速缓冲存储器、状态表和USB汇集器的操作。
在另一方面,本发明提供了一种USB分配器单元,其用于接受从主机计算机接收的USB子动作并将这些USB子动作向多个USB外围设备转发,并且用于接受从所述多个USB外围设备接收的USB子动作并将这些USB子动作向主机计算机转发。更具体地,本发明提供了一种USB分配器单元,其用于接受从主机计算机接收的USB子动作并将这些USB子动作向多个USB外围设备转发,并且用于接受从所述多个USB外围设备接收的USB子动作并将这些USB子动作向主机计算机转发,该USB分配器单元包括:
a.至少一个USB收发器,其用于与所述多个USB外围设备通信;以及
b.分配器核,其用于通过所述至少一个USB收发器接受和转发USB子动作。
在另一方面,本发明提供了一种用于在数据通信网络上将数据从USB外围设备传输到主机计算机的方法。具体地,本发明提供了一种用于在数据通信网络上将数据从USB外围设备传输到主机计算机的方法,该方法包括:
a.在USB反射器单元处从第一主机计算机接收输入数据的第一请求;
b.将输入数据的第一请求存储在USB反射器单元处;
c.可选地,在USB反射器单元处用否定确认响应来对第一主机计算机进行响应;
d.在USB反射器单元处从第二主机计算机接收输入数据的第二请求;
e.用包含输入数据的第一请求的数据响应对第二主机计算机进行响应;
f.可选地,在USB反射器单元处接收来自第二主机计算机的确认响应;
g.在第二主机计算机处接收包含输入数据的第一请求的数据响应;
h.在第二主机计算机处在数据通信网络上转发接收到的包含输入数据的第一请求的数据响应;
i.在USB分配器单元处接收转发的包含输入数据的第一请求的数据响应;
j.在USB分配器单元处从所转发的数据响应中提取输入数据的第一请求;
k.在USB分配器单元处将所提取的输入数据的第一请求传输到USB外围设备;
l.在USB分配器单元处接收来自USB外围设备的第二数据响应;
m.可选地,在USB分配器单元处用确认响应来对USB外围设备进行响应;
n.在USB分配器单元处将所提取的输入数据的第一请求和第二数据响应组合为组合数据响应;
o.在USB分配器单元处在数据通信网络上转发该组合数据响应;
p.在第二主机计算机处接收所转发的组合数据响应;
q.在第二主机计算机处生成包含所转发的组合数据响应的输出数据的通知;
r.在USB反射器单元处接收所生成的包含转发的组合数据响应的输出数据的通知;
s.可选地,用确认响应来对第二主机计算机进行响应;
t.在USB反射器单元处存储接收到的包含转发的组合数据响应的输出数据的通知;
u.在USB反射器单元处从所存储的包含转发的组合数据响应的输出数据的通知中提取输入数据的第一请求和第二数据响应;
v.在USB反射器单元处从第一主机计算机接收输入数据的第二请求;
w.在USB反射器单元处使所提取的输入数据的第一请求与所接收的输入数据的第二请求相匹配;
x.在USB反射器单元处将所提取的第二数据响应转发到第一主机计算机;以及
y.可选地,从第一主机计算机获取确认响应。
在另一方面,本发明提供了一种在数据通信网络上将数据从主机计算机传输到USB外围设备的方法。具体地,本发明提供了一种用于在数据通信网络上将数据从主机计算机传输到USB外围设备的方法,该方法包括:
a.在USB反射器单元处从第一主机计算机接收输出数据的第一通知;
b.将输出数据的第一通知存储在USB反射器单元处;
c.可选地,在USB反射器单元处用否定确认响应来对第一主机计算机进行响应;
d.在USB反射器单元处从第二主机计算机接收输入数据的第一请求;
e.用包含输出数据的第一通知的数据响应对第二主机计算机进行响应;
f.可选地,在USB反射器单元处接收来自第二主机计算机的确认响应;
g.在第二主机计算机处接收包含输出数据的第一通知的数据响应;
h.在第二主机计算机处在数据通信网络上转发接收到的包含输出数据的第一通知的数据响应;
i.在USB分配器单元处接收所转发的包含输出数据的第一通知的数据响应;
j.在USB分配器单元处从所转发的数据响应中提取输出数据的第一通知;
k.在USB分配器单元处将所提取的输出数据的第一通知传输到USB外围设备;
l.在USB分配器单元处接收来自USB外围设备的第二确认响应;
m.在USB分配器单元处将所提取的输出数据的第一通知和第二确认响应组合为组合数据响应;
n.在USB分配器单元处在数据通信网络上转发该组合数据响应;
o.在第二主机计算机处接收所转发的组合数据响应;
p.在第二主机计算机处生成包含转发的组合数据响应的输出数据的通知;
q.在USB反射器单元处接收所生成的包含转发的组合数据响应的输出数据的通知;
r.可选地,用确认响应来对第二主机计算机进行响应;
s.在USB反射器单元处存储所接收的包含转发的组合数据响应的输出数据的通知;
t.在USB反射器单元处从所存储的包含转发的组合数据响应的输出数据的通知中提取输出数据的第一通知和第二确认响应;
u.在USB反射器单元处从第一主机计算机接收输出数据的第三通知;
v.在USB反射器单元处使所提取的输出数据的第一通知与所接收的输出数据的第三通知相匹配;以及
w.在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反射器通过多条USB链路连接到多个主机计算机,并且到达特定USB链路上的USB反射器处的USB通信量根据USB反射器可用的配置和通信量加载参数在任何可用的USB链路上反射回去。
在USB链路的优选实施例中,可以在USB链路的每一端处设置USB2.0收发器,并且这些收发器可以通过符合USB 2.0规范的线缆进行连接。
在USB链路的另一优选实施例中,可以在USB链路的每一端处设置USB 3.0收发器,并且这些收发器可以通过符合USB 3.0规范的线缆进行连接。
在USB链路的又一优选实施例中,可以在USB链路的每一端处设置经认证的无线USB收发器,并且这些收发器可以通过无线电进行连接。
在USB链路的又一优选实施例中,可以在USB链路的每一端处设置高速芯片间收发器,并且这些收发器可以通过印刷电路板上的迹线进行连接。
附图说明
从附图中将能更好地理解关于本发明的结构、构成、使用和操作方法的被认为是表示本发明特征的新颖特征以及本发明进一步的目的和优点,在附图中将通过示例的方式示出了本发明的当前优选实施例。然而,应当明确理解的是,附图仅仅出于图示和描述的目的,不应理解为限定本发明。本发明的实施例将结合附图以示例的方式来描述,在附图中:
图1是根据现有技术的USB规范的典型USB系统的框图;
图2是根据现有技术的USB延长器系统的框图;
图3是根据本发明的USB系统的框图;
图4是根据本发明的优选USB系统的框图;
图5是根据本发明的另一优选USB系统的框图;
图6是根据本发明的USB反射器以及示出多个主机计算机选项的多个主机控制器的框图;
图7是根据本发明的优选USB反射器以及示出单个主机计算机选项的两个主机控制器的框图;
图8是根据本发明的另一优选USB反射器以及示出单个主机计算机选项的的单个主机控制器的框图;
图9是根据本发明的反射器核的框图;
图10是根据本发明的USB分配器的框图;
图11是根据本发明的主机计算机软件栈的框图;
图12是示出从USB外围设备到主机计算机的数据传输的序列图;以及
图13是示出从主机计算机到USB外围设备的数据传输的序列图。
具体实施方式
图1是根据USB规范组装的现有技术系统的框图。根据USB规范,USB可用的主机计算机(10)可以通过一个或一系列的USB集线器(16)连接到一个或多个USB设备(17)。设备不能连接到另一设备,并且在单个连续的系列中能够连接的集线器的最大数量为5。设备也可以直接连接到主机计算机。用来将计算机、集线器或设备互连的每个线缆的最大长度为5米。
图2示出了根据现有技术的用于延伸USB范围的系统。标准的未更改的主机计算机(10)通过本地延长器单元(93)、长线缆(13)和远程延长器单元(94)与标准的未更改的USB外围设备(17)通信。USB集线器(16)也可以连接在远程延长器单元(94)与USB外围设备(17)之间,以使多个USB外围设备能够由单个主机计算机控制。
在根据该方案的“数据读取”示例中,主机计算机(10)通过USB线缆(95)将USB子动作发送到本地延长器单元(93)。由USB收发器(97a)接收USB子动作,并将其转发至本地延长器逻辑部(90)(localextender logic)。本地延长器逻辑部(90)格式化USB子动作,用于通过网络收发器(92a)、长线缆(13)和网络收发器(92b)将其传输到远程延长器逻辑部(91)。本地延长器逻辑部(90)还可以生成确认子动作,用于通过USB收发器(97a)和USB线缆(95)将其传输到主机计算机(10)。一旦接收到USB子动作,远程延长器逻辑部(91)便转换USB子动作的格式以用于在USB上传输,并通过USB收发器(97b)、USB线缆(96)以及(可选地)USB集线器(16)将USB子动作转发到USB外围设备(17)。
一旦在USB外围设备(17)处接收到USB子动作,则USB外围设备可以生成响应子动作,并通过USB线缆(96)和USB收发器(97b)将该响应子动作转发到远程延长器逻辑单元(91)。远程延长器逻辑单元将响应子动作格式化,以通过网络收发器(92b)、长线缆(13)和网络收发器(92a)将其传输到本地延长器逻辑部(90),然后该响应子动作存储在该本地延长器逻辑部(90)处以供稍后使用。远程延长器逻辑部(91)还可以生成确认子动作,用于通过USB收发器(97b)和USB线缆(96)将其传输到USB外围设备(17)。
稍后,主机计算机(10)可以重复用于USB外围设备(17)的原始USB子动作。该重复的动作还通过USB线缆(95)和USB收发器(97a)传输到本地延长器逻辑部(90)。当重复的USB子动作被本地延长器逻辑部(90)接收时,本地延长器逻辑部(90)从存储部中检索响应子动作,并通过USB收发器(97a)和USB线缆(95)将该响应子动作传输到主机计算机(10)。
对本领域技术人员显而易见的是,长线缆(13)可以被具有到本地延长器单元(93)的连接和到远程延长器单元(94)的另一连接的数据通信网络所代替。
应当注意,图2的现有技术系统需要设置两个网络收发器(92a、92b),在长线缆(13)的每端设置一个。
关于本发明,对本领域技术人员显而易见的是,网络收发器可以是昂贵的元件,因此将占据本地延长器和远程延长器单元的主要成本。应当进一步理解,如果可以从本地延长器单元(93)中去除网络收发器(92a),则可以实现整个USB延长器系统成本的显著减少。同样对本领域技术人员显而易见的是,出于数据通信的目的,主机计算机通常预先配备有网络收发器。
同样对本领域技术人员显而易见的是,网络收发器必须与用于将网络收发器物理地连接到长线缆(13)的装置或等效数据通信网络相关联或必须结合有所述装置或等效数据通信网络。物理连接装置通常可以呈用于无线通信的天线、用于电通信的RJ45插口、或者用于光通信的双LC插口的形式。将进一步清楚,如果与网络收发器(92a)相关联的物理连接装置也能够被去除,则本地延长器单元(93)的物理尺寸可以被减小,并且本地延长器单元能够被访问且稳固以用于线缆附接目的的要求能够被消除。
同样对本领域技术人员显而易见的是,为了实现在延伸的距离上的可靠通信,网络收发器可能消耗大量的电力。通过从本地延长器单元(93)中去除网络收发器(92a),可以实现本地延长器单元(93)电力消耗的显著减少,从而实现较低的散热以及较小的尺寸和成本。
图3是根据本发明的USB系统的框图。在该布置中,每个USB外围设备(17)直接地或者通过一个或一系列的USB集线器(16)连接到USB分配器(15)。每个USB分配器还连接到数据通信网络(14)。此外,在该布置中,USB反射器(11)连接到一个或多个主机计算机(10、12)。主机计算机中的至少一个必须具有到数据通信网络(14)的连接。在该系统中,主机计算机12具有这种连接,并且在不具有到数据通信网络(14)的有源连接的第一主机计算机(10)和具有到数据通信网络(14)的有源连接的第二主机计算机(12)之间进行了区分。
当第一主机计算机(10)希望与USB外围设备(17)通信但缺乏到数据通信网络(14)的有源连接时,第一主机计算机(10)将USB子动作传输到USB反射器(11),于是USB反射器(11)将USB子动作向第二主机计算机(12)“反射”。USB反射器(11)还优选地确保对第一主机计算机(10)和第二主机计算机(12)生成所有必要的确认,以满足USB定时的需要。当USB子动作被主机计算机(12)接收到时,使用第二主机计算机(12)的已经存在的数据网络在数据通信网络(14)上将该子动作转发到USB分配器(15)。然后,USB分配器(15)直接地或者通过中间USB集线器(16)将USB子动作转发到USB外围设备(17)。类似的操作适用于在从USB外围设备(17)到主机计算机(10)的相反方向上传播的数据或子动作。
通过“反射”意味着由USB主机控制器发出到USB外围设备的USB子动作被USB反射器单元截取,插入到一个或多个产生的USB子动作中,并返回到原始USB主机控制器,或者返回到替代性的主机控制器,作为属于USB反射器单元而不是属于USB外围设备的USB子动作。因此,通过USB反射器单元将USB子动作从一个USB主机控制器“反射”到另一个USB主机控制器,或者“反射”到同一USB主机控制器。主机控制器可以“看到”反射回到自身的其自己的子动作,或者可以“看到”来自另一主机控制器的反射的子动作。
USB反射器(11)可以是独立的装置,或者可以是结合在主机计算机(10)或(12)的结构中的虚拟装置。
在本发明的该实施例中,选择了三个USB分配器、两个第一主机计算机和两个第二主机计算机的特定布置。然而,对本领域技术人员显而易见的是,装置的这种选择不构成对本发明范围的限制,并且可以使用不同数量的这些USB分配器和主机计算机,并且替代性的连接布置也是可能的。
此外,在本发明的该实施例中,第一主机计算机(10)和第二主机计算机(12)被示作单独的单元。同样对本领域技术人员显而易见的是,第一主机计算机和第二主机计算机的功能可以被组合到具有到网络(14)的有源数据通信连接的任何主机计算机中。
此外,在本发明的该实施例中,数据通信网络(14)被示作支持多个连接。同样对本领域技术人员显而易见的是,数据通信网络可以仅支持到单个第二主机计算机(12)的单个连接以及到单个USB分配器(15)的单个连接,并因此可以被单个第二主机计算机与单个USB分配器之间的点对点连接所代替。
图4是根据本发明的另一优选USB系统的框图。在该配置中,仅需要执行图3中的第一主机计算机和第二主机计算机两者的功能的单个主机计算机(12)。在该布置中,USB反射器(11)需要使用将在后面描述的第一和第二“简档(profile)”机制(mechanism)将来自主机计算机(12)的USB信号向同一主机计算机(12)反射。
图5是根据本发明的又一优选USB系统的框图。在该布置中,用作简单数据通信网络的点对点连接(13)设置在主机计算机(12)和USB分配器(15)之间。对本领域技术人员显而易见的是,可以通过包括双绞线缆、同轴线缆、光纤线缆以及无线方式在内的多种通信介质提供点对点连接(13)。
图6是根据本发明的USB反射器(11)以及示出了不同主机计算机选项的多个主机控制器的框图。在该布置中,USB反射器(11)包括反射器核单元(23)以及一个或多个USB收发器(22)。反射器核单元(23)提供用于从USB收发器(22)接收USB子动作、格式化该USB子动作并将其传输到USB收发器(22)、并且在USB收发器之间转发USB子动作的机制。每个USB收发器(22)均被连接到位于主机(10、12)中的主机控制器(21)。
在支持图6的系统的操作时,USB反射器(11)需要具有至少两个单独但相关的简档。第一简档被呈现给第一主机计算机(10),并表示连接到USB分配器(15)的USB外围设备(17)和集线器(16)的数量。第一简档对在第一主机计算机(10)与USB外围设备(17)和USB集线器(16)之间传输的USB子动作作出反应。因此,第一简档响应于由第一主机计算机(10)分配给USB外围设备(17)的每个唯一的USB地址。第一简档必须被呈现给至少一个第一或第二主机计算机(10、12)。
第二简档被呈现给第二主机计算机(12),并表示作为传统USB设备的USB反射器(11)的USB接口。第二简档支持USB反射器(11)的USB列举,并提供USB端点,用于通过第二主机计算机(12)在数据通信网络(14)上传输将被交接的USB子动作。因此,第二简档响应于由第二主机计算机(12)分配给USB反射器(11)的唯一USB地址。第二简档必须被呈现给至少一个第二主机计算机(12)。
USB反射器(11)内的反射器核逻辑部(23)需要实现第一简档和第二简档,以在第一简档和第二简档之间传输USB子动作,并执行传输期间可能需要的任何数据转换动作。
在本发明的该实施例中,选择了四个USB收发器(22)的特定布置。对本领域技术人员显而易见的是,可以使用不同数量的USB收发器,并且每个USB收发器可与不同版本的USB规范相兼容。支持USB 1.1、USB 2.0、USB 3.0、经认证的无线USB或高速芯片间USB的USB收发器都是适当的收发器单元的示例。
此外,在本发明的该实施例中,选择了四个USB主机控制器(21)、一个第一主机计算机(10)和一个第二主机计算机(12)的特定布置。对本领域技术人员显而易见的是,不同的布置也是可能的。USB反射器(11)需要具有至少一个USB收发器(22),并且每个USB收发器(22)必须连接到单个主机控制器(21)。每个主机计算机(10、12)必须具有至少一个主机控制器(21)。
可以对包含在每个第一主机计算机内的每个单独的主机控制器提供单独的第一简档,并且可以对每个第二主机计算机内的每个单独的主机控制器提供第二简档。
图7是根据本发明的优选USB反射器以及示出单个主机计算机选项的两个主机控制器的框图。在该布置中,USB反射器(11)包括反射器核(23)和经由两个USB链路(25a、25b)连接到两个主机控制器(21a、21b)的两个USB收发器(22a、22b)。在该配置中,USB反射器(11)可以通过USB收发器(22a)将其第一简档呈现给主机控制器(21a),并通过USB收发器(22b)将其第二简档呈现给主机控制器(21b)。主机计算机(12)需要执行第一主机计算机和第二主机计算机两者的功能。
在本发明的该实施例中,USB收发器(22a、22b)被示作单独的单元,USB主机控制器(21a、21b)被示作单独的单元,并且USB链路(25a、25b)被示作单独的链路。对本领域技术人员显而易见的是,其他配置也是可能的,并且多个单元可以被集成到一起。同样对本领域技术人员显而易见的是,USB收发器(22a)可以符合USB 2.0的要求,并且USB收发器(22b)可以符合USB 3.0的要求,并且USB链路(25a、25b)可以在符合USB 3.0要求的单个线缆中实现。
图8是根据本发明的另一优选USB反射器以及示出了单个主机计算机选项的单个主机控制器的框图。在该布置中,USB反射器(11)包括反射器核(23)和通过内部USB集线器(29)连接到单个主机控制器(21)的两个USB收发器(22a、22b)。在该配置中,USB反射器(11)可以通过第一USB收发器(22a)将其第一简档呈现给主机控制器(21),并通过第二USB收发器(22b)将其第二简档呈现给主机控制器(21)。
在本发明的该实施例中,内部USB集线器(29)被示作支持到收发器(22a、22b)的两个下游链路。对本领域技术人员显而易见的是,更多数量的下游链路也是可能的,并且可以通过下游链路呈现附加的简档。
此外,在本发明的该实施例中,内部USB集线器(29)被示作包含在USB反射器(11)内的单独的单元。对本领域技术人员显而易见的是,内部USB集线器(29)可以是在定位在USB反射器(11)的外部的独立单元。对本领域技术人员进一步显而易见的是,内部USB集线器(29)可以是根据在本申请人的共同未决的美国专利公开No.2008/0028120中提供的内容的在反射器核(23)内实现的虚拟单元。
图9是根据本发明的反射器核(23)的框图。在该布置中,USB响应器单元(30)通过一个或多个连接(35)连接到一个或多个USB收发器。USB响应器(30)能够通过连接(35)接收USB子动作,以将接收的子动作存储在数据包高速缓冲存储器(31)中,从数据包高速缓冲存储器(31)中检索USB子动作,生成合成的USB子动作,以及通过连接(35)传输USB子动作。USB响应器(30)还能够更新状态表(33),以记录接收、存储、检索、生成和传输操作的发生。
USB汇集器34连接到数据包高速缓冲存储器(31)和状态表(33),并且能够从数据包高速缓冲存储器(31)中检索属于第一简档的USB子动作,将第一USB子动作转换为适合在第二简档下传输的格式,并将转换的USB子动作存储在数据包高速缓冲存储器(31)中。USB汇集器(34)还能够从数据包高速缓冲存储器(31)中检索属于第二简档的USB子动作,将第二USB子动作转换为适合在第一简档下传输的格式,并且将转换的USB子动作存储在数据包高速缓冲存储器(31)中。USB汇集器(34)还能够将多个原始USB子动作汇集成单个汇集的USB子动作,并将汇集的USB子动作拆分成多个原始USB子动作。USB汇集器(34)还能够更新状态表(33),以记录检索、转换、存储、汇集和拆分操作的发生。
控制器(32)能够协调USB响应器(30)、数据包高速缓冲存储器(31)、状态表(33)和USB汇集器(34)的操作。根据USB规范,出于配置和控制的目的,每个USB设备必须支持控制端点(端点0)。控制器(32)还能够响应于在其控制端点上发布到USB反射器(11)的USB请求。
图10是根据本发明的USB分配器(15)的框图。在该布置中,网络收发器(40)在通信链路(49)上连接到数据通信网络(14)。USB收发器(47)通过USB链路(48)连接到USB集线器(16)或USB设备(17)。
可以通过网络收发器(40)从数据通信网络(14)接收包含USB子动作信息的数据包,并将其转发到链路管理器(41)。链路管理器(41)可以负责检查数据包的完整性,如果发现出现错误则请求重新传输,并且去除在数据通信网络(14)上进行传输所需要的任何数据包封装和网络寻址信息。然后,通过链路管理器(41)将包含的USB子动作信息转发到USB分散器(42),该USB分散器(42)负责识别各个USB子动作,将各个USB子动作存储在数据包高速缓冲存储器(43)中,并更新状态表(45)以指示数据包高速缓冲存储器(43)中USB子动作的存在。
USB响应器(46)能够从数据包高速缓冲存储器(43)中检索USB子动作,并通过USB收发器(47)传输USB子动作。USB响应器(46)还能够从USB收发器(47)接受USB子动作,将所接受的USB子动作存储在数据包高速缓冲存储器(43)中,更新状态表(45)以指示数据包高速缓冲存储器(43)中USB子动作的存在,生成合成USB子动作,并通过USB收发器(47)传输该合成USB子动作。
类似地,当数据流在从USB分配器(15)到USB反射器(11)的方向上时,USB分散器(42)能够从数据包高速缓冲存储器(43)中检索USB子动作,可选地将多个USB子动作汇集成单个数据包,并且将改单个数据包转发到链路管理器(41),以用于在数据通信网络(14)上传输。
图11是根据本发明的在第二主机计算机(12)内运行的主机计算机软件栈的框图。在该布置中,USB驱动器(62)操作一个或多个主机控制器驱动器(63),所述一个或多个主机控制器(63)则操作一个或多个主机控制器(21a、21b)。USB驱动器(62)、主机控制器驱动器(63)和主机控制器(21a、21b)一起的该布置支持根据USB规范的一个或多个USB链路(70)和USB驱动器接口(72)。
此外,在该布置中,可以安装一个或多个USB设备驱动器(60),以控制USB集线器(16)(未示出)和USB设备(17)(未示出),在该布置中,第一主机计算机和第二主机计算机的功能被组合到一个集成的主机计算机中。
此外,在该布置中,设有数据通信栈,其包括TCP/IP模块(66)、NDIS(网络驱动器接口规范)模块(67)和网络收发器(68)。数据通信栈用来实现通过数据链路(71)与数据通信网络(14)(未示出)进行通信。
另外,在该布置中,USB反射器驱动器(61)在USB驱动器接口(72)上工作,以提供支持USB反射器(11)(未示出)的USB驱动器功能。USB反射器驱动器(61)对USB反射器(11)的第二简档进行操作。该第二简档支持USB反射器(11)的USB列举,并提供USB端点,用于通过第二主机计算机(12)在数据通信网络(14)上传输将被交接的USB子动作。此外,在该布置中,USB反射器应用(65)提供USB反射器驱动器(61)与TCP/IP模块(66)之间的桥接。USB反射器应用(65)能够从USB反射器驱动器(61)处接收USB子动作,并封装USB子动作,用于在数据通信网络(14)上传输。
然而,对本领域技术人员显而易见的是,该布置不需要对通常包含在操作系统内核内的软件(尤其是存在于包括USB驱动器(62)和主机控制器驱动器(63)的USB驱动器接口(72)“下”的软件)进行任何添加或改变。还应当清楚,不需要对已经存在的设备驱动器(60)进行改变。
现在将通过下面的示例进一步解释图11的布置的操作,其中,USB反射器(11)的第一简档通过第一主机控制器(21a)进行操作,并且USB反射器(11)的第二简档通过第二主机控制器(21a)进行操作,以实现数据从USB设备(17)流到主机控制器(21a)的USB处理。
通过原始设备驱动器(60)开始USB处理,原始设备驱动器(60)最终使USB IN子动作通过第一主机控制器(21a)发出。由USB反射器(11)的第一简档截取USB IN子动作,并由USB反射器(11)通过其第二简档将其作为USB DATA子动作反射回去。响应于由第二主机控制器(21b)生成的USB IN子动作,由第二主机控制器(21b)接收USB DATA子动作,并将其在USB堆栈上向上传递至USB反射器驱动器(61)。USB反射器驱动器(61)确保生成足以防止USB反射器(11)中的数据缓冲溢流的USB IN子动作的流。然后,USB反射器驱动器(61)从接收的USB DATA子动作中提取原始USB IN子动作,并将提取的USB IN子动作传递到USB反射器应用(65),用于在数据网络(14)上将其传输到USB分配器(15)。
响应于在USB分配器(14)处接收的USB子动作,USB DATA子动作最终将在数据通信网络(14)上传输,并由USB反射器应用(65)接收。然后,将接收的USB DATA子动作传递到USB反射器驱动器(61),以将其重新传输到原始设备驱动器(60)。USB反射器驱动器(61)通过将接收的USB DATA子动作封装为USB OUT/DATA子动作以及通过USB驱动器(62)和第二主机控制器(21b)将USBOUT/DATA子动作发送到USB反射器(11)的第二简档来开始重新传输。由USB反射器(11)的第二简档接收该USB OUT/DATA子动作,然后由USB反射器(11)提取USB DATA子动作,并使其通过USB反射器(11)的第一简档可用。然后,当第一主机控制器(21a)向原始设备发布重复的USB IN子动作时,所提取的USB DATA子动作被返回到第一主机控制器(21a)。
在本发明的该实施例中,示出了包括TCP/IP模块(66)、NDIS模块(67)和网络收发器模块(68)的特定数据通信栈。对本领域技术人员显而易见的是,替代性的数据通信栈也是可用的,并且可以在单个主机计算机中实现多个数据通信栈。
此外,在本发明的该实施例中,USB反射器驱动器(61)被示作与一个或多个设备驱动器(60)共存。对本领域技术人员显而易见的是,其他布置也是可能的,并且USB设备驱动器(60)可以安装在独立的主机计算机(10)中。
此外,虽然主机控制器21a、21b被单独地识别,但应当了解,单个主机控制器或任何数量的主机控制器均可采用。
图12是示出了根据本发明的从USB外围设备到主机计算机的数据传输的序列图。
第一主机计算机(10)中的控制逻辑部(50)通过向USB反射器(11)发布第一IN子动作来开始数据传输。第一IN子动作寻址到与USB外围设备(17)相关联的第一USB地址和端点(A1,E1)。第一IN子动作由USB反射器(11)中的控制逻辑部(51)接收,并被存储在本地存储器中。控制逻辑部(51)可以生成与和端点(E1)相关联的USB端点类型相兼容的合成确认子动作。该合成确认子动作可以包括USBNAK数据包。
稍后,第二主机计算机(12)中的控制逻辑部(52)向USB反射器(11)发布第二IN子动作。第二IN子动作寻址到与USB反射器(11)的第二简档相关联的第二USB地址和端点(A2,E3)。USB反射器(11)中的控制逻辑部(51)接收第二IN子动作,并利用第一DATA子动作进行响应,其中有效负荷(payload)包括所存储的第一IN子动作。第二主机计算机(12)中的控制逻辑部(52)接收第一DATA子动作,并且可以通过将ACK子动作传输到USB反射器(11)来确认成功接收。
然后,第二主机计算机(12)中的控制逻辑部(52)从所接收的第一DATA子动作中提取第一IN子动作,并组合包括所提取的第一IN子动作的第一网络数据包。控制逻辑部(52)在数据通信网络(14)上将第一网络数据包转发到USB分配器(15)。USB分配器(15)中的控制逻辑部(53)接收第一网络数据包,从该第一网络数据包中提取第一IN子动作,并将所提取的第一IN子动作转发到USB外围设备(17)。
然后,由USB外围设备(17)中的控制逻辑部(54)接收所转发的第一IN子动作。控制逻辑部(54)生成第二DATA子动作,并将该生成的第二DATA子动作转发到USB分配器(15)。由USB分配器(15)中的控制逻辑部(53)接收所转发的第二DATA子动作。控制逻辑部(53)可生成与和端点(E1)相关联的USB端点类型相兼容的合成确认子动作。该合成确认可以包括USB ACK数据包。控制逻辑部(53)还将所提取的第一IN子动作和所接收的第二DATA子动作组成第二网络数据包,并在数据通信网络(14)上将第二网络数据包转发到第二主机计算机(12)。
随后,第二主机计算机(12)中的控制逻辑部(52)接收所转发的第二网络数据包,并提取第一IN子动作和第二DATA子动作,并组成包括第一IN子动作和第二DATA子动作的第一OUT子动作。控制逻辑部(52)将第一OUT子动作传输到USB反射器(11)。第一OUT子动作寻址到与USB反射器(11)的第二简档相关联的第三USB地址和端点(A2,E4)。控制逻辑部(51)接收第一OUT子动作,提取第一IN子动作和第二DATA子动作,并将所提取的第一IN子动作和所提取的第二DATA子动作存储在本地存储器中。
再然后,第一主机计算机(10)中的控制逻辑部(50)向USB反射器(11)发布第三IN子动作。该第三IN子动作再次寻址到与USB外围设备(17)相关联的第一USB地址和端点(A1,E1)。USB反射器(11)中的控制逻辑部(51)接收第三IN子动作,并识别出第三IN子动作被寻址到与所存储的第一IN子动作相同的地址和端点(A1,E1)。控制逻辑部(51)从本地存储器中检索所存储的第二DATA子动作,并将检索到的第二DATA子动作转发到第一主机计算机(10)。第一主机计算机(10)中的控制逻辑部(50)可以生成与和端点(E1)相关联的USB端点类型相兼容的合成确认子动作。该合成确认可以包括USB ACK数据包。
图13是示出从主机计算机到USB外围设备的数据传输的序列图。
第一主机计算机(10)中的控制逻辑部(50)通过向USB反射器(11)发布第一OUT子动作来开始数据传输。第一OUT子动作寻址到与USB外围设备(17)相关联的第一USB地址和端点(A1,E2)。第一OUT子动作由USB反射器(11)中的控制逻辑部(51)接收,并被存储在本地存储器中。控制逻辑部(51)可以生成与和端点(E1)相关联的USB端点类型相兼容的合成确认子动作。该合成确认可以包括USBNAK数据包。
稍后,第二主机计算机(12)中的控制逻辑部(52)向USB反射器(11)发布第一IN子动作。第二IN子动作寻址到与USB反射器(11)的第二简档相关联的第二USB地址和端点(A2,E3)。USB反射器(11)中的控制逻辑部(51)接收第一IN子动作,并利用第一DATA子动作进行响应,其中有效负荷包括所存储的第一OUT子动作。第二主机计算机(12)中的控制逻辑部(52)接收第一DATA子动作,并且可以通过将ACK子动作传输到USB反射器(11)来确认成功接收。
随后,第二主机计算机(12)中的控制逻辑部(52)从所接收的第一DATA子动作中提取第一OUT子动作,并组成包括所提取的第一OUT子动作的第一网络数据包。控制逻辑部(52)在数据通信网络(14)上将第一网络数据包转发到USB分配器(15)。USB分配器(15)中的控制逻辑部(53)接收第一网络数据包,从该第一网络数据包中提取第一OUT子动作,并将所提取的第一OUT子动作转发到USB外围设备(54)。
之后,由USB外围设备(17)中的控制逻辑部(54)来接收所转发的第一OUT子动作。控制逻辑部(54)生成第二确认子动作,并将该生成的第二确认子动作转发到USB分配器(15)。由USB分配器(15)中的控制逻辑部(53)来接收所转发的第二确认子动作。控制逻辑部(53)还将所提取的第一OUT子动作和所接收的第二确认子动作组成第二网络数据包,并在数据通信网络(14)上将该第二网络数据包转发到第二主机计算机(12)。
然后,第二主机计算机(12)中的控制逻辑部(52)接收所转发的第二网络数据包,提取第一OUT子动作和第二确认子动作,并组成包括第一OUT子动作和第二确认子动作的第二OUT子动作。控制逻辑部(52)将第二OUT子动作传输到USB反射器(11)。第二OUT子动作寻址到与USB反射器(11)的第二简档相关联的第三USB地址和端点(A2,E4)。控制逻辑部(51)接收第二OUT子动作,提取第一OUT子动作和第二确认子动作,并将所提取的第一OUT子动作和所提取的第二确认子动作存储在本地存储器中。
再然后,第一主机计算机(10)中的控制逻辑部(50)向USB反射器(11)发布第三OUT子动作。该第三OUT子动作再次寻址到与USB外围设备(17)相关联的第一USB地址和端点(A1,E2)。USB反射器(11)中的控制逻辑部(51)接收第三OUT子动作,并识别出第三OUT子动作被寻址到与所存储的第一OUT子动作相同的地址和端点(A1,E2)。控制逻辑部(51)从本地存储器中检索所存储的第二确认子动作,并将检索到的第二确认子动作转发到第一主机计算机(10)。
虽然未示出,但应当理解,如上所述,主机计算机10和主机计算机12可以是同一个主机计算机,或者是两个或更多个单独的主机计算机。
因此,显而易见的是,根据本发明提供了用于将USB设备连接到远程计算机的方法和装置,其完全满足以上描述的目的、目标和优点。因此,在描述了本发明的具体实施例的情况下,应当理解其替代、修改和变型已经暗示给本领域技术人员,并且本发明意在包括落入所附权利要求范围内的所有这种替代、修改和变型。
此外,为了清楚起见,除非另有说明,否则当词“包括”在本说明书的描述和权利要求中使用时,其不表示排除其他添加、成分、整体或步骤。
此外,词语“基本”或“主要”当与形容词或副词一同使用时,意在增大特定特征的范围;例如,基本平坦意味着平坦、接近平坦和/或表现出与平坦的元件相关联的特性。
此外,术语“他”或“他的”的使用并不意味着特别针对男性,并且可以容易地理解为“她”或“她的”。
此外,虽然本论述讨论了发明人已知的现有技术,但并不是承认所有论述的技术对本申请都是可引用的。
Claims (14)
1.一种用于在一个或多个主机计算机与一个或多个USB外围设备之间传输USB通信量的计算机系统,其中,所述一个或多个主机计算机和所述一个或多个USB外围设备通过数据通信网络彼此连接,所述计算机系统包括:
a.一个或多个主机计算机,其用于生成和接受USB通信量;
b.一个或多个USB外围设备,其能够响应于由所述一个或多个主机计算机开始的USB通信量;
c.所述一个或多个主机计算机与所述数据通信网络之间的一个或多个网络连接;
d.USB反射器单元,其能够将从所述一个或多个主机计算机接收到的USB通信量反射回到所述一个或多个主机计算机;
e.一个或多个USB分配器单元,其连接至所述数据通信网络,并用于将所述一个或多个USB外围设备连接到所述数据通信网络;
f.USB反射器驱动器,其位于所述一个或多个主机计算机中,用于与所述USB反射器单元进行通信;以及
其中利用反射器应用将所述USB反射器驱动器与所述数据通信网络相连接。
2.根据权利要求1所述的计算机系统,其中,所述一个或多个主机计算机根据USB规范进行操作。
3.根据权利要求1所述的计算机系统,其中,所述数据通信网络是主机计算机与USB分配器单元之间的点对点链路。
4.根据权利要求1所述的计算机系统,其中,所述USB通信量由USB子动作组成。
5.根据权利要求1所述的计算机系统,其中,所述USB反射器单元通过USB连接到所述一个或多个主机计算机。
6.根据权利要求1所述的计算机系统,其中,所述USB反射器单元的功能被集成到所述一个或多个主机计算机中。
7.根据权利要求1所述的计算机系统,其中,所述一个或多个主机计算机包括至少一个主机计算机数据通信收发器,并且其中,利用所述主机计算机数据通信收发器来进行所述反射器单元与所述数据通信网络之间的通信。
8.一种反射器核单元,其用于通过至少一个USB收发器来接受和反射USB子动作,并且将USB子动作转换为一组转换的USB子动作,所述反射器核单元包括:
a.USB响应器,其用于解析USB命令并生成适当的USB响应;
b.数据包高速缓冲存储器,其用于存储USB子动作和转换的USB子动作,
其中由所述反射器核单元支持的每个USB设备的配置和状态被记录在状态表中;
c.USB汇集器,其用于将从USB主机控制器接收的USB子动作转换为可以被反射回到USB主机控制器的USB子动作;以及
d.控制器,其用于协调所述USB响应器、所述数据包高速缓冲存储器、所述状态表和所述USB汇集器的操作。
9.一种用于在数据通信网络上从USB外围设备向主机计算机传输数据的方法,所述方法包括:
a.在USB反射器单元处从第一主机计算机接收输入数据的第一请求;
b.将所述输入数据的第一请求存储在所述USB反射器单元处;
c.在所述USB反射器单元处用否定确认响应来对所述第一主机计算机进行响应;
d.在所述USB反射器单元处从第二主机计算机接收输入数据的第二请求;
e.用包含所述输入数据的第一请求的数据响应对所述第二主机计算机进行响应;
f.在所述USB反射器单元处接收来自所述第二主机计算机的确认响应;
g.在所述第二主机计算机处接收包含所述输入数据的第一请求的所述数据响应;
h.在所述第二主机计算机处在数据通信网络上转发接收到的包含所述输入数据的第一请求的所述数据响应;
i.在USB分配器单元处接收转发的包含所述输入数据的第一请求的所述数据响应;
j.在所述USB分配器单元处从转发的所述数据响应中提取所述输入数据的第一请求;
k.在USB分配器单元处将所提取的所述输入数据的第一请求传输到USB外围设备;
l.在USB分配器单元处接收来自USB外围设备的第二数据响应;
m.在USB分配器单元处用确认响应来对所述USB外围设备进行响应;
n.在USB分配器单元处将所提取的所述输入数据的第一请求和所述第二数据响应组合为组合数据响应;
o.在所述USB分配器单元处在数据通信网络上转发所述组合数据响应;
p.在所述第二主机计算机处接收转发的所述组合数据响应;
q.在所述第二主机计算机处生成包含转发的所述组合数据响应的输出数据的通知;
r.在所述USB反射器单元处接收所生成的包含转发的所述组合数据响应的所述输出数据的通知;
s.用确认响应来对所述第二主机计算机进行响应;
t.在所述USB反射器单元处存储所接收的包含转发的所述组合数据响应的所述输出数据的通知;
u.在所述USB反射器单元处从所存储的包含转发的所述组合数据响应的所述输出数据的通知中提取所述输入数据的第一请求和所述第二数据响应;
v.在所述USB反射器单元处从第一主机计算机接收输入数据的第二请求;
w.在所述USB反射器单元处使所提取的所述输入数据的第一请求与所接收的所述输入数据的第二请求相匹配;
x.在所述USB反射器单元处将所提取的所述第二数据响应转发到所述第一主机计算机;以及
y.从所述第一主机计算机获取确认响应。
10.一种用于在数据通信网络上从USB外围设备向主机计算机传输数据的方法,所述方法包括:
a.在USB反射器单元处从第一主机计算机接收输入数据的第一请求;
b.将所述输入数据的第一请求存储在所述USB反射器单元处;
c.在所述USB反射器单元处从第二主机计算机接收输入数据的第二请求;
d.用包含所述输入数据的第一请求的数据响应对所述第二主机计算机进行响应;
e.在所述第二主机计算机处接收包含所述输入数据的第一请求的所述数据响应;
f.在所述第二主机计算机处在数据通信网络上转发接收到的包含所述输入数据的第一请求的所述数据响应;
g.在USB分配器单元处接收转发的包含所述输入数据的第一请求的所述数据响应;
h.在所述USB分配器单元处从转发的所述数据响应中提取所述输入数据的第一请求;
i.在USB分配器单元处将所提取的所述输入数据的第一请求传输到USB外围设备;
j.在USB分配器单元处接收来自USB外围设备的第二数据响应;
k.在USB分配器单元处将所提取的所述输入数据的第一请求和所述第二数据响应组合为组合数据响应;
l.在所述USB分配器单元处在数据通信网络上转发所述组合数据响应;
m.在所述第二主机计算机处接收转发的所述组合数据响应;
n.在所述第二主机计算机处生成包含转发的所述组合数据响应的输出数据的通知;
o.在所述USB反射器单元处接收所生成的包含转发的所述组合数据响应的所述输出数据的通知;
p.在所述USB反射器单元处存储所接收的包含转发的所述组合数据响应的所述输出数据的通知;
q.在所述USB反射器单元处从所存储的包含转发的所述组合数据响应的所述输出数据的通知中提取所述输入数据的第一请求和所述第二数据响应;
r.在所述USB反射器单元处从第一主机计算机接收输入数据的第二请求;
s.在所述USB反射器单元处使所提取的所述输入数据的第一请求与所接收的所述输入数据的第二请求相匹配;以及
t.在所述USB反射器单元处将所提取的所述第二数据响应转发到所述第一主机计算机。
11.根据权利要求10所述的方法,所述反射器单元利用第一简档与所述第一主机计算机进行通信,并且利用第二简档与所述第二主机计算机进行通信。
12.根据权利要求10所述的方法,其中,所述第一主机计算机和所述第二主机计算机是同一计算机。
13.一种用于在数据通信网络上从主机计算机向USB外围设备传输数据的方法,所述方法包括:
a.在USB反射器单元处从第一主机计算机接收输出数据的第一通知;
b.将所述输出数据的第一通知存储在USB反射器单元处;
c.在USB反射器单元处用否定确认响应来对所述第一主机计算机进行响应;
d.在USB反射器单元处从第二主机计算机接收输入数据的第一请求;
e.用包含所述输出数据的第一通知的数据响应对所述第二主机计算机进行响应;
f.在所述USB反射器单元处接收来自所述第二主机计算机的确认响应;
g.在所述第二主机计算机处接收包含所述输出数据的第一通知的所述数据响应;
h.在所述第二主机计算机处在数据通信网络上转发接收到的包含所述输出数据的第一通知的所述数据响应;
i.在USB分配器单元处接收转发的包含所述输出数据的第一通知的所述数据响应;
j.在所述USB分配器单元处从转发的所述数据响应中提取所述输出数据的第一通知;
k.在USB分配器单元处将所提取的所述输出数据的第一通知传输到USB外围设备;
l.在USB分配器单元处接收来自USB外围设备的第二确认响应;
m.在USB分配器单元处将所提取的所述输出数据的第一通知和所述第二确认响应组合为组合数据响应;
n.在所述USB分配器单元处在数据通信网络上转发所述组合数据响应;
o.在所述第二主机计算机处接收转发的所述组合数据响应;
p.在所述第二主机计算机处生成包含转发的所述组合数据响应的输出数据的通知;
q.在USB反射器单元处接收所生成的包含转发的所述组合数据响应的所述输出数据的通知;
r.用确认响应来对所述第二主机计算机进行响应;
s.在USB反射器单元处存储所接收的包含转发的所述组合数据响应的所述输出数据的通知;
t.在USB反射器单元处从所存储的包含转发的所述组合数据响应的所述输出数据的通知中提取所述输出数据的第一通知和所述第二确认响应;
u.在USB反射器单元处从第一主机计算机接收输出数据的第三通知;
v.在USB反射器单元处使所提取的所述输出数据的第一通知与所接收的所述输出数据的第三通知相匹配;以及
w.在USB反射器单元处将所提取的所述第二确认响应转发到所述第一主机计算机。
14.一种用于在数据通信网络上从主机计算机向USB外围设备传输数据的方法,所述方法包括:
a.在USB反射器单元处从第一主机计算机接收输出数据的第一通知;
b.将所述输出数据的第一通知存储在USB反射器单元处;
c.在USB反射器单元处从第二主机计算机接收输入数据的第一请求;
d.用包含所述输出数据的第一通知的数据响应对所述第二主机计算机进行响应;
e.在所述第二主机计算机处接收包含所述输出数据的第一通知的所述数据响应;
f.在所述第二主机计算机处在数据通信网络上转发接收到的包含所述输出数据的第一通知的所述数据响应;
g.在USB分配器单元处接收转发的包含所述输出数据的第一通知的所述数据响应;
h.在所述USB分配器单元处从转发的所述数据响应中提取所述输出数据的第一通知;
i.在USB分配器单元处将所提取的所述输出数据的第一通知传输到USB外围设备;
j.在USB分配器单元处接收来自USB外围设备的第二确认响应;
k.在USB分配器单元处将所提取的所述输出数据的第一通知和所述第二确认响应组合为组合数据响应;
l.在所述USB分配器单元处在数据通信网络上转发所述组合数据响应;
m.在所述第二主机计算机处接收转发的所述组合数据响应;
n.在所述第二主机计算机处生成包含转发的所述组合数据响应的输出数据的通知;
o.在USB反射器单元处接收所生成的包含转发的所述组合数据响应的所述输出数据的通知;
p.在USB反射器单元处存储所接收的包含转发的所述组合数据响应的所述输出数据的通知;
q.在USB反射器单元处从所存储的包含转发的所述组合数据响应的所述输出数据的通知中提取所述输出数据的第一通知和所述第二确认响应;
r.在USB反射器单元处从第一主机计算机接收输出数据的第三通知;
s.在USB反射器单元处使所提取的所述输出数据的第一通知与所接收的所述输出数据的第三通知相匹配;以及
t.在USB反射器单元处将所提取的所述第二确认响应转发到所述第一主机计算机。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/192940 | 2008-08-15 | ||
US12/192,940 US7818486B2 (en) | 2008-08-15 | 2008-08-15 | Method and apparatus for connecting USB devices to a remote computer |
PCT/CA2009/001130 WO2010017636A1 (en) | 2008-08-15 | 2009-08-14 | Method and apparatus for connecting usb devices to a remote computer |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102216919A CN102216919A (zh) | 2011-10-12 |
CN102216919B true CN102216919B (zh) | 2014-12-10 |
Family
ID=41668614
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200980141361.5A Active CN102216919B (zh) | 2008-08-15 | 2009-08-14 | 用于将usb设备连接到远程计算机的方法和装置 |
Country Status (8)
Country | Link |
---|---|
US (1) | US7818486B2 (zh) |
EP (1) | EP2316075B1 (zh) |
JP (1) | JP5520951B2 (zh) |
KR (1) | KR20110046534A (zh) |
CN (1) | CN102216919B (zh) |
AU (1) | AU2009281668B2 (zh) |
CA (1) | CA2733089C (zh) |
WO (1) | WO2010017636A1 (zh) |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8504707B2 (en) * | 2004-12-07 | 2013-08-06 | Cisco Technology, Inc. | Method and system for sending and receiving USB messages over a data network |
US20080307109A1 (en) * | 2007-06-08 | 2008-12-11 | Galloway Curtis C | File protocol for transaction based communication |
US7769941B2 (en) * | 2008-09-23 | 2010-08-03 | Aten International Co., Ltd. | USB matrix switch system |
JP2010141586A (ja) * | 2008-12-11 | 2010-06-24 | Seiko Epson Corp | ワイヤレスusb通信システム、usbホスト及びusbデバイス |
KR101563195B1 (ko) * | 2009-08-18 | 2015-10-27 | 삼성전자주식회사 | 호스트 장치 및 슬레이브 장치 제어 방법 |
US8180945B2 (en) * | 2009-09-11 | 2012-05-15 | I/O Interconnect Limited | USB add-on module |
US8547933B2 (en) * | 2009-11-11 | 2013-10-01 | Lg Electronics Inc. | Method and apparatus for performing handover in multi-mode terminal |
US8578060B2 (en) * | 2010-06-27 | 2013-11-05 | Valens Semiconductor Ltd. | Method and system for initiating distinct USB connections over a network |
US9059864B2 (en) | 2010-06-27 | 2015-06-16 | Valens Semiconductor Ltd. | USB device adaptor for initiating a USB connection over a non-USB network |
US8578061B2 (en) * | 2010-06-27 | 2013-11-05 | Valens Semiconductor Ltd. | Method and system for USB addressing by a network adaptor |
US9059865B2 (en) | 2010-06-27 | 2015-06-16 | Valens Semiconductor Ltd. | USB host adaptor for initiating a USB connection over a non-USB network |
US9049041B2 (en) | 2010-06-27 | 2015-06-02 | Valens Semiconductor Ltd. | Method and system for distributed initiation of USB over network data plane connections |
US8645584B2 (en) * | 2010-06-27 | 2014-02-04 | Valens Semiconductor Ltd. | Method and system for partial USB enumeration and edge initiation |
US9240896B2 (en) | 2010-06-27 | 2016-01-19 | Valens Semiconductor Ltd. | Method and system for USB connections over distinct network paths |
US10459864B2 (en) * | 2010-06-27 | 2019-10-29 | Valens Semiconductor Ltd. | USB isochronous transfer over a non-USB network |
US8560754B2 (en) | 2010-09-17 | 2013-10-15 | Lsi Corporation | Fully integrated, low area universal serial bus device transceiver |
US8856388B2 (en) * | 2010-12-23 | 2014-10-07 | Icron Technologies Corporation | Method and apparatus for connecting USB devices to a computer |
KR101251250B1 (ko) * | 2011-07-01 | 2013-04-08 | 알서포트 주식회사 | 원격 디바이스 드라이버를 이용한 원격 제어 시스템 및 원격 디바이스 드라이버를 이용한 원격 제어 방법 |
US9047418B2 (en) | 2011-11-22 | 2015-06-02 | Icron Technologies Corporation | Methods and devices for extending USB 3.0-compliant communication |
CN103312280B (zh) * | 2012-03-16 | 2016-12-14 | 鸿富锦精密工业(武汉)有限公司 | Usb信号放大电路 |
CN103312281B (zh) * | 2012-03-16 | 2016-10-05 | 鸿富锦精密工业(武汉)有限公司 | Usb信号放大电路 |
JP6208232B2 (ja) * | 2012-07-05 | 2017-10-04 | オムロン マネージメント センター オブ アメリカ, インコーポレイテッドOmron Management Center Of America, Inc. | 中間トランスポートを介したusbシグナリングのための方法および装置 |
CN103678211B (zh) * | 2012-09-11 | 2016-07-13 | 龙迅半导体(合肥)股份有限公司 | Usb接口的信号传输方法及其装置 |
US9654604B2 (en) * | 2012-11-22 | 2017-05-16 | Intel Corporation | Apparatus, system and method of controlling data flow over a communication network using a transfer response |
US9817772B2 (en) | 2012-12-20 | 2017-11-14 | Icron Technologies Corporation | Systems and methods for exchanging USB information with selected remote devices |
KR101458965B1 (ko) * | 2013-06-27 | 2014-11-07 | 주식회사 쿠오핀 | Ip 네트워크를 이용한 usb 데이터 제어방법 및 그 장치 |
US9910817B2 (en) * | 2014-03-04 | 2018-03-06 | Black Diamond Video, Inc. | Apparatus, system, and method for allowing USB devices to communicate over a network |
JP6169629B2 (ja) * | 2015-01-27 | 2017-07-26 | 日本電信電話株式会社 | Usb信号制御方法及びusb仮想化通信システム |
US10162788B2 (en) * | 2016-08-19 | 2018-12-25 | Microchip Technology Incorporated | USB on the go (OTG) multi-hub endpoint reflector hub |
US10552355B2 (en) | 2017-10-03 | 2020-02-04 | Icron Technologies Corporation | Methods and devices for extending USB 3.0-compliant communication over an extension medium |
CN113971149A (zh) | 2020-07-22 | 2022-01-25 | 艾科隆技术公司 | 用于在usb扩展环境内配置端点的技术 |
US11726941B2 (en) * | 2021-08-03 | 2023-08-15 | Vertiv It Systems, Inc. | System and method for modular management gateway apparatus |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1268702A (zh) * | 1999-03-31 | 2000-10-04 | 国际商业机器公司 | 基于通用串行总线的网络和输入/输出集线器 |
CN1976310A (zh) * | 2005-07-08 | 2007-06-06 | 美国博通公司 | 在网络中通过总线接口进行通信的方法和系统 |
Family Cites Families (70)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5588140A (en) * | 1993-03-15 | 1996-12-24 | Computer Network Technology Corporation | Transparent extension of peripheral from host |
US5655138A (en) * | 1995-04-11 | 1997-08-05 | Elonex I. P. Holdings | Apparatus and method for peripheral device control with integrated data compression |
US5797028A (en) * | 1995-09-11 | 1998-08-18 | Advanced Micro Devices, Inc. | Computer system having an improved digital and analog configuration |
US5675813A (en) * | 1995-10-26 | 1997-10-07 | Microsoft Corporation | System and method for power control in a universal serial bus |
US5781747A (en) * | 1995-11-14 | 1998-07-14 | Mesa Ridge Technologies, Inc. | Method and apparatus for extending the signal path of a peripheral component interconnect bus to a remote location |
US5799041A (en) * | 1996-02-05 | 1998-08-25 | Xinex Networks Inc. | Network for multimedia asynchronous transfer mode digital signal transmission and components thereof |
US5878221A (en) * | 1996-02-05 | 1999-03-02 | Xinex Networks Inc. | Network for multimedia asynchronous transfer mode digital signal transmission and components thereof |
US5767844A (en) * | 1996-02-29 | 1998-06-16 | Sun Microsystems Inc | Modified universal serial bus interface implementing remote power up while permitting normal remote power down |
US5784581A (en) * | 1996-05-03 | 1998-07-21 | Intel Corporation | Apparatus and method for operating a peripheral device as either a master device or a slave device |
US5781028A (en) * | 1996-06-21 | 1998-07-14 | Microsoft Corporation | System and method for a switched data bus termination |
US6308239B1 (en) * | 1996-11-07 | 2001-10-23 | Hitachi, Ltd. | Interface switching apparatus and switching control method |
US5890015A (en) * | 1996-12-20 | 1999-03-30 | Intel Corporation | Method and apparatus for implementing a wireless universal serial bus host controller by interfacing a universal serial bus hub as a universal serial bus device |
US5983073A (en) * | 1997-04-04 | 1999-11-09 | Ditzik; Richard J. | Modular notebook and PDA computer systems for personal computing and wireless communications |
US6185641B1 (en) | 1997-05-01 | 2001-02-06 | Standard Microsystems Corp. | Dynamically allocating space in RAM shared between multiple USB endpoints and USB host |
JPH10340199A (ja) * | 1997-06-09 | 1998-12-22 | Nec Shizuoka Ltd | コンピュータシステム |
JP3045985B2 (ja) * | 1997-08-07 | 2000-05-29 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 接続確立方法、通信方法、状態変化伝達方法、状態変化実行方法、無線装置、無線デバイス、及びコンピュータ |
US6131125A (en) * | 1997-11-14 | 2000-10-10 | Kawasaki Lsi U.S.A., Inc. | Plug-and-play data cable with protocol translation |
US6308215B1 (en) * | 1997-12-22 | 2001-10-23 | Robert J. Kolbet | Extender apparatus for USB connection of computer units |
TW455805B (en) * | 1998-02-26 | 2001-09-21 | Winbond Electronics Corp | Converter allowing data communications equipment to transmit data to data terminal equipment through universal serial bus and the control method thereof |
US6282593B1 (en) * | 1998-05-08 | 2001-08-28 | Tony Goodfellow | Extension of electronic buses and their bus protocols using signal-propagation timing compensation |
US6178514B1 (en) * | 1998-07-31 | 2001-01-23 | Bradley C. Wood | Method and apparatus for connecting a device to a bus carrying power and a signal |
US6105097A (en) * | 1998-10-14 | 2000-08-15 | Cypress Semiconductor Corp. | Device and method for interconnecting universal serial buses including power management |
US6311294B1 (en) * | 1998-10-20 | 2001-10-30 | Cypress Semiconductor Corp. | Device and method for efficient bulk data retrieval using a universal serial bus |
US6389029B1 (en) * | 1998-11-10 | 2002-05-14 | Nortel Networks Limited | Local area network incorporating universal serial bus protocol |
JP2000183920A (ja) | 1998-12-21 | 2000-06-30 | Matsushita Electric Ind Co Ltd | Usb情報伝送装置 |
US6584519B1 (en) * | 1998-12-22 | 2003-06-24 | Canon Kabushiki Kaisha | Extender for universal serial bus |
AU2654200A (en) | 1999-02-19 | 2000-09-04 | Icron Systems Inc. | Method and apparatus for extending the range of the universal serial bus protocol |
US7028133B1 (en) * | 1999-04-30 | 2006-04-11 | Daniel Kelvin Jackson | Method and apparatus for extending communications over USB |
US6708247B1 (en) * | 1999-07-21 | 2004-03-16 | Clearcube Technology, Inc. | Extending universal serial bus to allow communication with USB devices at a remote location |
US6965614B1 (en) * | 1999-11-12 | 2005-11-15 | Nortel Networks Limited | Method and system for communications between different types of devices |
US6526468B1 (en) * | 1999-12-15 | 2003-02-25 | Robotel Electronique Inc. | Peripheral bus extender |
US6546450B1 (en) * | 1999-12-22 | 2003-04-08 | Intel Corporation | Method and apparatus for sharing a universal serial bus device among multiple computers by switching |
US20020010821A1 (en) * | 2000-06-09 | 2002-01-24 | Gang Yu | USB extension system |
JP3415567B2 (ja) * | 2000-06-21 | 2003-06-09 | エヌイーシーマイクロシステム株式会社 | Usb転送制御方法およびusbコントローラ |
US6571305B1 (en) * | 2000-09-27 | 2003-05-27 | Lantronix, Inc. | System for extending length of a connection to a USB peripheral |
US6735658B1 (en) * | 2000-10-06 | 2004-05-11 | Clearcube Technology, Inc. | System and method for combining computer video and remote universal serial bus in an extended cable |
US6718412B2 (en) * | 2000-12-14 | 2004-04-06 | Agilent Technologies, Inc. | Apparatus and method for universal serial bus communications |
US6754720B1 (en) * | 2001-03-02 | 2004-06-22 | Adaptec, Inc. | Automatic addressing of expanders in I/O subsystem |
US6886062B2 (en) * | 2001-03-30 | 2005-04-26 | Intel Corporation | Method and apparatus for improving time constraints and extending limited length cables in a multiple-speed bus |
US20020144141A1 (en) * | 2001-03-31 | 2002-10-03 | Edwards James W. | Countering buffer overrun security vulnerabilities in a CPU |
CA2345596C (en) | 2001-04-27 | 2007-12-04 | Icron Systems Inc. | Method and apparatus for extending the range of the universal serial bus protocol |
US7269183B2 (en) * | 2001-04-27 | 2007-09-11 | Broadcom Corporation | System and method for connecting bluetooth-enabled devices to a personal computer |
JP3680762B2 (ja) * | 2001-05-14 | 2005-08-10 | セイコーエプソン株式会社 | データ転送制御装置及び電子機器 |
US6904489B2 (en) * | 2001-10-23 | 2005-06-07 | Digi International Inc. | Methods and systems for remotely accessing universal serial bus devices |
US7080189B1 (en) * | 2002-05-31 | 2006-07-18 | Cypress Semiconductor Corp. | USB device communication |
US7159065B1 (en) * | 2002-06-20 | 2007-01-02 | Cypress Semiconductor Corporation | Method for issuing vendor specific requests for accessing ASIC configuration and descriptor memory while still using a mass storage class driver |
US7185126B2 (en) * | 2003-02-24 | 2007-02-27 | Standard Microsystems Corporation | Universal serial bus hub with shared transaction translator memory |
JP4377603B2 (ja) * | 2003-03-26 | 2009-12-02 | Okiセミコンダクタ株式会社 | バス通信システムおよびその通信制御方法 |
US7120724B2 (en) * | 2003-04-14 | 2006-10-10 | Hewlett-Packard Development Company, L.P. | USB interface extension through split transaction protocol |
KR100943742B1 (ko) | 2003-06-03 | 2010-02-23 | 삼성전자주식회사 | Usb 트랜잭션을 무선 pan 상에서 전송하는 장치 및방법 |
US6993620B2 (en) * | 2003-06-13 | 2006-01-31 | Hewlett-Packard Development Company, L.P. | User resource sharing through the USB interface |
US7502878B1 (en) * | 2003-06-27 | 2009-03-10 | Cypress Semiconductor Corporation | Method and apparatus for switching USB devices between multiple USB hosts |
US7493431B2 (en) * | 2003-08-06 | 2009-02-17 | Icron Technologies Corporation | Method and apparatus for extending the range of the universal serial bus protocol |
TW200506637A (en) * | 2003-08-07 | 2005-02-16 | Ali Corp | Host-to-host USB bridge |
US7073010B2 (en) * | 2003-12-02 | 2006-07-04 | Super Talent Electronics, Inc. | USB smart switch with packet re-ordering for interleaving among multiple flash-memory endpoints aggregated as a single virtual USB endpoint |
US7613854B2 (en) * | 2004-04-15 | 2009-11-03 | Aten International Co., Ltd | Keyboard video mouse (KVM) switch wherein peripherals having source communication protocol are routed via KVM switch and converted to destination communication protocol |
US8504707B2 (en) * | 2004-12-07 | 2013-08-06 | Cisco Technology, Inc. | Method and system for sending and receiving USB messages over a data network |
US7644211B2 (en) * | 2004-12-07 | 2010-01-05 | Cisco Technology, Inc. | Method and system for controlling transmission of USB messages over a data network between a USB device and a plurality of host computers |
WO2006082782A1 (ja) * | 2005-02-02 | 2006-08-10 | Silex Technology, Inc. | 周辺機器利用方法および周辺機器サーバ |
US7640378B2 (en) * | 2005-03-11 | 2009-12-29 | Icron Technologies Corporation | Method and apparatus for improving the performance of USB mass storage devices in the presence of long transmission delays |
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 |
EP1793565A1 (en) * | 2005-12-02 | 2007-06-06 | Seiko Epson Corporation | Network plug-and-play compliant network relay control |
US7418524B2 (en) * | 2005-12-06 | 2008-08-26 | Avocent Corporation | Universal serial bus (USB) extension |
US7478191B2 (en) * | 2006-04-14 | 2009-01-13 | Standard Microsystems Corporation | Method for automatically switching USB peripherals between USB hosts |
US20070255868A1 (en) * | 2006-04-26 | 2007-11-01 | Cisco Technology, Inc. (A California Corporation) | Method and system for managing a network device using a slave USB interface |
US7428606B2 (en) * | 2006-05-05 | 2008-09-23 | Dell Prodcuts L.P. | Method, system and apparatus to allow users to remotely mount USB devices and access KVM through a server interface pod (SIP) |
US8566389B2 (en) * | 2006-07-10 | 2013-10-22 | Samsung Electronics Co., Ltd. | Thin network protocol |
US7587536B2 (en) * | 2006-07-28 | 2009-09-08 | Icron Technologies Corporation | Method and apparatus for distributing USB hub functions across a network |
JP4690294B2 (ja) * | 2006-11-15 | 2011-06-01 | Necアクセステクニカ株式会社 | Usb通信装置、usb通信装置の通信方法、及びusb通信装置のプログラム |
US8972594B2 (en) * | 2008-02-11 | 2015-03-03 | Microsoft Corporation | Media mix wiring protocol for media control |
-
2008
- 2008-08-15 US US12/192,940 patent/US7818486B2/en active Active
-
2009
- 2009-08-14 CN CN200980141361.5A patent/CN102216919B/zh active Active
- 2009-08-14 JP JP2011522359A patent/JP5520951B2/ja not_active Expired - Fee Related
- 2009-08-14 AU AU2009281668A patent/AU2009281668B2/en active Active
- 2009-08-14 CA CA2733089A patent/CA2733089C/en active Active
- 2009-08-14 EP EP09806271.4A patent/EP2316075B1/en active Active
- 2009-08-14 WO PCT/CA2009/001130 patent/WO2010017636A1/en active Application Filing
- 2009-08-14 KR KR1020117005964A patent/KR20110046534A/ko not_active Application Discontinuation
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1268702A (zh) * | 1999-03-31 | 2000-10-04 | 国际商业机器公司 | 基于通用串行总线的网络和输入/输出集线器 |
CN1976310A (zh) * | 2005-07-08 | 2007-06-06 | 美国博通公司 | 在网络中通过总线接口进行通信的方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
JP5520951B2 (ja) | 2014-06-11 |
KR20110046534A (ko) | 2011-05-04 |
EP2316075A4 (en) | 2011-12-14 |
WO2010017636A1 (en) | 2010-02-18 |
CN102216919A (zh) | 2011-10-12 |
EP2316075A1 (en) | 2011-05-04 |
US20100042767A1 (en) | 2010-02-18 |
EP2316075B1 (en) | 2013-10-16 |
US7818486B2 (en) | 2010-10-19 |
AU2009281668A1 (en) | 2010-02-18 |
JP2012500422A (ja) | 2012-01-05 |
CA2733089C (en) | 2017-02-28 |
CA2733089A1 (en) | 2010-02-18 |
AU2009281668B2 (en) | 2014-08-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102216919B (zh) | 用于将usb设备连接到远程计算机的方法和装置 | |
EP2047370B1 (en) | Method and apparatus for distributing usb hub functions across a network | |
US8225020B2 (en) | Method and system for hardware based implementation of USB 1.1 over a high speed link | |
CN105981338B (zh) | 用于使用i/o设备链路在主机之间建立高速网络通信和文件传输的链路系统 | |
CN101454763B (zh) | 用于在串行总线之间传输数据的网关 | |
CN101488941A (zh) | 一种实现usb设备共享使用的方法及系统 | |
CN102160341A (zh) | 统一多传送介质连接器架构 | |
CN108733604A (zh) | 一种基于modbus通讯协议的485总线智能扩展方法及装置 | |
CN102404306B (zh) | 一种配置协议的方法及装置 | |
WO2012083423A1 (en) | Method and apparatus for connecting usb devices to a computer | |
CN101599970A (zh) | 家庭网关共享存储实现方法及装置 | |
CN101242284A (zh) | 基于spi总线的通信方法和网络设备 | |
CN1976310B (zh) | 在网络中通过总线接口进行通信的方法 | |
WO2001006385A1 (en) | A communication system for general connection interface machines | |
CN100493018C (zh) | 一种通过网络中的总线接口进行通信的方法和系统 | |
CN104346310A (zh) | 一种高性能i2c从机数据交换电路及方法 | |
CN103858091B (zh) | 一种存储设备的管理方法及设备 | |
CN207833500U (zh) | 一种支持非标准接口的40g速率网卡 | |
CN107483306A (zh) | 一种通信方法、通信系统及存储介质 | |
JP4524962B2 (ja) | データ転送装置及びデータ転送方法 | |
CN201145897Y (zh) | 微控制器 | |
CN114116559A (zh) | 一种适用于plc应用的高速总线方法 | |
CN103124255A (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 |