专利名称:用于将usb设备连接到远程计算机的方法和装置的制作方法
技术领域:
本发明涉及用于在计算机和使用通用串行总线(USB)端口的设备之间传输信号的方法和装置,并且,更具体地,涉及一种用于操作在分布在数据通信网络上的多个USB外围设备的方法。
背景技术:
通用串行总线(USB)是一种设计为允许一般用户将广泛的外围设备附接到个人计算机的技术。该技术支持所有常见的外围设备,例如,键盘、鼠标、扬声器、操纵杆、摄像头、闪存驱动器、硬盘驱动器、DVD驱动器、以及很多其他外围设备,并且它的使用在当前的计算机中普遍。USB由计算机和通信市场上七家最大的公司的联盟创建。这些公司是htel、 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主机控制器开始,并由一个、两个或三个子动作(siAaction)组成。每个子动作可以由一个或多个数据包组成,并通过数据流方向上的逆转而终止。在内容通过参引的方式结合于此的本申请人的美国专利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外围设备;1.在USB分配器单元处接收来自USB外围设备的第二数据响应;m.可选地,在USB分配器单元处用确认响应来对USB外围设备进行响应;η.在USB分配器单元处将所提取的输入数据的第一请求和第二数据响应组合为组合数据响应;ο.在USB分配器单元处在数据通信网络上转发该组合数据响应;p.在第二主机计算机处接收所转发的组合数据响应;q.在第二主机计算机处生成包含所转发的组合数据响应的输出数据的通知;r.在USB反射器单元处接收所生成的包含转发的组合数据响应的输出数据的通知;s.可选地,用确认响应来对第二主机计算机进行响应;t.在USB反射器单元处存储接收到的包含转发的组合数据响应的输出数据的通知;
u.在USB反射器单元处从所存储的包含转发的组合数据响应的输出数据的通知中提取输入数据的第一请求和第二数据响应;v.在USB反射器单元处从第一主机计算机接收输入数据的第二请求;w.在USB反射器单元处使所提取的输入数据的第一请求与所接收的输入数据的第二请求相匹配;χ.在USB反射器单元处将所提取的第二数据响应转发到第一主机计算机;以及y.可选地,从第一主机计算机获取确认响应。在另一方面,本发明提供了一种在数据通信网络上将数据从主机计算机传输到 USB外围设备的方法。具体地,本发明提供了一种用于在数据通信网络上将数据从主机计算机传输到USB外围设备的方法,该方法包括a.在USB反射器单元处从第一主机计算机接收输出数据的第一通知;b.将输出数据的第一通知存储在USB反射器单元处;c.可选地,在USB反射器单元处用否定确认响应来对第一主机计算机进行响应;d.在USB反射器单元处从第二主机计算机接收输入数据的第一请求;e.用包含输出数据的第一通知的数据响应对第二主机计算机进行响应;f.可选地,在USB反射器单元处接收来自第二主机计算机的确认响应;g.在第二主机计算机处接收包含输出数据的第一通知的数据响应;h.在第二主机计算机处在数据通信网络上转发接收到的包含输出数据的第一通知的数据响应;i.在USB分配器单元处接收所转发的包含输出数据的第一通知的数据响应;j.在USB分配器单元处从所转发的数据响应中提取输出数据的第一通知;k.在USB分配器单元处将所提取的输出数据的第一通知传输到USB外围设备;1.在USB分配器单元处接收来自USB外围设备的第二确认响应;m.在USB分配器单元处将所提取的输出数据的第一通知和第二确认响应组合为组合数据响应;η.在USB分配器单元处在数据通信网络上转发该组合数据响应;ο.在第二主机计算机处接收所转发的组合数据响应;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)通过本地延长器单元(9 、长线缆(13)和远程延长器单元(94)与标准的未更改的 USB外围设备(17)通信。USB集线器(16)也可以连接在远程延长器单元(94)与USB外围设备(17)之间,以使多个USB外围设备能够由单个主机计算机控制。在根据该方案的“数据读取”示例中,主机计算机(10)通过USB线缆(%)将USB 子动作发送到本地延长器单元(93)。由USB收发器(97a)接收USB子动作,并将其转发至本地延长器逻辑部(90) (local extender logic)。本地延长器逻辑部(90)格式化USB子动作,用于通过网络收发器(92a)、长线缆(1 和网络收发器(92b)将其传输到远程延长器逻辑部(91)。本地延长器逻辑部(90)还可以生成确认子动作,用于通过USB收发器(97a) 和USB线缆(卯)将其传输到主机计算机(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线缆(%)和USB收发器(97a)传输到本地延长器逻辑部(90)。当重复的USB子动作被本地延长器逻辑部(90)接收时,本地延长器逻辑部(90)从存储部中检索响应子动作,并通过USB收发器(97a)和USB线缆(95)将该响应子动作传输到主机计算机(10)。对本领域技术人员显而易见的是,长线缆(1 可以被具有到本地延长器单元 (93)的连接和到远程延长器单元(94)的另一连接的数据通信网络所代替。应当注意,图2的现有技术系统需要设置两个网络收发器(9h、92b),在长线缆
(13)的每端设置一个。关于本发明,对本领域技术人员显而易见的是,网络收发器可以是昂贵的元件,因此将占据本地延长器和远程延长器单元的主要成本。应当进一步理解,如果可以从本地延长器单元(93)中去除网络收发器(9 ),则可以实现整个USB延长器系统成本的显著减少。 同样对本领域技术人员显而易见的是,出于数据通信的目的,主机计算机通常预先配备有网络收发器。同样对本领域技术人员显而易见的是,网络收发器必须与用于将网络收发器物理地连接到长线缆(13)的装置或等效数据通信网络相关联或必须结合有所述装置或等效数据通信网络。物理连接装置通常可以呈用于无线通信的天线、用于电通信的RJ45插口、或者用于光通信的双LC插口的形式。将进一步清楚,如果与网络收发器(92a)相关联的物理连接装置也能够被去除,则本地延长器单元(9 的物理尺寸可以被减小,并且本地延长器单元能够被访问且稳固以用于线缆附接目的的要求能够被消除。同样对本领域技术人员显而易见的是,为了实现在延伸的距离上的可靠通信,网络收发器可能消耗大量的电力。通过从本地延长器单元(9 中去除网络收发器(9 ),可以实现本地延长器单元(93)电力消耗的显著减少,从而实现较低的散热以及较小的尺寸和成本。图3是根据本发明的USB系统的框图。在该布置中,每个USB外围设备(17)直接地或者通过一个或一系列的USB集线器(16)连接到USB分配器(1 。每个USB分配器还连接到数据通信网络(14)。此外,在该布置中,USB反射器(11)连接到一个或多个主机计算机(10、12)。主机计算机中的至少一个必须具有到数据通信网络(14)的连接。在该系统中,主机计算机12具有这种连接,并且在不具有到数据通信网络(14)的有源连接的第一主机计算机(10)和具有到数据通信网络(14)的有源连接的第二主机计算机(1 之间进行了区分。当第一主机计算机(10)希望与USB外围设备(17)通信但缺乏到数据通信网络
(14)的有源连接时,第一主机计算机(10)将USB子动作传输到USB反射器(11),于是USB 反射器(11)将USB子动作向第二主机计算机(12) “反射”。USB反射器(11)还优选地确保对第一主机计算机(10)和第二主机计算机(1 生成所有必要的确认,以满足USB定时的需要。当USB子动作被主机计算机(12)接收到时,使用第二主机计算机(12)的已经存在的数据网络在数据通信网络(14)上将该子动作转发到USB分配器(1 。然后,USB分配器(1 直接地或者通过中间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)和第二主机计算机(1 被示作单独的单元。同样对本领域技术人员显而易见的是,第一主机计算机和第二主机计算机的功能可以被组合到具有到网络(14)的有源数据通信连接的任何主机计算机中。此外,在本发明的该实施例中,数据通信网络(14)被示作支持多个连接。同样对本领域技术人员显而易见的是,数据通信网络可以仅支持到单个第二主机计算机(12)的单个连接以及到单个USB分配器(1 的单个连接,并因此可以被单个第二主机计算机与单个USB分配器之间的点对点连接所代替。图4是根据本发明的另一优选USB系统的框图。在该配置中,仅需要执行图3中的第一主机计算机和第二主机计算机两者的功能的单个主机计算机(12)。在该布置中,USB 反射器(11)需要使用将在后面描述的第一和第二“简档(profile)”机制(mechanism)将来自主机计算机(1 的USB信号向同一主机计算机(1 反射。图5是根据本发明的又一优选USB系统的框图。在该布置中,用作简单数据通信网络的点对点连接(1 设置在主机计算机(1 和USB分配器(1 之间。对本领域技术人员显而易见的是,可以通过包括双绞线缆、同轴线缆、光纤线缆以及无线方式在内的多种通信介质提供点对点连接(13)。图6是根据本发明的USB反射器(11)以及示出了不同主机计算机选项的多个主机控制器的框图。在该布置中,USB反射器(11)包括反射器核单元以及一个或多个 USB收发器0幻。反射器核单元提供用于从USB收发器0 接收USB子动作、格式化该USB子动作并将其传输到USB收发器02)、并且在USB收发器之间转发USB子动作的机制。每个USB收发器0 均被连接到位于主机(10、1幻中的主机控制器01)。在支持图6的系统的操作时,USB反射器(11)需要具有至少两个单独但相关的简档。第一简档被呈现给第一主机计算机(10),并表示连接到USB分配器(1 的USB外围设备(17)和集线器(16)的数量。第一简档对在第一主机计算机(10)与USB外围设备(17) 和USB集线器(16)之间传输的USB子动作作出反应。因此,第一简档响应于由第一主机计算机(10)分配给USB外围设备(17)的每个唯一的USB地址。第一简档必须被呈现给至少一个第一或第二主机计算机(10、12)。第二简档被呈现给第二主机计算机(12),并表示作为传统USB设备的USB反射器 (11)的USB接口。第二简档支持USB反射器(11)的USB列举,并提供USB端点,用于通过第二主机计算机(1 在数据通信网络(14)上传输将被交接的USB子动作。因此,第二简档响应于由第二主机计算机(12)分配给USB反射器(11)的唯一 USB地址。第二简档必须被呈现给至少一个第二主机计算机(12)。USB反射器(11)内的反射器核逻辑部03)需要实现第一简档和第二简档,以在第一简档和第二简档之间传输USB子动作,并执行传输期间可能需要的任何数据转换动作。在本发明的该实施例中,选择了四个USB收发器0 的特定布置。对本领域技术人员显而易见的是,可以使用不同数量的USB收发器,并且每个USB收发器可与不同版本的 USB规范相兼容。支持USB 1. UUSB 2. O,USB 3. O、经认证的无线USB或高速芯片间USB的 USB收发器都是适当的收发器单元的示例。此外,在本发明的该实施例中,选择了四个USB主机控制器(21)、一个第一主机计算机(10)和一个第二主机计算机(1 的特定布置。对本领域技术人员显而易见的是,不同的布置也是可能的。USB反射器(11)需要具有至少一个USB收发器(22),并且每个USB 收发器02)必须连接到单个主机控制器01)。每个主机计算机(10、12)必须具有至少一个主机控制器01)。可以对包含在每个第一主机计算机内的每个单独的主机控制器提供单独的第一简档,并且可以对每个第二主机计算机内的每个单独的主机控制器提供第二简档。图7是根据本发明的优选USB反射器以及示出单个主机计算机选项的两个主机控制器的框图。在该布置中,USB反射器(11)包括反射器核03)和经由两个USB链路(25a、 25b)连接到两个主机控制器(21a、21b)的两个USB收发器Oh、22b)。在该配置中,USB反射器(11)可以通过USB收发器(22a)将其第一简档呈现给主机控制器Qla),并通过USB 收发器(22b)将其第二简档呈现给主机控制器(21b)。主机计算机(1 需要执行第一主机计算机和第二主机计算机两者的功能。在本发明的该实施例中,USB收发器(22a、22b)被示作单独的单元,USB主机控制器(21a、21b)被示作单独的单元,并且USB链路(25a、25b)被示作单独的链路。对本领域技术人员显而易见的是,其他配置也是可能的,并且多个单元可以被集成到一起。同样对本领域技术人员显而易见的是,USB收发器(22a)可以符合USB 2. O的要求,并且USB收发器 (22b)可以符合USB 3. O的要求,并且USB链路Qfe、25b)可以在符合USB 3. O要求的单个线缆中实现。图8是根据本发明的另一优选USB反射器以及示出了单个主机计算机选项的单个主机控制器的框图。在该布置中,USB反射器(11)包括反射器核和通过内部USB集线器09)连接到单个主机控制器的两个USB收发器Qh、22b)。在该配置中,USB反射器(11)可以通过第一USB收发器(22a)将其第一简档呈现给主机控制器(21),并通过第二 USB收发器(22b)将其第二简档呈现给主机控制器01)。
15
在本发明的该实施例中,内部USB集线器09)被示作支持到收发器(22a、22b)的两个下游链路。对本领域技术人员显而易见的是,更多数量的下游链路也是可能的,并且可以通过下游链路呈现附加的简档。此外,在本发明的该实施例中,内部USB集线器09)被示作包含在USB反射器 (11)内的单独的单元。对本领域技术人员显而易见的是,内部USB集线器09)可以是在定位在USB反射器(11)的外部的独立单元。对本领域技术人员进一步显而易见的是,内部 USB集线器09)可以是根据在本申请人的共同未决的美国专利公开No. 2008/0028120中提供的内容的在反射器核03)内实现的虚拟单元。图9是根据本发明的反射器核03)的框图。在该布置中,USB响应器单元(30) 通过一个或多个连接(3 连接到一个或多个USB收发器。USB响应器(30)能够通过连接 (35)接收USB子动作,以将接收的子动作存储在数据包高速缓冲存储器(31)中,从数据包高速缓冲存储器(31)中检索USB子动作,生成合成的USB子动作,以及通过连接(3 传输 USB子动作。USB响应器(30)还能够更新状态表(33),以记录接收、存储、检索、生成和传输操作的发生。USB汇集器34连接到数据包高速缓冲存储器(31)和状态表(3 ,并且能够从数据包高速缓冲存储器(31)中检索属于第一简档的USB子动作,将第一 USB子动作转换为适合在第二简档下传输的格式,并将转换的USB子动作存储在数据包高速缓冲存储器(31) 中。USB汇集器(34)还能够从数据包高速缓冲存储器(31)中检索属于第二简档的USB子动作,将第二 USB子动作转换为适合在第一简档下传输的格式,并且将转换的USB子动作存储在数据包高速缓冲存储器(31)中。USB汇集器(34)还能够将多个原始USB子动作汇集成单个汇集的USB子动作,并将汇集的USB子动作拆分成多个原始USB子动作。USB汇集器 (34)还能够更新状态表(33),以记录检索、转换、存储、汇集和拆分操作的发生。控制器(3 能够协调USB响应器(30)、数据包高速缓冲存储器(31)、状态表(33) 和USB汇集器(34)的操作。根据USB规范,出于配置和控制的目的,每个USB设备必须支持控制端点(端点0)。控制器(3 还能够响应于在其控制端点上发布到USB反射器(11) 的USB请求。图10是根据本发明的USB分配器(1 的框图。在该布置中,网络收发器GO)在通信链路G9)上连接到数据通信网络(14)。USB收发器07)通过USB链路08)连接到 USB集线器(16)或USB设备(17)。可以通过网络收发器00)从数据通信网络(14)接收包含USB子动作信息的数据包,并将其转发到链路管理器01)。链路管理器可以负责检查数据包的完整性,如果发现出现错误则请求重新传输,并且去除在数据通信网络(14)上进行传输所需要的任何数据包封装和网络寻址信息。然后,通过链路管理器Gl)将包含的USB子动作信息转发到 USB分散器0 ,该USB分散器0 负责识别各个USB子动作,将各个USB子动作存储在数据包高速缓冲存储器^幻中,并更新状态表0 以指示数据包高速缓冲存储器G3)中 USB子动作的存在。USB响应器06)能够从数据包高速缓冲存储器中检索USB子动作,并通过 USB收发器07)传输USB子动作。USB响应器06)还能够从USB收发器07)接受USB子动作,将所接受的USB子动作存储在数据包高速缓冲存储器中,更新状态表0 以指示数据包高速缓冲存储器^幻中USB子动作的存在,生成合成USB子动作,并通过USB收发器G7)传输该合成USB子动作。类似地,当数据流在从USB分配器(1 到USB反射器(11)的方向上时,USB分散器0 能够从数据包高速缓冲存储器中检索USB子动作,可选地将多个USB子动作汇集成单个数据包,并且将改单个数据包转发到链路管理器(41),以用于在数据通信网络 (14)上传输。图11是根据本发明的在第二主机计算机(1 内运行的主机计算机软件栈的框图。在该布置中,USB驱动器(6 操作一个或多个主机控制器驱动器(63),所述一个或多个主机控制器(6 则操作一个或多个主机控制器Qla、21b)。USB驱动器(62)、主机控制器驱动器(6 和主机控制器(21a、21b) —起的该布置支持根据USB规范的一个或多个USB 链路(70)和USB驱动器接口 (72)。此外,在该布置中,可以安装一个或多个USB设备驱动器(60),以控制USB集线器 (16)(未示出)和USB设备(17)(未示出),在该布置中,第一主机计算机和第二主机计算机的功能被组合到一个集成的主机计算机中。此外,在该布置中,设有数据通信栈,其包括TCP/IP模块(66)、NDIS(网络驱动器接口规范)模块(67)和网络收发器(68)。数据通信栈用来实现通过数据链路(71)与数据通信网络(14)(未示出)进行通信。另外,在该布置中,USB反射器驱动器(61)在USB驱动器接口(7 上工作,以提供支持USB反射器(11)(未示出)的USB驱动器功能。USB反射器驱动器(61)对USB反射器(11)的第二简档进行操作。该第二简档支持USB反射器(11)的USB列举,并提供USB 端点,用于通过第二主机计算机(1 在数据通信网络(14)上传输将被交接的USB子动作。 此外,在该布置中,USB反射器应用(65)提供USB反射器驱动器(61)与TCP/IP模块(66) 之间的桥接。USB反射器应用(65)能够从USB反射器驱动器(61)处接收USB子动作,并封装USB子动作,用于在数据通信网络(14)上传输。然而,对本领域技术人员显而易见的是,该布置不需要对通常包含在操作系统内核内的软件(尤其是存在于包括USB驱动器(6 和主机控制器驱动器(6 的USB驱动器接口(7 “下”的软件)进行任何添加或改变。还应当清楚,不需要对已经存在的设备驱动器(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)将USB0UT/DATA子动作发送到USB反射器(11)的第二简档来开始重新传输。由USB反射器(11)的第二简档接收该USB OUT/DATA子动作,然后由USB 反射器(11)提取USB DATA子动作,并使其通过USB反射器(11)的第一简档可用。然后, 当第一主机控制器Ola)向原始设备发布重复的USB IN子动作时,所提取的USB DATA子动作被返回到第一主机控制器Ola)。在本发明的该实施例中,示出了包括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)可以生成与和端点(El)相关联的USB端点类型相兼容的合成确认子动作。该合成确认子动作可以包括USBNAK数据包。稍后,第二主机计算机(1 中的控制逻辑部(5 向USB反射器(11)发布第二 IN 子动作。第二 IN子动作寻址到与USB反射器(11)的第二简档相关联的第二 USB地址和端点(A2,E3)。USB反射器(11)中的控制逻辑部(51)接收第二 IN子动作,并利用第一 DATA 子动作进行响应,其中有效负荷(payload)包括所存储的第一 IN子动作。第二主机计算机 (12)中的控制逻辑部(52)接收第一 DATA子动作,并且可以通过将ACK子动作传输到USB 反射器(11)来确认成功接收。然后,第二主机计算机(1 中的控制逻辑部(5 从所接收的第一 DATA子动作中提取第一 IN子动作,并组合包括所提取的第一 IN子动作的第一网络数据包。控制逻辑部 (52)在数据通信网络(14)上将第一网络数据包转发到USB分配器(1 。USB分配器(15) 中的控制逻辑部(5 接收第一网络数据包,从该第一网络数据包中提取第一 IN子动作,并将所提取的第一 IN子动作转发到USB外围设备(17)。然后,由USB外围设备(17)中的控制逻辑部(54)接收所转发的第一 IN子动作。 控制逻辑部(54)生成第二 DATA子动作,并将该生成的第二 DATA子动作转发到USB分配器 (15)。由USB分配器(15)中的控制逻辑部(53)接收所转发的第二 DATA子动作。控制逻辑部(5 可生成与和端点(El)相关联的USB端点类型相兼容的合成确认子动作。该合成确认可以包括USB ACK数据包。控制逻辑部(5 还将所提取的第一 IN子动作和所接收的第二 DATA子动作组成第二网络数据包,并在数据通信网络(14)上将第二网络数据包转发到第二主机计算机(12)。随后,第二主机计算机(1 中的控制逻辑部(5 接收所转发的第二网络数据包, 并提取第一 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子动作相同的地址和端点(Al,El)。控制逻辑部(51) 从本地存储器中检索所存储的第二 DATA子动作,并将检索到的第二 DATA子动作转发到第一主机计算机(10)。第一主机计算机(10)中的控制逻辑部(50)可以生成与和端点(El) 相关联的USB端点类型相兼容的合成确认子动作。该合成确认可以包括USB ACK数据包。图13是示出从主机计算机到USB外围设备的数据传输的序列图。第一主机计算机(10)中的控制逻辑部(50)通过向USB反射器(11)发布第一 OUT 子动作来开始数据传输。第一 OUT子动作寻址到与USB外围设备(17)相关联的第一 USB 地址和端点(Al,E2)。第一 OUT子动作由USB反射器(11)中的控制逻辑部(51)接收,并被存储在本地存储器中。控制逻辑部(51)可以生成与和端点(El)相关联的USB端点类型相兼容的合成确认子动作。该合成确认可以包括USBNAK数据包。稍后,第二主机计算机(1 中的控制逻辑部(5 向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分配器(1 。USB分配器(15) 中的控制逻辑部(5 接收第一网络数据包,从该第一网络数据包中提取第一 OUT子动作, 并将所提取的第一 OUT子动作转发到USB外围设备(54)。之后,由USB外围设备(17)中的控制逻辑部(54)来接收所转发的第一 OUT子动作。控制逻辑部(54)生成第二确认子动作,并将该生成的第二确认子动作转发到USB分配器(1 。由USB分配器(1 中的控制逻辑部(5 来接收所转发的第二确认子动作。控制逻辑部(5 还将所提取的第一 OUT子动作和所接收的第二确认子动作组成第二网络数据包,并在数据通信网络(14)上将该第二网络数据包转发到第二主机计算机(12)。然后,第二主机计算机(1 中的控制逻辑部(5 接收所转发的第二网络数据包,提取第一 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设备连接到远程计算机的方法和装置,其完全满足以上描述的目的、目标和优点。因此,在描述了本发明的具体实施例的情况下,应当理解其替代、修改和变型已经暗示给本领域技术人员,并且本发明意在包括落入所附权利要求范围内的所有这种替代、修改和变型。此外,为了清楚起见,除非另有说明,否则当词“包括”在本说明书的描述和权利要求中使用时,其不表示排除其他添加、成分、整体或步骤。此外,词语“基本”或“主要”当与形容词或副词一同使用时,意在增大特定特征的范围;例如,基本平坦意味着平坦、接近平坦和/或表现出与平坦的元件相关联的特性。此外,术语“他”或“他的”的使用并不意味着特别针对男性,并且可以容易地理解为“她”或“她的”。此外,虽然本论述讨论了发明人已知的现有技术,但并不是承认所有论述的技术对本申请都是可引用的。
权利要求
1.一种用于在一个或多个主机计算机与一个或多个USB外围设备之间传输USB通信量的计算机系统,其中,所述一个或多个主机计算机和所述一个或多个USB外围设备通过数据通信网络彼此连接,所述计算机系统包括a.一个或多个主机计算机,其用于生成和接受USB通信量;b.一个或多个USB外围设备,其能够响应于由所述一个或多个主机计算机开始的USB通信量;c.所述一个或多个主机计算机与所述数据通信网络之间的一个或多个网络连接;d.USB反射器单元,其能够将从所述一个或多个主机计算机接收到的USB通信量反射回到所述一个或多个主机计算机;e.一个或多个USB分配器单元,其连接至所述数据通信网络,并用于将所述一个或多个USB外围设备连接到所述数据通信网络;f.USB反射器驱动器,其位于所述一个或多个主机计算机中,用于与所述USB反射器单元进行通信;以及g.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子动作,以及将所述一组转换的USB子动作往回向所述一个或多个主机计算机反射,所述USB反射器单元包括a.至少一个USB收发器,其用于与至少一个主机计算机进行通信;以及b.反射器核,其用于通过所述至少一个USB收发器来接受和反射USB子动作,并用于将 USB子动作转换为一组转换的USB子动作。
9.根据权利要求8所述的USB反射器单元,还包括用于响应于由所述主机计算机发布的USB列举命令的装置。
10.根据权利要求8所述的USB反射器单元,还包括用于将指向多于一个USB地址的 USB通信量汇集为指向单个地址的USB通信量的装置。
11.根据权利要求8所述的USB反射器单元,还包括用于将指向多于一个USB端点的 USB通信量汇集为指向单个端点的USB通信量的装置。
12.一种反射器核单元,其用于通过所述至少一个USB收发器来接受和反射USB子动作,并且将USB子动作转换为一组转换的USB子动作,所述反射器核单元包括a.USB响应器,其用于解析USB命令并生成适当的USB响应;b.数据包高速缓冲存储器,其用于存储USB子动作和转换的USB子动作;c.状态表,其用于记录由所述反射器核单元支持的每个USB设备的配置和状态;d.USB汇集器,其用于将从USB主机控制器接收的USB子动作转换为可以被反射回到 USB主机控制器的USB子动作;以及e.控制器,其用于协调所述USB响应器、所述数据包高速缓冲存储器、所述状态表和所述USB汇集器的操作。
13.—种USB分配器单元,其用于接受从主机计算机接收的USB子动作并将所述USB子动作向多个USB外围设备转发,以及用于接受从所述多个USB外围设备接收的USB子动作, 并将所述USB子动作向所述主机计算机转发,所述USB分配器单元包括a.至少一个USB收发器,其用于与所述多个USB外围设备通信;以及b.分配器核,其用于通过所述至少一个USB收发器接受和转发USB子动作。
14.一种用于在数据通信网络上从USB外围设备向主机计算机传输数据的方法,所述方法包括a.在USB反射器单元处从第一主机计算机接收输入数据的第一请求;b.将所述输入数据的第一请求存储在所述USB反射器单元处;c.可选地,在所述USB反射器单元处用否定确认响应来对所述第一主机计算机进行响应;d.在所述USB反射器单元处从第二主机计算机接收输入数据的第二请求;e.用包含所述输入数据的第一请求的数据响应对所述第二主机计算机进行响应;f.可选地,在所述USB反射器单元处接收来自所述第二主机计算机的确认响应;g.在所述第二主机计算机处接收包含所述输入数据的第一请求的所述数据响应;h.在所述第二主机计算机处在数据通信网络上转发接收到的包含所述输入数据的第一请求的所述数据响应;i.在USB分配器单元处接收转发的包含所述输入数据的第一请求的所述数据响应;j.在所述USB分配器单元处从转发的所述数据响应中提取所述输入数据的第一请求; k.在USB分配器单元处将所提取的所述输入数据的第一请求传输到USB外围设备; 1.在USB分配器单元处接收来自USB外围设备的第二数据响应; m.可选地,在USB分配器单元处用确认响应来对所述USB外围设备进行响应; η.在USB分配器单元处将所提取的所述输入数据的第一请求和所述第二数据响应组合为组合数据响应;ο.在所述USB分配器单元处在数据通信网络上转发所述组合数据响应; P.在所述第二主机计算机处接收转发的所述组合数据响应; q.在所述第二主机计算机处生成包含转发的所述组合数据响应的输出数据的通知; r.在所述USB反射器单元处接收所生成的包含转发的所述组合数据响应的所述输出数据的通知;s.可选地,用确认响应来对所述第二主机计算机进行响应;t.在所述USB反射器单元处存储所接收的包含转发的所述组合数据响应的所述输出数据的通知;U.在所述USB反射器单元处从所存储的包含转发的所述组合数据响应的所述输出数据的通知中提取所述输入数据的第一请求和所述第二数据响应;v.在所述USB反射器单元处从第一主机计算机接收输入数据的第二请求; w.在所述USB反射器单元处使所提取的所述输入数据的第一请求与所接收的所述输入数据的第二请求相匹配;χ.在所述USB反射器单元处将所提取的所述第二数据响应转发到所述第一主机计算机;以及Y.可选地,从所述第一主机计算机获取确认响应。
15.根据权利要求14所述的方法,所述反射器单元利用第一简档与所述第一主机计算机进行通信,并且利用第二简档与所述第二主机计算机进行通信。
16.根据权利要求14所述的方法,其中,所述第一主机计算机和所述第二主机计算机是同一计算机。
17.一种用于在数据通信网络上从主机计算机向USB外围设备传输数据的方法,所述方法包括a.在USB反射器单元处从第一主机计算机接收输出数据的第一通知;b.将所述输出数据的第一通知存储在USB反射器单元处;c.可选地,在USB反射器单元处用否定确认响应来对所述第一主机计算机进行响应;d.在USB反射器单元处从第二主机计算机接收输入数据的第一请求;e.用包含所述输出数据的第一通知的数据响应对所述第二主机计算机进行响应;f.可选地,在所述USB反射器单元处接收来自所述第二主机计算机的确认响应;g.在所述第二主机计算机处接收包含所述输出数据的第一通知的所述数据响应;h.在所述第二主机计算机处在数据通信网络上转发接收到的包含所述输出数据的第一通知的所述数据响应;i.在USB分配器单元处接收转发的包含所述输出数据的第一通知的所述数据响应;j.在所述USB分配器单元处从转发的所述数据响应中提取所述输出数据的第一通知; k.在USB分配器单元处将所提取的所述输出数据的第一通知传输到USB外围设备; 1.在USB分配器单元处接收来自USB外围设备的第二确认响应; m.在USB分配器单元处将所提取的所述输出数据的第一通知和所述第二确认响应组合为组合数据响应;η.在所述USB分配器单元处在数据通信网络上转发所述组合数据响应; ο.在所述第二主机计算机处接收转发的所述组合数据响应; P.在所述第二主机计算机处生成包含转发的所述组合数据响应的输出数据的通知; q.在USB反射器单元处接收所生成的包含转发的所述组合数据响应的所述输出数据的通知;r.可选地,用确认响应来对所述第二主机计算机进行响应;s.在USB反射器单元处存储所接收的包含转发的所述组合数据响应的所述输出数据的通知;t.在USB反射器单元处从所存储的包含转发的所述组合数据响应的所述输出数据的通知中提取所述输出数据的第一通知和所述第二确认响应;u.在USB反射器单元处从第一主机计算机接收输出数据的第三通知; v.在USB反射器单元处使所提取的所述输出数据的第一通知与所接收的所述输出数据的第三通知相匹配;以及w.在USB反射器单元处将所提取的所述第二确认响应转发到所述第一主机计算机。
全文摘要
提供了一种方法和装置,能够将多个利用USB规范的标准USB外围设备分配在网络上的各个节点,其中,网络上的通信可以利用标准的、未更改的USB主机计算机的任何已经存在的网络连接性。具体地,添加了反射器功能,以将数据通信向已经存在的收发器反射。结果,主机计算机构建了第一简档和第二简档用于数据通信的目的,并使用这些特征以利用已经存在的数据通信部件在网络上进行通信。
文档编号G06F13/38GK102216919SQ200980141361
公开日2011年10月12日 申请日期2009年8月14日 优先权日2008年8月15日
发明者J·A·麦克利昂 申请人:伊克隆技术公司