CN101529401B - 用于在网络上分配usb集线器功能的方法和装置 - Google Patents

用于在网络上分配usb集线器功能的方法和装置 Download PDF

Info

Publication number
CN101529401B
CN101529401B CN200780035720.XA CN200780035720A CN101529401B CN 101529401 B CN101529401 B CN 101529401B CN 200780035720 A CN200780035720 A CN 200780035720A CN 101529401 B CN101529401 B CN 101529401B
Authority
CN
China
Prior art keywords
usb
extender
local
principal computer
long
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
Application number
CN200780035720.XA
Other languages
English (en)
Other versions
CN101529401A (zh
Inventor
J·A·麦莱奥
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.)
Icron Tecnologies Corp
Original Assignee
Icron Tecnologies 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 Icron Tecnologies Corp filed Critical Icron Tecnologies Corp
Publication of CN101529401A publication Critical patent/CN101529401A/zh
Application granted granted Critical
Publication of CN101529401B publication Critical patent/CN101529401B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/4045Coupling between buses using bus bridges where the bus bridge performs an extender function

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)
  • Bus Control (AREA)
  • Small-Scale Networks (AREA)

Abstract

提供了一种用于通过数据通信网络在主计算机和一个或者多个USB适应的外围设备之间传输数据的方法和相关装置,其在存在传输延迟大于USB规范通常所允许的传输延迟的情况下操作。主计算机连接到本地扩展器设备,该本地扩展器设备又通过数据通信网络连接到一个或者多个远程扩展器设备。该远程扩展器设备又连接到多个常规USB外围设备。在主计算机和外围设备之间的数据被存储在本地扩展器和远程扩展器中并在其中被处理,以便允许主计算机和USB外围设备以大于通常所允许的时间延迟操作。特别地,当在主计算机和USB外围设备之间的往返传输延迟超过1微秒时本发明最有用。

Description

用于在网络上分配USB集线器功能的方法和装置
技术领域
本发明涉及用于使用通用串行总线(USB)端口在计算机和设备之间传输信号的方法和装置,并且尤其涉及用于操作分布在数据通信网络上的多个USB外围设备的方法。
背景技术
通用串行总线(USB)是一种被设计为允许广泛的外围设备附着于普通用户的个人计算机的技术。该技术支持所有常见外围设备,比如键盘、鼠标、扬声器、操纵杆、照相机、闪存驱动器、硬盘驱动器、DVD驱动器和许多其它外围设备,并且它在当前计算机中的使用是常见的。
USB由计算机和通信市场中的七个最大的公司联合创制。那些公司是Intel、Compaq、Microcoft、Nortel、NEC、Digital以及IBM。限定USB的规范(例如,Intel等公司于1996年1月编写的通用串行总线规范,修订版1.0;并且于1998年9月23更新为修订版1.1,并且进一步于2000年4月更新为修订版2.0,以及随后的更新、添加并且修改,在下文中统一称为“USB规范”,该术语可以包括进一步的变化和修改)是非专有的并且由被称为USB应用者论坛(USB-IF)的开放式工业组织管理。为了遵循USB标准,该USB规范建立了多个必须被满足的标准。该USB规范还限定了多个术语,为了该规范而采用这些术语的定义。
根据该USB规范,数据通信由USB主机控制器单元管理,该USB主机控制器单元优选地安置在主计算机中。此外,所述数据通信发生在一系列USB事务中,其中每个USB事务由USB主机控制器发起(initiate)并且由一个、两个或三个子动作组成。每个子动作由数据流的方向反转(reversal)而终止。
然而,与本发明最相关的特征是当前所有已知的USB规范将设备可以离开其主计算机的距离限制为最大5米。通过使用一系列USB集线器(意欲支持增加的总数而不是增加的距离的设备)使该距离限制理论上能够增加到30米。然而,该多集线器的解决方案既昂贵又笨重。
在美国专利号为6381666(其内容被结合于此作为参考)的专利中,提供了一种用于扩展主计算机和外围设备之间的距离的方法和装置,其将可用的距离增加到100米或更长。虽然该方法是有益的,但仍希望提供用于实现相同效果的替换和/或改进的方法和设备。
限制USB的范围能够被扩展的程度的主要因素是传输延迟。对于从主计算机到设备又回到计算机的单次通信的往返延迟,USB规范允许大约1.5微秒的最大周期。该1.5微秒的往返延迟预算由两个近似相等的部分组成,即在主计算机和设备之间的双向传输延迟,以及第二,该设备需要用来创建期望的响应的换向(turn-around)时间。在美国专利号6381666中描述的方法消除了对往返延迟的上限的该限制。
虽然在美国专利号6381666中描述的方法使在扩展的距离上操作USB外围设备成为可能,但在存在长传输延迟的情况下该方法没有描述多个USB外围设备彼此被大大地分开的配置。虽然通过利用在美国专利号6381666中描述的方法的多个示例能够满足对大范围地分开由单个主计算机控制的USB外围设备的要求,但是设计更加灵活的和划算的方法将是有益的。
与本发明相关的另一特征是当前所有已知的USB规范均要求每当多个USB外围设备被要求同时连接到USB主机控制器上的单个端口时都要使用USB集线器。USB集线器的属性是所述集线器安装有用于连接到USB主机控制器(或者上游集线器)的单个上游(upstream)端口以及多个用于连接到多个USB外围设备(或者下游集线器)的下游(downstream)端口。驻留在包含该USB主机控制器的主计算机中的USB驱动器软件知道USB集线器和USB外围设备的连接拓扑,并且如果没有保持所述拓扑,则该USB驱动器软件将不能运行。
由此已经表明支持来自单个USB主机控制器的多个USB外围设备要求USB集线器连接在所述USB外围设备和所述USB主机控制器之间,并且,所述USB集线器必须安装有用于每个USB外围设备的单个下游端口。然而,如果希望将数据通信网络插在所述USB集线器和所述USB外围设备之间,那么通过单个物理连接来集中所有在所述USB集线器和所述数据通信网络之间输送的USB通信量(traffic)将是有利的。
与本发明相关的又一个特征是当前所有已知的USB规范均要求USB集线器的每个下游端口支持对在所述下游端口和可以连接到其上的任何USB外围设备之间的物理连接的控制和监视。特别地,所述下游端口必须能够检测USB外围设备的连接和断开,并且必须能够重置、中止和恢复所述USB外围设备的操作。当所述单个物理连接被到数据通信网络的共享连接取代的时候,保持通常与单个物理连接相关联的所述连接、断开、重置、中止、和恢复的能力将是有利的。
发明内容
因此,虽然已经证明如美国6381666描述的扩展USB范围的技术在点到点的配置中是有用的,但仍希望通过提供用于利用USB规范使多个外围设备能够分布在网络上的不同位置的改进的方法和设备来提供对该技术的改进,其中所述网络可能呈现长的传输延迟。
因此,本发明的目的是提供使多个USB外围设备通过虚拟USB集线器连接到配备有USB主机控制器的主计算机的方法和装置。
本发明的另一个目的是所述虚拟USB集线器的功能可以分配在数据通信网络上。
本发明的另一个目的是所述主计算机可以通过单个物理连接连接到所述数据通信网络。
本发明的另一个目的是所述数据通信网络可以呈现超过由该USB规范所定义的参数的传输延迟。
本发明的另一个目的是所述多个USB外围设备和所述USB主机控制器可以以根据该USB2.0规范所允许的任何数据速率运行。
本发明的另一个目的是所述虚拟USB外围设备可以连接到所述虚拟USB集线器。
本发明的另一个目的是不需要对由该系统支持的并且在USB协议下运行的现有主计算机、集线器和设备做出硬件或者软件的改变。从而,本发明可以并入到由传统的延迟设备和扩展的延迟设备组成的网络中。
本发明的另一个目的是不需要关于所述数据通信网络而对所述多个USB外围设备进行布置的先验知识。
本发明另一个目的是当现有技术的物理连接被如本发明所描述的网络连接替代的时候,连接、断开、重置、中止和恢复的USB设备管理功能将按照现有技术的USB规范运行。
本发明的另一个目的是该装置非常合算,与USB产业所制订的设备的最大总数(broadest population)的目标一致。
通过本发明,将完全地或者至少部分地获得本发明这些及其他目的,其在此处将变得明显,该发明提供了一种方法和相关设备,其中主计算机连接到本地扩展器设备,该本地扩展器设备又通过数据通信网络连接到一个或者多个远程扩展器设备。该远程扩展器设备又连接到多个传统USB外围设备,其中所述主计算机和所述USB外围设备之间的信号在本地扩展器和/或远程扩展器中被处理以便允许该主计算机和该USB外围设备在存在大于USB规范通常所允许的传输延迟的情况下运行。特别地,当该主计算机和该USB外围设备之间的往返传输延迟超过1微秒时本发明最为有用。
因此,在第一个方面,本发明提供用于在主计算机和一个或者多个USB外围设备之间传输数据的计算机系统,其中所述USB外围设备被分布在遍及数据通信网络,并且其中所述网络上的传输延迟大于USB规范通常允许的传输延迟,所述计算机系统包括连接到本地扩展器设备的主计算机,该本地扩展器设备通过数据通信网络连接到一个或者多个远程扩展器设备,该一个或者多个远程扩展器设备又连接到多个USB外围设备,其中在所述主计算机和所述USB外围设备之间的信号被保存、收集、吸收(absorb)、或者以其它方式在本地扩展器和/或远程扩展器中被处理以便允许该主计算机和该USB外围设备在存在往返延迟大于USB规范所允许的往返延迟的情况下运行。
优选地,该往返延迟包括传输延迟和换向时间延迟,并且其中在主计算机和USB外围设备之间的所述传输延迟超过1微秒。
因而,本发明提供用于在主计算机和一个或者多个USB外围设备之间传输数据的计算机系统,其中所述USB外围设备被分布在遍及数据通信网络,并且其中所述网络上的传输延迟大于USB规范通常所允许的传输延迟,所述计算机系统包括:
a)用于产生并接受USB子动作的主计算机;
b)一个或者多个能够响应于由所述主计算机发起的USB子动作的USB外围设备;
c)连接到所述主计算机的本地扩展器单元,用于将来自所述主计算机的USB子动作转发到数据通信网络,以及用于将从所述数据通信网络接收的USB子动作转发到所述主计算机;
d)一个或者多个远程扩展器单元,每个远程扩展器单元被连接到一个或者多个USB外围设备,该远程扩展器单元用于将从所述数据通信网络接收的USB子动作转发到所述USB外围设备,以及用于将从所述USB外围设备接收的USB子动作转发到所述数据通信网络;
e)数据通信网络,用于将来自所述本地扩展器单元的USB子动作转发到所述远程扩展器单元,以及用于将来自所述远程扩展器单元的USB子动作转发到所述本地扩展器单元;
f)在所述本地扩展器单元中用于通过所述数据通信网络将从所述主计算机接收的USB子动作转发到所述远程扩展器单元,以及用于产生USB子动作并且将所产生的USB子动作发送到所述主计算机的装置;
g)在所述远程扩展器单元中用于将从所述主计算机接收的所述USB子动作转发到一个或者多个USB外围设备,以及用于接收从USB外围设备接收的子动作的装置;
h)在所述远程扩展器单元中用于通过所述数据通信网络将从USB外围设备接收的所述子动作转发到所述本地扩展器单元的装置;
i)在所述远程扩展器单元中用于为确认从USB外围设备接收了USB子动作而产生USB子动作,并且将所述产生的确认USB子动作发送到所述USB外围设备的装置;
j)在所述远程扩展器单元中用于响应于从所述主计算机接收的USB子动作而产生USB子动作并且将所述产生的响应USB子动作发送到所述本地扩展器单元的装置;
k)在所述本地扩展器单元中用于当通过所述数据通信网络从所述远程扩展器接收的入站(inbound)USB子动作序列与公共的(common)出站(outbound)USB子动作有关时而接收并且识别的装置;
l)在所述本地扩展器单元中用于存储来自所述远程扩展器单元的入站USB子动作直到这样的入站USB子动作再次被所述主计算机请求的装置;以及
m)在所述本地扩展器单元中用于将所述存储的USB子动作转发到所述主计算机的装置。
该计算机系统还优选地包括:
a)优选地在所述本地扩展器单元中用于吸收重复的USB子动作的装置;
b)在所述远程扩展器单元中用于将USB子动作序列组合为原子USB子动作,并且优选地将所述原子USB子动作发送到所述USB外围设备的装置;以及
c)在所述远程扩展器单元中用于将原子USB子动作分解为离散的USB子动作序列,并且优选地将所述离散的USB子动作序列发送到所述本地扩展器单元的装置。
在另一个方面,本发明还在上文根据本发明所描述的计算机系统中提供用于在主计算机和数据通信网络之间传输USB通信量的本地扩展器设备,其中所述USB通信量可以被定址(address)到多个USB外围设备,所述装置包括:
a)用于连接到所述主计算机的USB收发器;
b)用于控制所述USB收发器的面向上游(upstream-facing)的端口;
c)用于再生穿过所述装置的USB子动作以及用于在所述装置的各部件之间交换USB子动作的本地中继器单元;
d)用于在由所述装置的处理期间存储USB子动作的存储器单元;
e)用于为在下游(主机到网络)方向移动的USB子动作提供网络地址的本地路由器单元;
f)用于连接到所述数据通信网络的网络收发器;
g)用于响应由所述主计算机产生的关于所述多个USB外围设备的状态的子动作的集线器控制器单元;
h)用于例示多个用于管理所述多个USB外围设备状态的虚拟端口的装置;
i)用于例示多个用于提供增值(value-added)功能的虚拟USB设备的装置;
j)在所述本地中继器中用于识别定址到所述集线器控制器的USB子动作的装置;
k)在所述本地中继器中用于识别定址到所述多个虚拟USB设备的USB子动作的装置;
l)在多个例示的所述虚拟端口中用于保持所述多个USB外围设备的状态的装置;
m)在多个例示的所述虚拟端口中用于从所述数据通信网络接收设备状态改变的信号并更新所述多个USB外围设备的状态的装置;以及
n)在所述集线器控制器中用于从所述主计算机接收设备管理命令并且将设备管理信号发送到所述数据通信网络的装置。
在另一个方面,本发明还在上文根据本发明所描述的计算机系统中提供用于在数据通信网络和USB外围设备之间传输USB子动作的远程扩展器装置,所述装置包括:
a)用于连接到所述数据通信网络的网络收发器;
b)用于为在上游(网络到主机)方向上移动的USB子动作提供网络地址的远程路由器单元;
c)用于再生穿过所述装置的USB子动作以及用于在所述装置的各部件之间交换USB子动作的远程中继器单元;
d)用于在高速分离事务(split transaction)和全速/低速的原子事务之间进行转换的事务转换器单元;
e)用于在所述装置处理期间存储USB子动作的存储器单元;
f)用于连接到所述USB外围设备的USB收发器;
g)用于控制所述USB收发器的面向下游的端口;
h)在所述远程路由器单元中用于识别分离的事务的装置;
i)在所述下游端口控制器中用于检测所述USB外围设备的状态的装置;
j)在所述下游端口控制器中用于产生设备状态信号并且将所述信号发送到所述数据通信网络的装置;
k)在所述下游端口控制器中用于从所述数据通信网络接收设备管理信号的装置;以及
l)在所述下游端口控制器中用于改变所述USB外围设备的状态的装置。
为了运行,该系统优选地包括用于检测USB外围设备到该系统的附着、检测USB外围设备的分离、以及确定USB功能的网络地址的装置以及能力,其中所述USB功能可以是USB集线器或者USB外围设备。
因而,在另一个方面,本发明提供用于由主计算机通过本地扩展器和远程扩展器,优选在其往返延迟超过1微秒的数据通信网络上检测USB外围设备的附着的方法,其中所述主计算机和所述USB外围设备符合USB规范的要求,该方法包括:
a)在所述远程扩展器处检测设备附着事件,使所述远程扩展器将设备连接信号发送到所述本地扩展器,然后使所述本地扩展器更新所述USB外围设备的连接状态改变的本地扩展器的本地记录以及所述USB外围设备的连接状态的本地扩展器的本地记录;
b)在所述本地扩展器处从所述主计算机接收对设备状态改变信息的请求,并且使所述本地扩展器通知所述主计算机所述USB外围设备的状态已经改变;
c)在所述本地扩展器处从所述主计算机接收对所述USB外围设备的状态的请求,并且使所述本地扩展器将连接状态改变的所述本地记录以及连接状态的所述本地记录提供给所述主计算机;
d)在所述本地扩展器处从所述主计算机接收清除所述连接状态改变信息的请求,并且使所述本地扩展器清除连接状态改变信息的所述本地记录;
e)在所述本地扩展器处从所述主计算机接收对所述USB外围设备的状态的另一请求,并使所述本地扩展器将清除的连接状态改变的被所述本地记录以及连接状态的所述本地记录提供给所述主计算机;
f)在所述本地扩展器处从所述主计算机接收重置所述USB外围设备的命令,使所述本地扩展器将重置信号发送到所述远程扩展器,然后使所述远程扩展器对所述USB外围设备执行物理重置;
g)在所述远程扩展器处检测所述USB外围设备的传输速度,使所述远程扩展器将速度信号发送到所述本地扩展器,然后使所述本地扩展器更新所述USB外围设备的传输速度的本地扩展器的本地记录以及所述USB外围设备的重置状态改变的本地扩展器的本地记录;
h)在所述本地扩展器处从所述主计算机接收对设备状态改变信息的另一请求,并且使所述本地扩展器通知所述主计算机所述USB外围设备的状态已经改变;
i)在所述本地扩展器处从所述主计算机接收对所述USB外围设备的状态的又一请求,并且使所述本地扩展器将所述USB外围设备的传输速度的所述本地记录以及所述USB外围设备的重置状态改变的本地扩展器的本地记录提供给所述主计算机;
j)在所述本地扩展器处从所述主计算机接收清除所述重置状态改变信息的请求,并且使所述本地扩展器清除所述重置状态改变信息的本地记录;以及
k)在所述本地扩展器处从所述主计算机接收对所述USB外围设备的状态的请求,并且使所述本地扩展器将被清除的所述重置状态改变的本地记录提供给所述主计算机。
在另一个方面,本发明提供用于由主计算机通过本地扩展器和远程扩展器,优选地在其往返延迟超过1微秒的数据通信网络上检测USB外围设备的分离的方法,其中所述主计算机和所述USB外围设备符合USB规范的要求,该方法包括:
a)在所述远程扩展器处检测设备分离事件,使所述远程扩展器将设备断开信号发送到所述本地扩展器,然后使所述本地扩展器更新所述USB外围设备的连接状态改变的本地扩展器的本地记录以及所述USB外围设备的连接状态的本地扩展器的本地记录;
b)在所述本地扩展器处从所述主计算机接收对设备状态改变信息的请求,并且使所述本地扩展器通知所述主计算机所述USB外围设备的状态已经改变;
c)在所述本地扩展器处从所述主计算机接收对所述USB外围设备的状态的请求,并且使所述本地扩展器将连接状态改变的所述本地记录以及连接状态的所述本地记录提供给所述主计算机;
d)在所述本地扩展器处从所述主计算机接收清除所述连接状态改变信息的请求并且使所述本地扩展器清除所述连接状态改变信息的本地记录;
e)在所述本地扩展器处从所述主计算机接收清除所述USB外围设备的使能状态信息的请求,并且使所述本地扩展器清除使能状态信息的本地扩展器的本地记录;以及
f)在所述本地扩展器处从所述主计算机接收对所述USB外围设备的状态的另一请求,并且使所述本地扩展器将被清除的连接状态改变的所述本地记录以及被清除的使能状态的所述本地记录提供给所述主计算机。
在另一个方面,本发明提供用于确定USB功能的网络地址的方法,其中所述USB功能可以是USB集线器或者USB外围设备,并且其中多个所述USB功能可以分布在遍及数据通信网络,并且其中由主计算机将USB地址分配给每个USB功能,该方法包括:
a)为直接或者间接连接到所述网络的每个第一USB功能建立数据记录,并且通过由所述主计算机动态分配的唯一的USB地址来识别每个记录;
b)将所述第一USB功能连接到的上游USB集线器的USB地址记录在所述数据记录内;
c)将所述第一USB功能连接到的上游USB集线器的端口号记录在所述数据记录内;
d)将直接连接到所述第一USB功能的每个下游USB功能的USB地址记录在所述数据记录内;
e)将每个下游USB功能连接到的所述第一USB功能的端口号记录在所述数据记录内;以及
f)记录被分配给所述第一USB功能的网络地址。
在另一个方面,本发明还提供用于在主计算机和一个或者多个USB外围设备之间传输数据的方法,其中所述USB外围设备被分布在遍及数据通信网络,并且其中所述网络上的传输延迟大于USB规范通常所允许的传输延迟,所述方法包括:将主计算机连接到本地扩展器设备;将本地扩展器设备通过数据通信网络连接到一个或者多个远程扩展器设备;以及将所述远程扩展器设备连接到一个或者多个USB外围设备,其中在所述主计算机和所述USB外围设备之间的信号被保存、收集、吸收、或者以其它方式在本地扩展器和/或远程扩展器中处理以便允许该主计算机和该USB外围设备在存在往返延迟大于USB规范所允许的往返延迟的情况下运行。
更详细地,本发明提供用于通过本地扩展器将USB命令从主计算机传输到数据通信网络上的唯一的网络地址的方法,该方法包括:
a)在本地扩展器处从主计算机接收USB命令;
b)从所述USB命令提取第一USB地址;
c)利用所述第一USB地址来访问类似记录的列表内的第一数据记录;
d)确定所述第一数据记录是否包含有效的网络地址;
e)从所述第一数据记录提取识别上游USB集线器的第二USB地址,通过所述上游USB集线器,可以访问所述第一USB地址;
f)重复步骤(c)到步骤(e)直到发现有效的网络地址;
g)将所述USB命令封装在网络包中;
h)将所述网络包定址到所述有效网络地址;以及
i)将所述被定址的网络包传输到所述数据通信网络。
在另一个方面,本发明提供用于通过远程扩展器和本地扩展器在主计算机和USB外围设备之间,优选地在其往返延迟超过1微秒的数据通信网络上进行异步数据事务的方法,其中所述主计算机以高速运行并且所述USB外围设备以典型速度(classic-speed)(全速或者低速)运行,并且其中所述数据以从设备到主机的方向传输,该方法包括:
a)在本地扩展器处从所述主计算机接收对开始分离的数据传输会话的第一请求,使所述本地扩展器通过网络将所述第一请求转发到所述远程扩展器,然后使所述本地扩展器产生对所述主计算机的否定应答响应;
b)在本地扩展器处从所述主计算机接收对开始分离的数据传输会话的后续请求,并且使所述本地扩展器继续产生对所述主计算机的否定应答响应直到所述本地扩展器从所述远程扩展器接收到对所述转发的第一请求的响应;
c)在远程扩展器处接收对开始分离的数据传输会话的转发的所述第一请求,使所述远程扩展器将对开始分离的数据传输会话的转发的所述请求转换为对数据传输的典型速度请求,然后使所述远程扩展器将对数据传输的所述典型速度请求转发到所述USB外围设备;
d)在远程扩展器处产生肯定应答响应并且通过网络将所述肯定应答响应转发到所述本地扩展器;
e)在本地扩展器处接收转发的所述肯定应答响应,并且使所述本地扩展器将转发的所述肯定应答响应存储在本地存储器中;
f)在本地扩展器处从所述主计算机接收对开始分离的数据传输会话的另一请求,使所述本地扩展器从本地存储器检索转发的所述肯定应答响应,然后使所述本地扩展器将检索的所述肯定应答响应转发到所述主计算机;
g)在远程扩展器处从所述USB外围设备接收数据传输响应,并且使所述远程扩展器产生对所述USB外围设备的肯定应答响应,然后使所述远程扩展器通过网络将所述数据传输响应转发到所述本地扩展器;
h)在本地扩展器处接收对完成分离的数据传输会话的第一请求,使所述本地扩展器检查本地存储器是否不存在数据传输响应,然后使所述本地扩展器产生对所述主计算机的仍没有应答;
i)在本地扩展器处从所述远程扩展器接收转发的所述数据传输响应,并且使所述本地扩展器将转发的所述数据传输响应存储在本地存储器中;以及
j)在本地扩展器处接收对完成分离的数据传输会话的另一请求,使所述本地扩展器从本地存储器检索转发的所述数据传输响应,然后使所述本地扩展器将检索的所述数据传输响应转发到所述主计算机。
在另一个方面,本发明提供用于通过本地扩展器和远程扩展器在主计算机和USB外围设备之间,优选地在其往返延迟超过1微秒的数据通信网络上进行异步数据事务的方法,其中所述主计算机以高速运行并且所述USB外围设备以典型速度(全速或者低速)运行,并且其中所述数据以从主机到设备的方向传输,该方法包括:
a)在本地扩展器处从所述主计算机接收开始分离的数据传输会话的第一通知,使所述本地扩展器通过网络将所述第一通知转发到所述远程扩展器,然后使所述本地扩展器产生对所述主计算机的否定应答响应;
b)在本地扩展器处从所述主计算机接收开始分离的数据传输会话的后续通知,并且使所述本地扩展器继续产生对所述主计算机的否定应答响应直到所述本地扩展器从所述远程扩展器接收到对转发的所述第一通知的响应;
c)在远程扩展器处接收开始分离的数据传输会话的转发的所述第一通知,使所述远程扩展器将开始分离的数据传输会话的转发的所述通知转换为数据传输的典型速度通知,然后使所述远程扩展器将数据传输的所述典型速度通知转发到所述USB外围设备;
d)在远程扩展器处产生肯定应答响应,并且通过网络将所述肯定应答响应转发到所述本地扩展器;
e)在本地扩展器处接收转发的所述肯定应答响应,并且使所述本地扩展器将转发的所述肯定应答响应存储在本地存储器中;
f)在本地扩展器处从所述主计算机接收开始分离的数据传输会话的另一通知,使所述本地扩展器从本地存储器检索转发的所述肯定应答响应,然后使所述本地扩展器将检索的所述肯定应答响应转发到所述主计算机;
g)在远程扩展器处从所述USB外围设备接收肯定应答响应,并且使所述远程扩展器通过网络将所述肯定应答响应转发到所述本地扩展器;
h)在本地扩展器处接收对完成分离的数据传输会话的第一请求,使所述本地扩展器检查本地存储器是否不存在肯定应答响应,然后使所述本地扩展器产生对所述主计算机的仍没有应答;
i)在本地扩展器处从所述远程扩展器接收转发的所述肯定应答响应,并且使所述本地扩展器将转发的所述肯定应答响应存储在本地存储器中;以及
j)在本地扩展器处接收对完成分离的数据传输会话的另一请求,使所述本地扩展器从本地存储器检索转发的所述肯定应答响应,然后使所述本地扩展器将检索的所述肯定应答响应转发到所述主计算机。
在另一个方面,本发明提供用于通过远程扩展器和本地扩展器在主计算机和USB外围设备之间,优选地在其往返延迟超过1微秒的数据通信网络上进行同步数据事务的方法,其中所述主计算机以高速运行并且所述USB外围设备以典型速度(全速或者低速)运行,并且其中所述数据以从设备到主机的方向传输,该方法包括:
a)在本地扩展器处从所述主计算机接收对开始分离的数据传输会话的第一请求,使所述本地扩展器通过网络将对开始分离的数据传输会话的所述第一请求转发到所述远程扩展器;
b)在本地扩展器处接收对完成分离的数据传输会话的第一请求,使所述本地扩展器检查本地存储器是否不存在分离的数据传输响应的完成序列,然后使所述本地扩展器产生对所述主计算机的空数据响应;
c)在远程扩展器处接收对开始分离的数据传输会话的转发的所述第一请求,使所述远程扩展器将对开始分离的数据传输会话的转发的所述请求转换为数据传输的典型速度请求,然后使所述远程扩展器将对数据传输的所述典型速度请求转发到所述USB外围设备;
d)在远程扩展器处从所述USB外围设备接收数据传输响应,并且使所述远程扩展器将接收的所述数据传输响应转换为分离的数据传输响应的序列,并且然后使所述远程扩展器通过网络将分离的数据传输响应的所述序列转发到所述本地扩展器;
e)在本地扩展器处从所述远程扩展器接收转发的分离的数据传输响应的所述序列,并且使所述本地扩展器将转发的分离的数据传输响应的所述序列存储在本地存储器中;
f)在本地扩展器处从所述主计算器接收对开始分离的数据传输会话的后续请求,并且使所述本地扩展器通过网络将所述后续请求转发到所述远程扩展器;以及
g)在本地扩展器处接收对完成分离的数据传输会话的后续请求的序列,使所述本地扩展器检查本地存储器是否存在分离的数据传输响应的完成序列,然后使所述本地扩展器从存储器检索分离的数据响应的所述序列,并且将分离的数据响应的所述序列转发到所述主计算机。
在另一个方面,本发明提供用于通过本地扩展器和远程扩展器在主计算机和USB外围设备之间,优选地在其往返延迟超过1微秒的数据通信网络上进行同步数据事务的方法,其中所述主计算机以高速运行并且所述USB外围设备以典型速度(全速或者低速)运行,并且其中所述数据以从主机到设备的方向传输,该方法包括:
a)在本地扩展器处从所述主计算机接收开始分离的数据传输会话的通知,使所述本地扩展器通过网络将开始分离的数据传输会话的所述通知转发到所述远程扩展器,然后使所述远程扩展器将开始分离的数据传输会话的所述通知存储在本地存储器中;
b)在本地扩展器处从所述主计算机接收继续分离的数据传输会话的第一通知,使所述本地扩展器通过网络将继续分离的数据传输会话的所述第一通知转发到所述远程扩展器,然后使所述远程扩展器将继续分离的数据传输会话的所述第一通知存储在本地存储器中;
c)在本地扩展器处从所述主计算机接收继续分离的数据传输会话的另一通知,使所述本地扩展器通过网络将继续分离的数据传输会话的所述另一通知转发到所述远程扩展器,然后使所述远程扩展器将继续分离的数据传输会话的所述另一通知存储在本地存储器中;
d)在本地扩展器处从所述主计算机接收完成分离的数据传输会话的通知,使所述本地扩展器通过网络将完成分离的数据传输会话的所述通知转发到所述远程扩展器,然后使所述远程扩展器将完成分离的数据传输会话的所述通知存储在本地存储器中;
e)在远程扩展器处将存储的开始分离的数据传输的所述通知、存储的继续分离的数据传输的所述第一通知、存储的继续分离的数据传输的所述另一通知以及存储的完成分离的数据传输会话的所述通知组合成数据传输的典型速度通知;以及
f)使所述远程扩展器将数据传输的所述典型速度通知转发到所述USB外围设备。
优选实施例的描述
在优选实施例中,该主计算机和该USB外围设备可以是任何支持USB规范的标准单元或设备。优选地,不需要对所述主计算机的硬件或者软件做出修改。
优选地,本地扩展器是通过标准USB电缆连接到所述主计算机的自含式(self-contained)单元。
优选地,远程扩展器是通过多个标准USB电缆连接到所述多个USB外围设备的自含式单元。
该数据通信网络不限于任何特定的传输媒体或者协议,而是能够在操作中在所述主计算机和所述多个USB外围设备之间引入超过1微秒的往返传输延迟的数据通信网络。所述数据通信网络所必需的属性是在至少一个本地扩展器单元和至少一个远程扩展器单元之间提供通信路径。优选地,所述数据通信网络在至少一个本地扩展器单元和多个远程扩展器单元(一点对多点配置)之间提供通信路径。例如,诸如那些基于有线以太网、无线以太网、IEEE 802.15.3和因特网的网络都满足这些要求。
本发明的方法和装置最优选地用于这样的系统,其中所述主计算机是个人计算机,并且所述多个USB外围设备由USB闪存驱动器、USB硬盘驱动器、USB CD/DVD驱动器、USB相机、USB鼠标、USB键盘、USB集线器或者任何其它与USB规范兼容的设备组成。
在本地扩展器单元的优选实施例中,该本地扩展器包括上游收发器和下游收发器,并且该上游收发器是标准USB收发器以及该下游收发器是无线收发器。
在本地扩展器单元的另一个优选实施例中,该上游收发器是标准USB收发器以及该下游收发器是以太网收发器。
在远程扩展器单元的优选实施例中,该远程扩展器包括上游收发器和下游收发器,并且该上游收发器是无线收发器以及该下游收发器是标准USB收发器。
在远程扩展器单元的另一个优选实施例中,该上游收发器是以太网收发器以及该下游收发器是标准USB收发器。
附图说明
就本发明的结构、组织、使用、和操作方法以及其另外的目的和优点而言,被认为是本发明的特性的新颖特征将从所附附图得到更好的理解,本发明的当前优选实施例将以实例的方式在图中示出。然而,应当明确地理解,那些附图的目的仅是说明和描述,而不是限制本发明。现在将结合附图以实例的形式来描述本发明的实施例,其中:
图1是根据USB规范的典型系统拓扑的框图;
图2是根据本发明的相应的系统拓扑的框图。
图3是根据USB规范的集线器的框图。
图4是示出根据本发明的在网络上分配USB集线器功能的框图;
图5是根据现有技术的USB规范的典型的USB事务的时序图。
图6是根据本发明的本地扩展器单元的框图;
图7是根据本发明的远程扩展器单元的框图;
图8是示出根据本发明的处理连接事件的序列图;
图9是示出根据本发明的处理断开事件的序列图;
图10是根据本发明而配置的记录系统的拓扑的列表;
图11是示出根据本发明的处理分离的异步IN事务的序列图;
图12是示出根据本发明的处理分离的异步OUT事务的序列图;
图13是示出根据本发明的处理分离的同步IN事务的序列图;以及
图14是示出根据本发明的处理分离的同步OUT事务的序列图。
具体实施方式
图1是根据USB规范组装的现有技术系统的框图。根据USB规范,USB使能的计算机(20)可以通过USB集线器(31)以及通过一串USB集线器(31和32,以及31到34)连接到多个USB设备(40到45)。一个设备不能连接到另一个设备并且能够在单个串联链中连接的集线器的最大数为五。用于互连计算机、集线器或设备的每个电缆的最大长度是5米。
图2是根据本发明的用于通过网络与USB设备进行通信的系统的框图。
在该布置中,包括用于主计算机(20)的输入/输出操作的USB子动作由本地扩展器(50)截获,该本地扩展器(50)通过标准USB电缆连接到所述主计算机。本地扩展器(50)优选地产生USB协议的“修改”形式,通过网络将该USB协议传递到多个远程扩展器(51a、51b、51c),该多个远程扩展器(51a、51b、51c)能够位于距所述本地扩展器(50)的扩展距离处。如前所述,集线器32和33,以及装置42连接到远程扩展器51a、51b、和51c。
在本发明的该实施例中,将主计算机(20)和本地扩展器(50)组合为单个的单元。对本领域技术人员来说显而易见的是,尽管可以使用这些部件的不同组合,但可替换的封装(packaging)布置是可能的。
每个远程扩展器(51a、51b、51c)从网络(21)接收信号,然后如有必要,优选地将所接收的信号转换为与USB协议兼容的电信号,并且通过USB电缆将这些电信号传递到直接连接的USB集线器(32、33)以及USB外围设备(42)。USB集线器(32、33)将信号中继(relay)到间接连接的USB外围设备(40、41、43、44,45)以及中继到间接连接的USB集线器(34)。当信号从USB外围设备(40到45)传送到主计算机(20)时,发生相反的过程。
此外,在本发明的该实施例中,将远程扩展器(51b)和USB外围设备(42)组合为单个的单元。对本领域技术人员来说显而易见的是,尽管可以使用这些部件的不同组合,但可替换的封装布置是可能的。
而且,在本发明的该实施例中,将远程扩展器(51a)和USB集线器(32)组合为单个的单元。对本领域技术人员来说仍是显而易见的是,尽管可以使用这些部件的不同组合,但可替换的封装布置是可能的。
另外,在本发明的该实施例中,选择了三个远程扩展器、三个远程集线器和六个USB外围设备的特定布置。对于本领域技术人员来说显而易见的是,可以使用不同总数(population)的这些集线器和设备而且可替换的连接布置是可能的。
在本发明的该实施例中,数据通信网络(21)是有线以太网并且在主计算机(20)和USB外围设备(42)之间的往返延迟能够达到例如1毫秒或更长。然而,在其它实施例中,数据通信网络能够被改变,例如,在本发明的另一个实施例中,该数据通信网络(21)可以是无线网络并且在主计算机(20)和USB外围设备(42)之间的往返延迟能够达到例如100毫秒或更长。在本发明的进一步实施例中,该数据通信网络(21)可以是因特网连接并且在主计算机(20)和USB外围设备(42)之间的往返延迟能够达到例如1秒或更长。
因而,对于本领域技术人员来说显而易见的是,可以使用不同的数据通信网络而且相应的通信往返延迟可以相应改变。
图3是根据USB规范组装的现有技术USB集线器的框图。所述USB集线器安装有用于与主计算机或者上游集线器进行通信的上游端口(60)以及用于与多个USB设备或者下游USB集线器进行通信的多个下游端口(65a、65b、65c)。
到达上游端口(60)的USB子动作被转发到集线器中继器(62),该集线器中继器(62)确定所述USB子动作是否能够被直接转发到下游端口(65a、65b、65c)中的一个或必须被导向到事务转换器(61)或者集线器控制器(63)。必须由高速格式转换成典型速度格式的USB子动作被导向到事务转换器(61)。涉及该集线器的内部操作的USB子动作被导向到集线器控制器(63)。涉及直接连接到下游端口(65a、65b、65c)的USB外围设备的状态的USB子动作被导向到集线器控制器(63)。
由所述事务转换器(61)将从集线器中继器(62)到达事务转换器(61)的USB子动作从高速格式转换为典型速度格式,然后通过路由选择逻辑(64)转发到适当的下游端口(65a、65b或者65c)。
在上游方向,到达任何下游端口(65a、65b或者65c)的高速USB子动作由路由选择逻辑(64)转发到集线器中继器(62),该集线器中继器又将所述高速USB子动作转发到上游端口(60)。到达下游端口(65、65b或者65c)的典型速度的USB子动作由路由选择逻辑(64)转发到事务转换器(61),在该传输事务转换器(61)中所述典型速度的USB子动作在被转发到集线器中继器(62)之前被转换为高速USB格式并且在那之后被转发到上游端口(60)。
上游端口的数目一般为一个,但是下游端口的数目可以从1变到255,并且不限于所示的三个端口。
图4是示出根据本发明的在网络上分配USB集线器功能的框图。下面将关于远程扩展器(51b)描述本发明的操作以说明该方法,但是本领域技术人员应当清楚,类似的描述也适用于远程扩展器(51a)和(51c),并且可以部署额外的远程扩展器,超过图4所示的三个单元,高达USB集线器所允许的最多端口数(例如当前可达最多255个端口)。
在本发明的该布置中,上游端口(60)和集线器控制器(63)位于本地扩展器(50)内。图3的用于在剩余的集线器功能之间提供连接性的集线器中继器功能(62)被复制(duplicate)为本地扩展器(50)内的本地中继器(71)以及远程扩展器(51b)内的远程中继器(75b)。
图3的事务转换器(61)位于远程扩展器(51b)内,其称为事务转换器(61b)。图3的下游端口(65b)位于远程扩展器(51b)内,称为下游端口(65b)。
图3的路由选择逻辑(64)可以由本地扩展器(50)中的本地路由器(72)以及远程扩展器(51b)中的远程路由器(74b)替代。而在常规的USB集线器中,要求路由选择逻辑(64)将通信量导向特定端口(65a、65b或者65c),在本发明中,要求该替换逻辑(72和74b)将通信量导向识别远程扩展器(51a、51b或者51c)或者本地扩展器(50)的特定网络节点。
通过添加虚拟端口(73a、73b、73c)来增强集线器控制器(63)的功能性,其中所述虚拟端口将用于保持物理下游端口(65a、65b、65c)的状态的本地机制(mechanism)提供给所述集线器控制器(63)。在该布置中,每个本地虚拟端口(例如73b)提供其对应的远程物理端口(例如65b)的本地仿真,使该集线器控制器(63)能够对本地资源(73b)进行操作,而所述虚拟端口(73b)负责将操作中继给远程物理端口(65b)。当发生在远程物理端口(65b)处的物理事件被中继到相应的本地虚拟端口(73b)时,以相反的方向发生类似过程,然后所述本地虚拟端口(73b)负责向集线器控制器(63)通知所述物理事件。
图5是根据现有技术USB规范的典型USB事务的时序图。
USB事务由一个、两个或更多阶段组成,其中阶段由数据流方向的反转(reversal)而终止。每个阶段能够包含零个、一个或多个离散的USB包(packet),包括单个阶段的包的集合在此称为USB子动作。
在图5所示的实例中,事务#1占用三个阶段并且是定址到异步终点(endpoint)的IN命令的实例。事务#2占用一个阶段并且是定址到同步终点的OUT命令的实例。事务#3、#6和#8占用两个阶段,并且是定址到异步终点的OUT命令的实例。
添加的事务#4和#5也占用两个阶段,并且是定址到异步终点的IN命令的另外的实例。事务#7占用三个阶段并且是定址到低速异步终点的IN命令的实例。
图6是根据本发明的本地扩展器单元(50)的增强框图。包括在所述本地扩展器单元(50)中的特定增强是虚拟设备控制器(83)的添加。所述虚拟设备控制器(83)能够被配置成对物理USB设备或多个设备的操作仿真,并且从而能够被用来将增值(value-added)特征添加到所述本地扩展器单元(50)。在本发明的一个实施例中,所述虚拟设备控制器(83)对无线电管理功能仿真,并且能够被用来控制网络收发器(84)的物理参数。在本发明的另一个实施例中,所述虚拟设备控制器(83)对网络接口卡仿真,并且能够被用来通过数据通信网络(21)传输TCP/IP包。对于本领域技术人员来说显而易见的是,这些功能不是唯一的并且可以以类似方式来执行其它功能。
在第一操作模式中,来源于主计算机(20)的USB子动作由USB收发器(81)接收并且通过上游端口(60)转发到本地中继器(71)。根据需要,所述USB子动作的内容由本地中继器(71)检查并且被转发。
如果所述USB子动作被定址到虚拟USB集线器(31),那么所述USB子动作被转发到集线器控制器(63)。如果所述USB子动作被定址到USB外围设备(40到45)或者物理USB集线器(32到34),那么所述USB子动作被转发到本地路由器(72)。如果所述USB子动作被定址到虚拟USB设备,那么所述USB子动作被转发到虚拟设备控制器(83)。
就像下面所描述的那样,如果对所述USB子动作的响应已经存在于本地存储器(82)中,那么所述响应由本地中继器(71)从存储器检索并且通过上游端口(60)转发到USB收发器(81)。如果需要对所述USB子动作的合成(synthetic)响应,那么所述合成响应由本地中继器(71)产生并且通过上游端口(60)转发到USB收发器(81)。
当本地中继器(71)将USB子动作转发到本地路由器(72)时,那么包含在所述USB命令中的USB地址由所述本地路由器(72)检查并且被转换(translate)为网络地址。所述本地路由器(72)将所述USB子动作封装在网络包中,用所述转换的网络地址对所述网络包定址,并且将所述被定址的网络包转发到网络收发器(84)以便通过所述网络(21)传输到远程扩展器(51b)。
在第二操作模式中,来自所述远程扩展器(51b)的被定址的网络包由网络收发器(84)接收并且被转发到本地路由器(72)。所述本地路由器(72)从所述被定址的网络包中提取USB子动作,检查所述USB子动作的内容,并且将所述USB子动作转发到本地中继器(71)。如果所述内容代表USB响应子动作,那么所述USB响应子动作被存储在本地存储器(82)中,以便以后响应于USB命令子动作而传输到USB收发器,如上文所述。如果所述内容代表指示直接连接到所述远程扩展器(51b)的USB设备(42)的状态改变的系统子动作,那么所述系统子动作将被转发到集线器控制器(63)。集线器控制器(63)检查所述转发的系统子动作的内容并且更新虚拟端口#2(73b)的状态。
图7是根据本发明的远程扩展器单元(51)的增强框图。在该布置中,所述远程扩展器单元(51)的操作由发生在网络收发器(91)或USB收发器(92)处的激励激活。对于需要特定方案(scenario)的地方,下列描述将使用远程扩展器(51b)来说明本方法,但是本领域技术人员应当清楚,类似的描述也适用于远程扩展器(51a)和(51c),而且可以部署超过图4所示的三个单元的额外的远程扩展器。
根据USB规范,需要使用事务转换器的事务被称为分离事务。相应地,需要使用所述事务转换器的事务被称作分离的事务,不需要使用所述事务转换器的事务在此处被称为原子(atomic)事务。
在第一操作模式中,被定址的网络包由网络收发器(91)接收并且被转发到远程路由器(74)。所述远程路由器(74)从所述被定址的网络包中提取USB子动作,检查所述USB子动作的内容,并且将所述USB子动作转发到远程中继器(75)。如果所述内容代表指示分离事务的USB子动作,那么将所述USB子动作转发到事务转换器(61)。如果所述内容代表指示原子(非分离的)USB事务的USB子动作,那么将所述USB子动作通过下游端口控制器(65)转发到USB收发器(92)。如果所述内容代表系统子动作,那么将所述系统子动作转发到远程控制器(93)。
在第二操作模式中,来源于USB外围设备(42)的USB子动作由USB收发器(92)接收并且通过下游端口控制器(65)转发到远程中继器(75)。所述远程中继器(75)检查所述USB子动作的内容,并且选择性地产生USB确认子动作以便通过下游端口控制器(65)和USB收发器(92)传输到所述USB外围设备(42)。并且,如果所述USB子动作的所述内容指示原子USB事务,那么将所述USB子动作转发到远程路由器(74)。此外,如果所述USB子动作的所述内容指示典型速度的USB事务,那么将所述USB子动作转发到事务转换器(61),以便转换成高速的分离事务的格式。然后通过远程中继器(75)将所述被转换的USB子动作转发到远程路由器(74)。
当远程路由器(74)从远程中继器(75)接收USB子动作时,所述远程路由器(74)将所述USB子动作封装在网络包中,用本地扩展器(50)的网络地址对所述网络包定址,并且将所述被定址的网络包转发到网络收发器(91)以便通过数据通信网络(21)来进行传输。
在第三操作模式中,USB外围设备(42)的状态改变由下游端口控制器(65)通过USB收发器(92)来检测并且被报告给远程控制器(93)。响应于所述报告的状态改变,所述远程控制器产生系统子动作,并且将所述系统子动作转发到远程中继器(75)以便传输到本地扩展器(50)。
图8是示出根据本发明的处理连接事件的序列图。图中使用的表示格式是Jacobson等人在(Ivar Jacobson,Magnus Christerson,PatrickJonsson and Gunnar Overgaard,Object-Oriented Software Engineering:AUse Case Driven Approach,Addison-Wesley,1992)中提出的。为了说明的目的,假定所述序列图描述了将USB外围设备(42)附着到远程扩展器(51b)上,并且该远程扩展器(51b)被分配给集线器控制器(63)上的虚拟端口#2(73b)。对于本领域技术人员来说显而易见的是,相同的处理能够适用于将任何USB外围设备或者任何USB集线器附着到任何远程扩展器上,并且根据需要来分配进一步的虚拟端口。
该连接序列在段″A″中开始。根据标准USB协议,一旦通电,在USB外围设备(42)中的控制逻辑(104)在其USB数据线上驱动(drive)静态(static)J/K值。所述静态J/K值由远程扩展器(51b)中的控制逻辑(103)检测并且作为连接子动作通过网络(21)传输到本地扩展器(50)。在本地扩展器(50)中的控制逻辑(101)更新相应的虚拟端口(73b)的状态并且将所述状态改变事件报告给主计算机(20)。
然后,主计算机(20)中的控制逻辑(100)请求端口#2的状态,并且在本地扩展器(50)中的控制逻辑(101)用设备已连接的指示来回答。
随后,在段“B”中,主计算机(20)中的控制逻辑(100)发布命令以清除属于端口#2的连接状态改变指示器(indicator),然后请求通过发布对端口#2状态的进一步请求已经完成了所述命令的确认。本地扩展器(50)中的控制逻辑(101)清除属于端口#2的所述连接状态改变指示器,并且报告没有进一步的状态改变是未完成的(outstanding)。这些操作完成了物理附着序列。
其后,在段“C”中,主计算机(20)中的控制逻辑(100)通过产生USB命令来发起设备重置序列,以便重置附着到端口#2的设备。本地扩展器(50)中的控制逻辑(101)将所述USB命令转换为重置子动作并且通过网络(21)将所述重置子动作传输到远程扩展器(51b)。远程扩展器(51b)中的控制逻辑(103)接收所述被传输的重置子动作,并且在下游端口(65b)的数据线上驱动重置状态(SE0)。在传输该重置状态达到由USB规范确定的一段时间以后,所述远程扩展器(51b)建立所述USB外围设备(42)的操作速度,并且通过网络(21)将作为速度子动作的所述操作速度传输到所述本地扩展器(50)。本地扩展器(50)中的控制逻辑(101)更新相应的虚拟端口的状态并且将所述状态改变事件报告给主计算机(20)。
然后,主计算机(20)中的控制逻辑(100)请求端口#2的状态,并且本地扩展器(50)中的控制逻辑(101)用重置完成加上速度指示来回答。
随后,在段“D”中,主计算机(20)中的控制逻辑(100)发布命令以清除属于端口#2的重置状态改变指示器,然后请求所述命令已经通过发布对端口#2的状态的进一步请求而被完成的确认。本地扩展器(50)中的控制逻辑(101)清除属于虚拟端口#2(73b)的所述重置状态改变指示器,并且报告没有进一步的状态改变是未完成。这些操作完成了设备重置序列。
图9是示出根据本发明的处理断开事件的序列图。为了说明的目的,假定所述序列图描述了将USB外围设备(42)从远程扩展器(51b)分离,并且该远程扩展器(51b)被分配给集线器控制器(63)上的虚拟端口#2(73b)。对于本领域技术人员来说显而易见的是,相同的处理能够适用于将任何USB外围设备或者任何USB集线器从任何远程扩展器分离,并且根据需要来分配进一步的虚拟端口。
该断开序列在段″A″中开始。一旦设备分离,USB外围设备(42)中的控制逻辑(104)就停止在其USB数据线上驱动静态J/K值。驱动静态J/K值的所述停止由远程扩展器(51b)中的控制逻辑(103)检测并且作为断开子动作而通过网络(21)传输到本地扩展器(50)。本地扩展器(50)中的控制逻辑(101)更新相应的虚拟端口的状态,并且将所述状态改变事件报告给主计算机(20)。
然后,主计算机(20)中的控制逻辑(100)请求端口#2的状态,并且本地扩展器(50)中的控制逻辑(101)用设备断开指示来回答。
随后,在段“B”中,主计算机(20)中的控制逻辑(100)发布命令以清除属于端口#_2的连接状态改变指示器,然后发布进一步的命令以清除端口#2的使能状态。然后主计算机(20)中的控制逻辑(100)请求所述命令通过发布对端口#2的状态的进一步请求而已经完成的确认。本地扩展器(50)中的控制逻辑(101)清除所述连接状态改变指示器以及属于虚拟端口#2(73b)的所述使能状态,并且报告没有进一步的状态改变是未完成的。这些操作完成了物理分离序列。
图10是根据本发明而配置的记录系统拓扑的列表。
通过在所述列表中呈现的数据提供的方法,图2呈现的实例拓扑可以被映射(map)。接下来,要求图2所示的本发明的拓扑对图1所示的现有技术系统的拓扑仿真。设备列记录了包含在图2中的每个设备和集线器的USB地址。为了清楚起见,将该USB地址设置为与图2中的框的编号一致。对于本领域技术人员来说显而易见的是该关联不是必需的(essential),并且通过主计算机(20)可以在1-127范围内分配任何的USB地址。
以USB集线器(31)为例。在图1中,所述USB集线器(31)是物理单元并且被分配了USB地址31。在图2中,所述USB集线器是由本地扩展器(50)、远程扩展器(51a、51b和51c)和网络(21)的联合操作所创建的虚拟单元。为了对所述物理USB集线器(31)的操作进行仿真,所述虚拟集线器也被分配了USB地址31。
父/地址列记录设备或者集线器连接到的上游集线器的USB地址。父/端口列记录设备或者集线器连接到的上游集线器的端口号。子/端口#列记录连接到所述端口号的下游设备或者集线器的USB地址。列表所示的子/端口#列的数目是四,这能够使最多四个远程远程扩展器单元纳入系统中。对于本领域技术人员来说显而易见的是这些值不是唯一的而且当前能够选择从1到255范围内的任何值,从而使远程扩展器单元的最大数目也能够落入1到255的范围内。
网络地址列记录设备或者集线器直接连接到的网络节点的网络地址。
所述列表的操作将通过选择的特定实例来进一步描述。以USB集线器(31)为例,该USB集线器(31)连接到主计算机(20)并且担当USB拓扑的根(root)。在图2中,所述USB集线器(31)通过分布在扩展器(50、51a、51b和51c)中的功能以及特别地通过本地扩展器(50)中的集线器控制器(63)而实现为虚拟集线器。所述USB集线器(31)作为所述列表中的设备(31)而出现。因为USB集线器(31)形成该系统的根,所以其在该系统内没有父,并且其父地址和端口号的值被设置为空(null)。所述USB集线器(31)的子条目(entry)表明USB集线器(32)被连接到其端口#1,USB外围设备(42)被连接到其端口#2,以及USB集线器(33)被连接到其端口#4。所述USB集线器(31)的网络条目表明其被连接到网络节点(N0)。对于本领域技术人员来说显而易见的是值(N0)是代表性的,并且可以使用适于被选择来在所述本地扩展器和远程扩展器之间提供数据通信的网络的任何其它值。例如:如果所述数据通信网络是以太网,那么所述网络条目将是以太网地址。如果所述数据通信网络是因特网网络,那么所述网络条目将是IP地址。
在所述列表中的USB集线器(34)的条目表明:其父是USB集线器(33)上的端口#3;USB外围设备(44)连接到其端口#1;USB外围设备(45)连接到其端口#4;以及所述USB集线器(34)不直接连接到网络(21)。然后通过经过其父或父的父追溯其连接性,来发现用于USB集线器(34)的网络地址。在USB集线器(34)的实例中,其父是USB集线器(33)并且所述USB集线器(33)的网络地址是(N3)。本发明通过这样的方式来适应根据USB规范的USB集线器的链路(chaining)。
USB外围设备(42)的条目表明其父是USB集线器(31)上的端口#2并且其在节点(N2)处直接连接到网络(21)。
图11是示出根据本发明的处理分离的异步IN事务的序列图。
主计算机(20)中的控制逻辑(100)通过将第一开始-分离IN命令(first start-split IN command)发布到本地扩展器(50)来发起所述事务。控制逻辑(101)通过将否定响应子动作传输到所述主计算机(20)来响应所述第一开始-分离IN命令,然后通过网络(21)将所述第一开始-分离IN命令转发到远程扩展器(51b)。每当从主计算机(20)接收到后续的开始-分离IN命令并且没有从远程扩展器(51b)接收到响应时,控制逻辑(101)就继续产生否定响应子动作。
远程扩展器(51b)中的控制逻辑(103)从网络(21)接收所述第一开始-分离IN命令,将所述开始-分离IN命令转换为典型速度IN命令,然后将所述典型速度IN命令转发到USB外围设备(42)。此外,远程扩展器(51b)中的控制逻辑(103)通过网络(21)将肯定响应子动作传输到本地扩展器(50),在该本地扩展器(50)中将所述肯定响应子动作存储在本地存储器中。当主计算机(20)中的控制逻辑(100)发布进一步的开始-分离IN命令时,本地扩展器(50)中的控制逻辑(101)从本地存储器检索所述肯定响应子动作并且将所述检索的肯定响应子动作转发到主计算机(20)。然后,主计算机(20)中的控制逻辑(100)发布完成-分离IN命令,并且本地扩展器(50)中的控制逻辑(101)以仍没有(not-yet)响应来回答。
同时,USB外围设备(42)中的控制逻辑(104)产生典型速度DATA0/1响应并且将所述响应转发到远程扩展器(51b)。远程扩展器(51b)中的控制逻辑(103)产生典型速度确认子动作并且将所述子动作转发到USB外围设备(42)。此外,远程扩展器(51b)中的控制逻辑(103)通过网络(21)将所述DATA0/1响应转发到本地扩展器(50),在该本地扩展器(50)中将所述DATA0/1响应子动作存储在本地存储器中。当主计算机(20)中的控制逻辑(100)发布进一步的完成-分离IN命令时,本地扩展器(50)中的控制逻辑(101)从本地存储器检索所述DATA0/1响应子动作,并且将所述检索的DATA0/1响应子动作转发到主计算机(20)。
图12是示出根据本发明的处理分离的异步OUT事务的序列图。
主计算机(20)中的控制逻辑(100)通过将第一开始-分离的OUT/DATA0/1命令(first start-split OUT/DATA0/1command)发布到本地扩展器(50)而发起所述事务。控制逻辑(101)通过将否定响应子动作传输到所述主计算机(20)来响应所述第一开始-分离的OUT/DATA0/1命令,然后通过网络(21)将所述第一开始-分离的OUT/DATA0/1命令转发到远程扩展器(51b)。每当从主计算机(20)接收到后续的开始-分离的OUT/DATA0/1命令并且没有从远程扩展器(51b)接收到响应时,控制逻辑(101)就继续产生否定响应子动作。
远程扩展器(51b)中的控制逻辑(103)从网络(21)接收所述第一开始-分离的OUT/DATA0/1命令,将所述开始-分离的OUT/DATA0/1命令转换为典型速度的OUT/DATA0/1命令,然后将所述典型速度的OUT/DATA0/1命令转发到USB外围设备(42)。此外,远程扩展器(51b)中的控制逻辑(103)通过网络(21)将肯定响应子动作传输到本地扩展器(50),在该本地扩展器(50)中将所述肯定响应子动作存储在本地存储器中。当主计算机(20)中的控制逻辑(100)发布进一步的开始-分离的OUT/DATA0/1命令时,本地扩展器(50)中的控制逻辑(101)从本地存储器检索所述肯定响应子动作并且将所述检索的肯定响应子动作转发到主计算机(20)。然后,主计算机(20)中的控制逻辑(100)发布完成-分离的OUT命令并且本地扩展器(50)中的控制逻辑(101)以仍没有响应来回答。
同时,USB外围设备(42)中的控制逻辑(104)产生典型速度的肯定响应子动作并且将所述子动作转发到远程扩展器(51b)。远程扩展器(51b)中的控制逻辑(103)通过网络(21)将所述肯定响应子动作传输到本地扩展器(50),在该本地扩展器(50)中将所述肯定响应子动作存储在本地存储器中。当主计算机(20)中的控制逻辑(100)发布进一步的完成-分离的OUT命令时,本地扩展器(50)中的控制逻辑(101)从本地存储器检索所述肯定响应子动作并且将所述检索的肯定响应子动作转发到主计算机(20)。
图13是示出根据本发明的处理分离的同步IN事务的序列图。
主计算机(20)中的控制逻辑(100)通过将第一开始-分离的IN命令(first start-split IN command)发布到本地扩展器(50)而开始所述事务。本地扩展器(50)中的控制逻辑(101)通过网络(21)将所述第一开始-分离IN命令转发到远程扩展器(51b)。远程扩展器(51b)中的控制逻辑(103)从网络(21)接收所述第一开始-分离IN命令,将所述开始-分离IN命令转换为典型速度的IN命令,然后将所述典型速度的IN命令转发到USB外围设备(42)。在延迟以后,主计算机(20)中的控制逻辑(100)将完成-分离IN命令传输到本地扩展器(50),并且本地扩展器(50)中的控制逻辑(101)以空数据响应来回答。每当从主计算机(20)接收到后续的完成-分离IN命令并且还没有从远程扩展器(51b)接收到DATA0响应时,控制逻辑(101)就继续产生空数据响应。
同时,USB外围设备(42)中的控制逻辑(104)产生典型速度的DATA0响应并且将所述响应转发到远程扩展器(51b)。远程扩展器(51b)中的控制逻辑(103)将所述典型速度的DATA0响应转换为高速的MDATA/DATA0响应的序列并且通过网络(21)将所述响应转发到本地扩展器(50),在本地扩展器(50)中将所述MDATA/DATA0响应存储在本地存储器中。当主计算机(20)中的控制逻辑(100)发布进一步的完成-分离IN命令的序列时,本地扩展器(50)中的控制逻辑(101)从本地存储器检索所述MDATA/DATA0响应并且将所述检索的MDATA/DATA0响应转发到主计算机(20)。
图14是示出根据本发明的处理分离的同步OUT事务的序列图。
主计算机(20)中的控制逻辑(100)通过将开始-分离-起始OUT/DATA0命令(start-split-begin OUT/DATA0 command)发布到本地扩展器(50)而开始所述事务。本地扩展器(50)中的控制逻辑(101)通过网络(21)将所述开始-分离-起始的OUT/DATA0命令转发到远程扩展器(51b)。
主计算机(20)中的控制逻辑(100)通过将一个或多个开始-分离-中间OUT/DATA0命令(start-split-mid OUT/DATA0 command)发布到本地扩展器(50)而继续所述事务。本地扩展器(50)中的控制逻辑(101)通过网络(21)将每个开始-分离-中间OUT/DATA0命令转发到远程扩展器(51b)。
主计算机(20)中的控制逻辑(100)通过将开始-分离-结束OUT/DATA0命令(start-split-end OUT/DATA0 command)发布到本地扩展器(50)而完成所述事务。本地扩展器(50)中的控制逻辑(101)通过网络(21)将所述开始-分离-结束OUT/DATA0命令转发到远程扩展器(51b)。
当远程扩展器(51b)中的控制逻辑(103)接收到所述开始-分离-结束OUT/DATA0命令时,所述控制逻辑(103)将所述开始-分离-起始OUT/DATA0命令、所述一个或多个开始-分离-中间OUT/DATA0命令以及所述开始-分离-结束OUT/DATA0命令组合为典型速度的OUT/DATA0命令,并且将所述命令转发到USB外围设备(42)。
由此,很明显,根据本发明提供了这样的方法、系统和/或USB相关的装置,其完全、或者至少部分满足优于上文所述的现有技术的意图、目的和优点。因此,尽管已经描述了本发明的特定实施例,应当理解本领域技术人员可以提出其替换方案、修改和变化,并且意图使本说明书包括所有这些落入所附的权利要求范围内的替换方案、修改和变化。
另外,为清楚起见并且除非另有说明,当在本发明的说明书以及权利要求书中使用词“包括”和其变形(例如“包括”)时,目的不是排除其它添加物、部件、整数或步骤。

Claims (27)

1.一种用于在主计算机和一个或者多个USB外围设备之间传输数据的计算机系统,其中所述USB外围设备被分布在遍及数据通信网络,并且其中所述网络上的传输延迟大于USB规范通常所允许的传输延迟,所述计算机系统包括连接到本地扩展器设备的主计算机,该本地扩展器设备又通过数据通信网络连接到一个或者多个远程扩展器设备,该一个或者多个远程扩展器设备又连接到多个USB外围设备,其中在所述主计算机和所述USB外围设备之间的信号被保存、收集、吸收、或者以其它方式在本地扩展器和/或远程扩展器中被处理以便允许该主计算机和该USB外围设备在存在往返延迟大于USB规范通常所允许的往返延迟的情况下运行,以及
其中,所述计算机系统包括:
a)用于产生并接受USB子动作的主计算机;
b)一个或者多个能够响应于由所述主计算机发起的USB子动作的USB外围设备;
c)连接到所述主计算机的本地扩展器单元,用于将来自所述主计算机的USB子动作转发到数据通信网络,以及用于将从所述数据通信网络接收的USB子动作转发到所述主计算机;
d)一个或者多个远程扩展器单元,每个远程扩展器单元被连接到一个或者多个USB外围设备,该远程扩展器单元用于将从所述数据通信网络接收的USB子动作转发到所述USB外围设备,以及用于将从所述USB外围设备接收的USB子动作转发到所述数据通信网络;
e)数据通信网络,用于将来自所述本地扩展器单元的USB子动作转发到所述远程扩展器单元,以及用于将来自所述远程扩展器单元的USB子动作转发到所述本地扩展器单元;
f)在所述本地扩展器单元中用于通过所述数据通信网络将从所述主计算机接收的USB子动作转发到所述远程扩展器单元以及用于产生USB子动作并且将所产生的USB子动作发送到所述主计算机的装置;
g)在所述远程扩展器单元中用于将从所述主计算机接收的所述USB子动作转发到一个或者多个USB外围设备以及用于接收从USB外围设备接收的子动作的装置;
h)在所述远程扩展器单元中用于通过所述数据通信网络将从USB外围设备接收的所述子动作转发到所述本地扩展器单元的装置;
i)在所述远程扩展器单元中用于为确认从USB外围设备接收了USB子动作而产生USB子动作,并且将所述产生的确认USB子动作发送到所述USB外围设备的装置;
j)在所述远程扩展器单元中用于响应于从所述主计算机接收的USB子动作而产生USB子动作并且将所述产生的响应USB子动作发送到所述本地扩展器单元的装置;
k)在所述本地扩展器单元中用于当通过所述数据通信网络从所述远程扩展器接收的入站USB子动作序列与公共的出站USB子动作有关时而接收并且识别的装置;
l)在所述本地扩展器单元中用于存储来自所述远程扩展器单元的入站USB子动作直到这样的入站USB子动作再次被所述主计算机请求的装置;以及
m)在所述本地扩展器单元中用于将所述存储的USB子动作转发到所述主计算机的装置。
2.根据权利要求1所述的计算机系统,其中所述往返延迟包括传输延迟和换向时间延迟,并且其中在主计算机和USB外围设备之间的所述传输延迟超过1微秒。
3.根据权利要求1所述的计算机系统,其中所述主计算机是支持USB规范的计算机。
4.根据权利要求1所述的计算机系统,其中所述多个USB外围设备包括USB闪存驱动器、USB硬盘驱动器、USB CD/DVD驱动器、USB照相机、USB鼠标、USB键盘、USB集线器或者其它任何与USB规范兼容的设备。
5.根据权利要求4所述的计算机系统,还包括:
在所述本地扩展器单元中用于吸收重复的USB子动作的装置;
在所述远程扩展器单元中用于将USB子动作序列组合为原子USB子动作,并且将所述原子USB子动作发送到所述USB外围设备的装置;以及
在所述远程扩展器单元中用于将原子USB子动作分解为离散的USB子动作序列,并且将所述离散的USB子动作序列发送到所述本地扩展器单元的装置。
6.一种用于在主计算机和数据通信网络之间传输USB通信量的本地扩展器,其中所述USB通信量可以被定址到多个USB外围设备,所述本地扩展器包括:
a)用于连接到所述主计算机的USB收发器;
b)用于控制所述USB收发器的面向上游的端口;
c)用于再生穿过所述本地扩展器的USB子动作以及用于在所述本地扩展器的各部件之间交换USB子动作的本地中继器单元;
d)用于在由所述本地扩展器的处理期间存储USB子动作的存储器单元;
e)用于为在下游方向移动的USB子动作提供网络地址的本地路由器单元;
f)用于连接到所述数据通信网络的网络收发器;
g)一个或多个本地虚拟端口,用于仿真一个或多个远程物理端口的操作和用于保持所述一个或多个远程物理端口的状态;
h)用于响应由所述主计算机产生的关于所述一个或多个本地虚拟端口的状态的子动作的集线器控制器单元;
i)一个或多个虚拟USB设备,用于仿真一个或多个物理USB设备的操作和用于提供增值功能;
j)在所述本地中继器中用于识别定址到所述集线器控制器的USB子动作的装置;
k)在所述本地中继器中用于识别定址到所述多个虚拟USB设备的USB子动作的装置;
l)在一个或多个本地虚拟端口中用于从所述数据通信网络接收设备状态改变的信号并更新所述多个远程物理端口的状态的装置;以及
m)在所述集线器控制器中用于从所述主计算机接收设备管理命令并且将设备管理信号发送到所述数据通信网络的装置。
7.根据权利要求6所述的本地扩展器,其中所述USB收发器是标准USB收发器,并且所述网络收发器是无线收发器。
8.根据权利要求6所述的本地扩展器,其中所述USB收发器是标准USB收发器,并且所述网络收发器是以太网收发器。
9.根据权利要求6所述的本地扩展器,其中所述本地扩展器是通过标准USB电缆连接到所述主计算机的自含式单元。
10.用于在数据通信网络和至少一个USB外围设备之间传输USB通信量的远程扩展器,所述远程扩展器包括:
a)用于连接到所述数据通信网络的网络收发器;
b)用于为在上游方向上移动的USB子动作提供网络地址的远程路由器单元;
c)用于再生穿过所述远程扩展器的USB子动作以及用于在所述远程扩展器的各部件之间交换USB子动作的远程中继器单元;
d)用于在高速分离事务和全速/低速原子事务之间进行转换的事务转换器单元;
e)用于在所述远程扩展器处理期间存储USB子动作的存储器单元;
f)用于连接到所述USB外围设备的USB收发器;
g)用于控制所述USB收发器的面向下游的端口;
h)在所述远程路由器单元中用于识别分离事务的装置;
i)在所述下游端口控制器中用于检测所述USB外围设备的状态的装置;
j)在所述下游端口控制器中用于产生设备状态信号并且将所述信号发送到所述数据通信网络的装置;
k)在所述下游端口控制器中用于从所述数据通信网络接收设备管理信号的装置;以及
l)在所述下游端口控制器中用于改变所述USB外围设备的状态的装置。
11.根据权利要求10所述的远程扩展器,其中所述网络收发器是无线收发器,并且所述USB收发器是标准USB收发器。
12.根据权利要求10所述的远程扩展器,其中所述网络收发器是以太网收发器,并且所述USB收发器是标准USB收发器。
13.根据权利要求10所述的远程扩展器,其中所述远程扩展器是通过多个标准USB电缆连接到所述多个USB外围设备的自含式单元。
14.一种用于在主计算机和一个或者多个USB外围设备之间传输数据的方法,其中所述USB外围设备可以分布在遍及数据通信网络,并且其中所述网络上的传输延迟大于USB规范通常所允许的传输延迟,所述方法包括:将主计算机连接到本地扩展器设备;将所述本地扩展器设备通过数据通信网络连接到一个或者多个远程扩展器设备;以及将所述远程扩展器设备连接到一个或者多个USB外围设备,其中在所述主计算机和所述USB外围设备之间的信号被保存、收集、吸收、或者以其它方式在本地扩展器和/或远程扩展器中处理以便允许所述主计算机和所述USB外围设备在存在往返延迟大于USB规范通常所允许的往返延迟的情况下运行,以及
其中,所述方法包括检测USB外围设备的附着的能力、检测USB外围设备的分离的能力、和/或确定USB功能的网络地址的能力,其中所述USB功能可以是USB集线器或者USB外围设备,以及
其中,所述方法提供用于通过本地扩展器将USB命令从主计算机传输到数据通信网络上的唯一的网络地址,该方法包括:
a)在本地扩展器处从主计算机接收USB命令;
b)从所述USB命令提取第一USB地址;
c)利用所述第一USB地址来访问类似记录的列表内的第一数据记录;
d)确定所述第一数据记录是否包含有效的网络地址;
e)从所述第一数据记录提取识别上游USB集线器的第二USB地址,通过所述上游USB集线器,可以访问所述第一USB地址;
f)重复步骤(c)到步骤(e)直到发现有效的网络地址;
g)将所述USB命令封装在网络包中;
h)将所述网络包定址到所述有效网络地址;以及
i)将所述被定址的网络包传输到所述数据通信网络。
15.根据权利要求14所述的方法,该方法还包括检测由主计算机通过本地扩展器和远程扩展器附着USB外围设备的能力,其中所述主计算机和所述USB外围设备符合USB规范的要求,该方法包括:
在所述远程扩展器处检测设备附着事件,使所述远程扩展器将设备连接信号发送到所述本地扩展器,然后使所述本地扩展器更新所述USB外围设备的连接状态改变的本地扩展器的本地记录以及所述USB外围设备的连接状态的本地扩展器的本地记录;
在所述本地扩展器处从所述主计算机接收对设备状态改变信息的请求,并且使所述本地扩展器通知所述主计算机所述USB外围设备的状态已经改变;
在所述本地扩展器处从所述主计算机接收对所述USB外围设备的状态的请求,并且使所述本地扩展器将连接状态改变的所述本地记录以及连接状态的所述本地记录提供给所述主计算机;
在所述本地扩展器处从所述主计算机接收清除所述连接状态改变信息的请求,并且使所述本地扩展器清除连接状态改变信息的所述本地记录;
在所述本地扩展器处从所述主计算机接收对所述USB外围设备的状态的进一步请求,并使所述本地扩展器将被清除的连接状态改变的所述本地记录以及连接状态的所述本地记录提供给所述主计算机;
在所述本地扩展器处从所述主计算机接收重置所述USB外围设备的命令,使所述本地扩展器将重置信号发送到所述远程扩展器,然后使所述远程扩展器对所述USB外围设备执行物理重置;
在所述远程扩展器处检测所述USB外围设备的传输速度,使所述远程扩展器将速度信号发送到所述本地扩展器,然后使所述本地扩展器更新所述USB外围设备的传输速度的本地扩展器的本地记录以及所述USB外围设备的重置状态改变的本地扩展器的本地记录;
在所述本地扩展器处从所述主计算机接收对设备状态改变信息的进一步请求,并且使所述本地扩展器通知所述主计算机所述USB外围设备的状态已经改变;
在所述本地扩展器处从所述主计算机接收对所述USB外围设备的状态的又一请求,并且使所述本地扩展器将所述USB外围设备的传输速度的所述本地记录以及所述USB外围设备的重置状态改变的本地扩展器的本地记录提供给所述主计算机;
在所述本地扩展器处从所述主计算机接收清除所述重置状态改变信息的请求,并且使所述本地扩展器清除所述重置状态改变信息的本地记录;以及
在所述本地扩展器处从所述主计算机接收对所述USB外围设备的状态的请求,并且使所述本地扩展器将被清除的所述重置状态改变的本地记录提供给所述主计算机。
16.根据权利要求15所述的方法,其中所述方法通过往返延迟超过1微秒的数据通信网络来操作。
17.根据权利要求14所述的方法,该方法包括检测由主计算机通过本地扩展器和远程扩展器分离USB外围设备的能力,其中所述主计算机和所述USB外围设备符合USB规范的要求,该方法包括:
在所述远程扩展器处检测设备分离事件,使所述远程扩展器将设备断开信号发送到所述本地扩展器,然后使所述本地扩展器更新所述USB外围设备的连接状态改变的本地扩展器的本地记录以及所述USB外围设备的连接状态的本地扩展器的本地记录;
在所述本地扩展器处从所述主计算机接收对设备状态改变信息的请求,并且使所述本地扩展器通知所述主计算机所述USB外围设备的状态已经改变;
在所述本地扩展器处从所述主计算机接收对所述USB外围设备的状态的请求,并且使所述本地扩展器将连接状态改变的所述本地记录以及连接状态的所述本地记录提供给所述主计算机;
在所述本地扩展器处从所述主计算机接收清除所述连接状态改变信息的请求并且使所述本地扩展器清除连接状态改变信息的所述本地记录;
在所述本地扩展器处从所述主计算机接收清除所述USB外围设备的使能状态信息的请求,并且使所述本地扩展器清除使能状态信息的本地扩展器的本地记录;以及
在所述本地扩展器处从所述主计算机接收对所述USB外围设备的状态的进一步请求,并且使所述本地扩展器将被清除的连接状态改变的所述本地记录以及被清除的使能状态的所述本地记录提供给所述主计算机。
18.根据权利要求17所述的方法,其中所述方法通过往返延迟超过1微秒的数据通信网络来工作。
19.根据权利要求14所述的方法,该方法包括确定USB功能的网络地址的能力,其中所述USB功能可以是USB集线器或者USB外围设备,并且其中多个所述USB功能可以分布在遍及数据通信网络,并且其中主计算机将USB地址分配给每个USB功能,该方法包括:
为直接或者间接连接到所述网络的每个第一USB功能建立数据记录,并且通过由所述主计算机动态分配的唯一的USB地址来识别每个记录;
将所述第一USB功能连接到的上游USB集线器的USB地址记录在所述数据记录内;
将所述第一USB功能连接到的上游USB集线器的端口号记录在所述数据记录内;
将直接连接到所述第一USB功能的每个下游USB功能的USB地址记录在所述数据记录内;
将每个下游USB功能连接到的所述第一USB功能的端口号记录在所述数据记录内;以及
记录被分配给所述第一USB功能的网络地址。
20.根据权利要求14所述的方法,用于通过远程扩展器和本地扩展器在主计算机和USB外围设备之间进行异步数据事务,其中所述主计算机以高速运行并且所述USB外围设备以全速或者低速运行,并且其中所述数据以从设备到主机的方向传输,该方法包括:
在本地扩展器处从所述主计算机接收对开始分离的数据传输会话的第一请求,使所述本地扩展器通过网络将所述第一请求转发到所述远程扩展器,然后使所述本地扩展器产生对所述主计算机的否定应答响应;
在本地扩展器处从所述主计算机接收对开始分离的数据传输会话的后续请求,并且使所述本地扩展器继续产生对所述主计算机的否定应答响应直到所述本地扩展器从所述远程扩展器接收到对所述转发的第一请求的响应;
在远程扩展器处接收对开始分离的数据传输会话的转发的所述第一请求,使所述远程扩展器将对开始分离的数据传输会话的转发的所述请求转换为对数据传输的典型速度请求,然后使所述远程扩展器将对数据传输的所述典型速度请求转发到所述USB外围设备;
在远程扩展器处产生肯定应答响应并且通过网络将所述肯定应答响应转发到所述本地扩展器;
在本地扩展器处接收转发的所述肯定应答响应,并且使所述本地扩展器将转发的所述肯定应答响应存储在本地存储器中;
在本地扩展器处从所述主计算机接收对开始分离的数据传输会话的进一步请求,使所述本地扩展器从本地存储器检索转发的所述肯定应答响应,然后使所述本地扩展器将检索的所述肯定应答响应转发到所述主计算机;
在远程扩展器处从所述USB外围设备接收数据传输响应,并且使所述远程扩展器产生对所述USB外围设备的肯定应答响应,然后使所述远程扩展器通过网络将所述数据传输响应转发到所述本地扩展器;
在本地扩展器处接收对完成分离的数据传输会话的第一请求,使所述本地扩展器检查本地存储器是否不存在数据传输响应,然后使所述本地扩展器产生对所述主计算机的仍没有应答;
在本地扩展器处从所述远程扩展器接收转发的所述数据传输响应,并且使所述本地扩展器将转发的所述数据传输响应存储在本地存储器中;以及
在本地扩展器处接收对完成分离的数据传输会话的进一步请求,使所述本地扩展器从本地存储器检索转发的所述数据传输响应,然后使所述本地扩展器将检索的所述数据传输响应转发到所述主计算机。
21.根据权利要求20所述的方法,其中所述方法通过往返延迟超过1微秒的数据通信网络来操作。
22.根据权利要求14所述的方法,用于通过本地扩展器和远程扩展器在主计算机和USB外围设备之间进行异步数据事务,其中所述主计算机以高速运行并且所述USB外围设备以全速或者低速运行,并且其中所述数据以从主机到装置的方向传输,该方法包括:
在本地扩展器处从所述主计算机接收开始分离的数据传输会话的第一通知,使所述本地扩展器通过网络将所述第一通知转发到所述远程扩展器,然后使所述本地扩展器产生对所述主计算机的否定应答响应;
在本地扩展器处从所述主计算机接收开始分离的数据传输会话的后续通知,并且使所述本地扩展器继续产生对所述主计算机的否定应答响应直到所述本地扩展器从所述远程扩展器接收到对转发的所述第一通知的响应;
在远程扩展器处接收开始分离的数据传输会话的转发的所述第一通知,使所述远程扩展器将开始分离的数据传输会话的转发的所述通知转换为数据传输的典型速度通知,然后使所述远程扩展器将数据传输的所述典型速度通知转发到所述USB外围设备;
在远程扩展器处产生肯定应答响应,并且通过网络将所述肯定应答响应转发到所述本地扩展器;
在本地扩展器处接收转发的所述肯定应答响应,并且使所述本地扩展器将转发的所述肯定应答响应存储在本地存储器中;
在本地扩展器处从所述主计算机接收开始分离的数据传输会话的进一步通知,使所述本地扩展器从本地存储器检索转发的所述肯定应答响应,然后使所述本地扩展器将检索的所述肯定应答响应转发到所述主计算机;
在远程扩展器处从所述USB外围设备接收肯定应答响应,并且使所述远程扩展器通过网络将所述肯定应答响应转发到所述本地扩展器;
在本地扩展器处接收对完成分离的数据传输会话的第一请求,使所述本地扩展器检查本地存储器是否不存在肯定应答响应,然后使所述本地扩展器产生对所述主计算机的仍没有应答;
在本地扩展器处从所述远程扩展器接收转发的所述肯定应答响应,并且使所述本地扩展器将转发的所述肯定应答响应存储在本地存储器中;以及
在本地扩展器处接收对完成分离的数据传输会话的进一步请求,使所述本地扩展器从本地存储器检索转发的所述肯定应答响应,然后使所述本地扩展器将检索的所述肯定应答响应转发到所述主计算机。
23.根据权利要求22所述的方法,其中所述方法通过往返延迟超过1微秒的数据通信网络来操作。
24.根据权利要求14所述的方法,用于通过远程扩展器和本地扩展器在主计算机和USB外围设备之间进行同步数据事务,其中所述主计算机以高速运行并且所述USB外围设备以全速或者低速运行,并且其中所述数据以从设备到主机的方向传输,该方法包括:
在本地扩展器处从所述主计算机接收对开始分离的数据传输会话的第一请求,使所述本地扩展器通过网络将对开始分离的数据传输会话的所述第一请求转发到所述远程扩展器;
在本地扩展器处接收对完成分离的数据传输会话的第一请求,使所述本地扩展器检查本地存储器是否不存在分离的数据传输响应的完成序列,然后使所述本地扩展器产生对所述主计算机的空数据响应;
在远程扩展器处接收对开始分离的数据传输会话的转发的所述第一请求,使所述远程扩展器将对开始分离的数据传输会话的转发的所述请求转换为数据传输的典型速度请求,然后使所述远程扩展器将对数据传输的所述典型速度请求转发到所述USB外围设备;
在远程扩展器处从所述USB外围设备接收数据传输响应,并且使所述远程扩展器将接收的所述数据传输响应转换为分离的数据传输响应的序列,并且然后使所述远程扩展器通过网络将分离的数据传输响应的所述序列转发到所述本地扩展器;
在本地扩展器处从所述远程扩展器接收转发的分离的数据传输响应的所述序列,并且使所述本地扩展器将转发的分离的数据传输响应的所述序列存储在本地存储器中;
在本地扩展器处从所述主计算器接收对开始分离的数据传输会话的后续请求,并且使所述本地扩展器通过网络将所述后续请求转发到所述远程扩展器;以及
在本地扩展器处接收对完成分离的数据传输会话的后续请求的序列,使所述本地扩展器检查本地存储器是否存在分离的数据传输响应的完成序列,然后使所述本地扩展器从存储器检索分离的数据响应的所述序列,并且将分离的数据响应的所述序列转发到所述主计算机。
25.根据权利要求24所述的方法,其中所述方法通过往返延迟超过1微秒的数据通信网络来操作。
26.根据权利要求14所述的方法,用于通过本地扩展器和远程扩展器在主计算机和USB外围设备之间进行同步数据事务,其中所述主计算机以高速运行并且所述USB外围设备以全速或者低速运行,并且其中所述数据以从主机到设备的方向传输,该方法包括:
在本地扩展器处从所述主计算机接收开始分离的数据传输会话的通知,使所述本地扩展器通过网络将开始分离的数据传输会话的所述通知转发到所述远程扩展器,然后使所述远程扩展器将开始分离的数据传输会话的所述通知存储在本地存储器中;
在本地扩展器处从所述主计算机接收继续分离的数据传输会话的第一通知,使所述本地扩展器通过网络将继续分离的数据传输会话的所述第一通知转发到所述远程扩展器,然后使所述远程扩展器将继续分离的数据传输会话的所述第一通知存储在本地存储器中;
在本地扩展器处从所述主计算机接收继续分离的数据传输会话的进一步通知,使所述本地扩展器通过网络将继续分离的数据传输会话的所述进一步通知转发到所述远程扩展器,然后使所述远程扩展器将继续分离的数据传输会话的所述进一步通知存储在本地存储器中;
在本地扩展器处从所述主计算机接收完成分离的数据传输会话的通知,使所述本地扩展器通过网络将完成分离的数据传输会话的所述通知转发到所述远程扩展器,然后使所述远程扩展器将完成分离的数据传输会话的所述通知存储在本地存储器中;
在远程扩展器处将存储的开始分离的数据传输的所述通知、存储的继续分离的数据传输的所述第一通知、存储的继续分离的数据传输的所述进一步通知以及存储的完成分离的数据传输会话的所述通知组合成数据传输的典型速度通知;以及
使所述远程扩展器将数据传输的所述典型速度通知转发到所述USB外围设备。
27.根据权利要求26所述的方法,其中所述方法通过往返延迟超过1微秒的数据通信网络来操作。
CN200780035720.XA 2006-07-28 2007-07-27 用于在网络上分配usb集线器功能的方法和装置 Active CN101529401B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/460,963 2006-07-28
US11/460,963 US7587536B2 (en) 2006-07-28 2006-07-28 Method and apparatus for distributing USB hub functions across a network
PCT/CA2007/001341 WO2008011727A1 (en) 2006-07-28 2007-07-27 Method and apparatus for distributing usb hub functions across a network

Publications (2)

Publication Number Publication Date
CN101529401A CN101529401A (zh) 2009-09-09
CN101529401B true CN101529401B (zh) 2013-09-18

Family

ID=38981102

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200780035720.XA Active CN101529401B (zh) 2006-07-28 2007-07-27 用于在网络上分配usb集线器功能的方法和装置

Country Status (7)

Country Link
US (1) US7587536B2 (zh)
EP (1) EP2047370B1 (zh)
JP (1) JP4972688B2 (zh)
CN (1) CN101529401B (zh)
AU (1) AU2007278728B2 (zh)
CA (1) CA2657827C (zh)
WO (1) WO2008011727A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109388598A (zh) * 2017-08-11 2019-02-26 航天信息股份有限公司 一种信息处理方法及通用串行总线usb集群服务器

Families Citing this family (183)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11229472B2 (en) 2001-06-12 2022-01-25 Cilag Gmbh International Modular battery powered handheld surgical instrument with multiple magnetic position sensors
US8182501B2 (en) 2004-02-27 2012-05-22 Ethicon Endo-Surgery, Inc. Ultrasonic surgical shears and method for sealing a blood vessel using same
ES2598134T3 (es) 2004-10-08 2017-01-25 Ethicon Endo-Surgery, Llc Instrumento ultrasónico quirúrgico
US7624379B2 (en) * 2005-01-12 2009-11-24 Advanced Testing Technologies, Inc. Test program set obsolescence mitigation through software and automatic test equipment system processes
US20070191713A1 (en) 2005-10-14 2007-08-16 Eichmann Stephen E Ultrasonic device for cutting and coagulating
US7621930B2 (en) 2006-01-20 2009-11-24 Ethicon Endo-Surgery, Inc. Ultrasound medical instrument having a medical ultrasonic blade
TWI321731B (en) * 2006-09-18 2010-03-11 Quanta Comp Inc Device connection system and device connection method
US7844770B2 (en) * 2006-11-02 2010-11-30 Bretford Manufacturing, Inc. Hub structure for enabling communication with a large number of handheld electronic devices
US8819326B1 (en) * 2006-12-12 2014-08-26 Spansion Llc Host/client system having a scalable serial bus interface
US8142461B2 (en) 2007-03-22 2012-03-27 Ethicon Endo-Surgery, Inc. Surgical instruments
US8057498B2 (en) 2007-11-30 2011-11-15 Ethicon Endo-Surgery, Inc. Ultrasonic surgical instrument blades
US8911460B2 (en) 2007-03-22 2014-12-16 Ethicon Endo-Surgery, Inc. Ultrasonic surgical instruments
TWI368848B (en) * 2007-05-09 2012-07-21 Arcadyan Technology Corp Remote control system and method thereof
US8523889B2 (en) 2007-07-27 2013-09-03 Ethicon Endo-Surgery, Inc. Ultrasonic end effectors with increased active length
US8808319B2 (en) 2007-07-27 2014-08-19 Ethicon Endo-Surgery, Inc. Surgical instruments
US9044261B2 (en) 2007-07-31 2015-06-02 Ethicon Endo-Surgery, Inc. Temperature controlled ultrasonic surgical instruments
US8430898B2 (en) 2007-07-31 2013-04-30 Ethicon Endo-Surgery, Inc. Ultrasonic surgical instruments
US8512365B2 (en) 2007-07-31 2013-08-20 Ethicon Endo-Surgery, Inc. Surgical instruments
US10783232B2 (en) * 2007-09-27 2020-09-22 Clevx, Llc Management system for self-encrypting managed devices with embedded wireless user authentication
US10778417B2 (en) 2007-09-27 2020-09-15 Clevx, Llc Self-encrypting module with embedded wireless user authentication
US11190936B2 (en) 2007-09-27 2021-11-30 Clevx, Llc Wireless authentication system
US10181055B2 (en) 2007-09-27 2019-01-15 Clevx, Llc Data security system with encryption
WO2009046234A2 (en) 2007-10-05 2009-04-09 Ethicon Endo-Surgery, Inc Ergonomic surgical instruments
US10010339B2 (en) 2007-11-30 2018-07-03 Ethicon Llc Ultrasonic surgical blades
US8407367B2 (en) * 2007-12-26 2013-03-26 Intel Corporation Unified connector architecture
US9030976B2 (en) * 2008-03-27 2015-05-12 Silicon Image, Inc. Bi-directional digital interface for video and audio (DIVA)
US9089360B2 (en) 2008-08-06 2015-07-28 Ethicon Endo-Surgery, Inc. Devices and techniques for cutting and coagulating tissue
US7818486B2 (en) * 2008-08-15 2010-10-19 Icron Technologies Corporation Method and apparatus for connecting USB devices to a remote computer
US8700821B2 (en) 2008-08-22 2014-04-15 Intel Corporation Unified multi-transport medium connector architecture
DE102008051861A1 (de) * 2008-10-16 2010-04-22 Deutsche Thomson Ohg Verfahren zum Betreiben einer Mehrport-MAC-Brücke mit abschaltbaren Ports abhängig von einem isochronen Datenstrom an einem Port oder Port-Paar in Ethernet-LANs
WO2010096046A1 (en) * 2008-10-30 2010-08-26 Simtone Corporation Universal serial bus (usb) network transport methods and apparatus
WO2010048759A1 (zh) * 2008-10-31 2010-05-06 Zhang Weiming “一机多工作站”计算机系统及其配置方法、usb hub盒
TW201020787A (en) * 2008-11-28 2010-06-01 Azurewave Technologies Inc Method of assigning virtual port numbers and computer readable medium that stores a virtual port number assigning program
US8680712B2 (en) 2008-12-11 2014-03-25 Silicon Image, Inc. Power delivery over digital interaction interface for video and audio (DiiVA)
US20100169069A1 (en) * 2008-12-29 2010-07-01 Nimrod Diamant Composite device emulation
US8341087B2 (en) 2010-03-03 2012-12-25 Cassis International Pte Ltd Method for implementing and application of a secure processor stick (SPS)
WO2010086731A1 (en) * 2009-01-30 2010-08-05 Cassis International Pte Ltd System and method for virtualizing the peripherals in a terminal device to enable remote management via removable portable media with processing capability
US8477082B2 (en) 2009-01-30 2013-07-02 Cassis International Pte Ltd. System and method for implementing a remote display using a virtualization technique
US9700339B2 (en) 2009-05-20 2017-07-11 Ethicon Endo-Surgery, Inc. Coupling arrangements and methods for attaching tools to ultrasonic surgical instruments
US8573493B2 (en) * 2009-06-30 2013-11-05 Avocent Corporation Method and system for smart card virtualization
US8663220B2 (en) 2009-07-15 2014-03-04 Ethicon Endo-Surgery, Inc. Ultrasonic surgical instruments
US10441345B2 (en) 2009-10-09 2019-10-15 Ethicon Llc Surgical generator for ultrasonic and electrosurgical devices
US11090104B2 (en) 2009-10-09 2021-08-17 Cilag Gmbh International Surgical generator for ultrasonic and electrosurgical devices
US9050093B2 (en) 2009-10-09 2015-06-09 Ethicon Endo-Surgery, Inc. Surgical generator for ultrasonic and electrosurgical devices
JP5073734B2 (ja) * 2009-12-08 2012-11-14 シャープ株式会社 ネットワークシステム、画像形成装置の空気清浄機、及びネットワークシステムにおける空気清浄機の制御方法
JP5663037B2 (ja) * 2010-01-12 2015-02-04 シリコン イメージ,インコーポレイテッド 映像および音声用デジタル相互インターフェース(DiiVA)上のマルチメディアUSBデータ転送
US8951272B2 (en) 2010-02-11 2015-02-10 Ethicon Endo-Surgery, Inc. Seal arrangements for ultrasonically powered surgical instruments
US8469981B2 (en) 2010-02-11 2013-06-25 Ethicon Endo-Surgery, Inc. Rotatable cutting implement arrangements for ultrasonic surgical instruments
US8486096B2 (en) 2010-02-11 2013-07-16 Ethicon Endo-Surgery, Inc. Dual purpose surgical instrument for cutting and coagulating tissue
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
US9049041B2 (en) * 2010-06-27 2015-06-02 Valens Semiconductor Ltd. Method and system for distributed initiation of USB over network data plane connections
US9059865B2 (en) * 2010-06-27 2015-06-16 Valens Semiconductor Ltd. USB host adaptor for initiating a USB connection over a non-USB network
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
US8578061B2 (en) 2010-06-27 2013-11-05 Valens Semiconductor Ltd. Method and system for USB addressing by a network adaptor
US8645584B2 (en) 2010-06-27 2014-02-04 Valens Semiconductor Ltd. Method and system for partial USB enumeration and edge initiation
US8795327B2 (en) 2010-07-22 2014-08-05 Ethicon Endo-Surgery, Inc. Electrosurgical instrument with separate closure and cutting members
US9192431B2 (en) 2010-07-23 2015-11-24 Ethicon Endo-Surgery, Inc. Electrosurgical cutting and sealing instrument
DE102010048352B3 (de) 2010-10-13 2012-04-26 Fujitsu Technology Solutions Intellectual Property Gmbh Schnittstellenüberwachungsvorrichtung für einen Schnittstellenanschluss und Verwendung einer Schnittstellenüberwachungsvorrichtung
JP5143207B2 (ja) * 2010-10-21 2013-02-13 株式会社バッファロー 接続装置、パケットを送信する方法及びパケットの送信を接続装置に実行させるためのコンピュータプログラム
US8856388B2 (en) * 2010-12-23 2014-10-07 Icron Technologies Corporation Method and apparatus for connecting USB devices to a computer
US8566934B2 (en) 2011-01-21 2013-10-22 Gigavation, Inc. Apparatus and method for enhancing security of data on a host computing device and a peripheral device
US9244699B2 (en) * 2011-03-23 2016-01-26 Avocent Corporation Method and system for audio device virtualization
US9116821B2 (en) * 2011-03-23 2015-08-25 Avocent Corporation Method and system for USB device virtualization
US8990470B1 (en) * 2011-06-24 2015-03-24 Maxim Integrated Products, Inc. Virtual hubs for communication interface
US9259265B2 (en) 2011-07-22 2016-02-16 Ethicon Endo-Surgery, Llc Surgical instruments for tensioning tissue
GB2506803B (en) 2011-08-10 2020-07-01 Srivastava Gita Apparatus and method for enhancing security of data on a host computing device and a peripheral device
US8788734B2 (en) 2011-09-09 2014-07-22 Icron Technologies Corporation Methods and devices for universal serial bus port event extension
US9047418B2 (en) 2011-11-22 2015-06-02 Icron Technologies Corporation Methods and devices for extending USB 3.0-compliant communication
US8856420B2 (en) 2011-12-27 2014-10-07 Intel Corporation Multi-protocol I/O interconnect flow control
US9565132B2 (en) 2011-12-27 2017-02-07 Intel Corporation Multi-protocol I/O interconnect including a switching fabric
US8775713B2 (en) 2011-12-27 2014-07-08 Intel Corporation Multi-protocol tunneling over an I/O interconnect
US8953644B2 (en) 2011-12-27 2015-02-10 Intel Corporation Multi-protocol I/O interconnect time synchronization
US9697159B2 (en) 2011-12-27 2017-07-04 Intel Corporation Multi-protocol I/O interconnect time synchronization
US9252970B2 (en) 2011-12-27 2016-02-02 Intel Corporation Multi-protocol I/O interconnect architecture
US8782321B2 (en) 2012-02-08 2014-07-15 Intel Corporation PCI express tunneling over a multi-protocol I/O interconnect
JP6165780B2 (ja) 2012-02-10 2017-07-19 エシコン・エンド−サージェリィ・インコーポレイテッドEthicon Endo−Surgery,Inc. ロボット制御式の手術器具
US8880923B2 (en) 2012-03-29 2014-11-04 Intel Corporation Link power management in an I/O interconnect
US9439668B2 (en) 2012-04-09 2016-09-13 Ethicon Endo-Surgery, Llc Switch arrangements for ultrasonic surgical instruments
US20140005705A1 (en) 2012-06-29 2014-01-02 Ethicon Endo-Surgery, Inc. Surgical instruments with articulating shafts
US9226767B2 (en) 2012-06-29 2016-01-05 Ethicon Endo-Surgery, Inc. Closed feedback control for electrosurgical device
US9351754B2 (en) 2012-06-29 2016-05-31 Ethicon Endo-Surgery, Llc Ultrasonic surgical instruments with distally positioned jaw assemblies
US9408622B2 (en) 2012-06-29 2016-08-09 Ethicon Endo-Surgery, Llc Surgical instruments with articulating shafts
US9198714B2 (en) 2012-06-29 2015-12-01 Ethicon Endo-Surgery, Inc. Haptic feedback devices for surgical robot
US20140005702A1 (en) 2012-06-29 2014-01-02 Ethicon Endo-Surgery, Inc. Ultrasonic surgical instruments with distally positioned transducers
US9326788B2 (en) 2012-06-29 2016-05-03 Ethicon Endo-Surgery, Llc Lockout mechanism for use with robotic electrosurgical device
US9820768B2 (en) 2012-06-29 2017-11-21 Ethicon Llc Ultrasonic surgical instruments with control mechanisms
US9393037B2 (en) 2012-06-29 2016-07-19 Ethicon Endo-Surgery, Llc Surgical instruments with articulating shafts
US8982746B2 (en) 2012-06-30 2015-03-17 Intel Corporation Clock-less half-duplex repeater
CN103678211B (zh) * 2012-09-11 2016-07-13 龙迅半导体(合肥)股份有限公司 Usb接口的信号传输方法及其装置
IN2015DN02432A (zh) 2012-09-28 2015-09-04 Ethicon Endo Surgery Inc
US9095367B2 (en) 2012-10-22 2015-08-04 Ethicon Endo-Surgery, Inc. Flexible harmonic waveguides/blades for surgical instruments
US20140135804A1 (en) 2012-11-15 2014-05-15 Ethicon Endo-Surgery, Inc. Ultrasonic and electrosurgical devices
US9817772B2 (en) * 2012-12-20 2017-11-14 Icron Technologies Corporation Systems and methods for exchanging USB information with selected remote devices
GB2510882A (en) * 2013-02-14 2014-08-20 Graham Henry Thomas Interface apparatus
JP5998343B2 (ja) * 2013-02-14 2016-09-28 サイレックス・テクノロジー株式会社 デバイスサーバシステム、デバイスサーバおよびプログラム
US10226273B2 (en) 2013-03-14 2019-03-12 Ethicon Llc Mechanical fasteners for use with surgical energy devices
EP3017376B1 (en) 2013-07-03 2020-12-16 Hewlett-Packard Development Company, L.P. Universal serial bus data routing
US9814514B2 (en) 2013-09-13 2017-11-14 Ethicon Llc Electrosurgical (RF) medical instruments for cutting and coagulating tissue
CN103559435B (zh) * 2013-10-17 2017-07-07 华为技术有限公司 终端设备的调试端口控制方法和装置
US9265926B2 (en) 2013-11-08 2016-02-23 Ethicon Endo-Surgery, Llc Electrosurgical devices
GB2521229A (en) 2013-12-16 2015-06-17 Ethicon Endo Surgery Inc Medical device
GB2521228A (en) 2013-12-16 2015-06-17 Ethicon Endo Surgery Inc Medical device
US9795436B2 (en) 2014-01-07 2017-10-24 Ethicon Llc Harvesting energy from a surgical generator
US9606955B2 (en) * 2014-02-10 2017-03-28 Intel Corporation Embedded universal serial bus solutions
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
US9554854B2 (en) 2014-03-18 2017-01-31 Ethicon Endo-Surgery, Llc Detecting short circuits in electrosurgical medical devices
US10092310B2 (en) 2014-03-27 2018-10-09 Ethicon Llc Electrosurgical devices
US10463421B2 (en) 2014-03-27 2019-11-05 Ethicon Llc Two stage trigger, clamp and cut bipolar vessel sealer
WO2015145983A1 (ja) * 2014-03-28 2015-10-01 日本電気株式会社 コンピュータシステム、データ処理装置、バスデータ転送方法、および、コンピュータ可読記録媒体
US9737355B2 (en) 2014-03-31 2017-08-22 Ethicon Llc Controlling impedance rise in electrosurgical medical devices
US9913680B2 (en) 2014-04-15 2018-03-13 Ethicon Llc Software algorithms for electrosurgical instruments
US10285724B2 (en) 2014-07-31 2019-05-14 Ethicon Llc Actuation mechanisms and load adjustment assemblies for surgical instruments
US9799302B2 (en) 2014-10-29 2017-10-24 Icron Technologies Corporation Systems and methods for transmitting video, network, and USB signals over extension media
US10639092B2 (en) 2014-12-08 2020-05-05 Ethicon Llc Electrode configurations for surgical instruments
US10245095B2 (en) 2015-02-06 2019-04-02 Ethicon Llc Electrosurgical instrument with rotation and articulation mechanisms
US10321950B2 (en) 2015-03-17 2019-06-18 Ethicon Llc Managing tissue treatment
US10342602B2 (en) 2015-03-17 2019-07-09 Ethicon Llc Managing tissue treatment
US10595929B2 (en) 2015-03-24 2020-03-24 Ethicon Llc Surgical instruments with firing system overload protection mechanisms
US11020140B2 (en) 2015-06-17 2021-06-01 Cilag Gmbh International Ultrasonic surgical blade for use with ultrasonic surgical instruments
CN104866448B (zh) * 2015-06-24 2017-11-10 北京众合天下管理咨询有限公司 大规模usb设备的智能管理系统
US11051873B2 (en) 2015-06-30 2021-07-06 Cilag Gmbh International Surgical system with user adaptable techniques employing multiple energy modalities based on tissue parameters
US10357303B2 (en) 2015-06-30 2019-07-23 Ethicon Llc Translatable outer tube for sealing using shielded lap chole dissector
US10034704B2 (en) 2015-06-30 2018-07-31 Ethicon Llc Surgical instrument with user adaptable algorithms
US10765470B2 (en) 2015-06-30 2020-09-08 Ethicon Llc Surgical system with user adaptable techniques employing simultaneous energy modalities based on tissue parameters
US10898256B2 (en) 2015-06-30 2021-01-26 Ethicon Llc Surgical system with user adaptable techniques based on tissue impedance
US11129669B2 (en) 2015-06-30 2021-09-28 Cilag Gmbh International Surgical system with user adaptable techniques based on tissue type
US10154852B2 (en) 2015-07-01 2018-12-18 Ethicon Llc Ultrasonic surgical blade with improved cutting and coagulation features
US10736685B2 (en) 2015-09-30 2020-08-11 Ethicon Llc Generator for digitally generating combined electrical signal waveforms for ultrasonic surgical instruments
US10595930B2 (en) 2015-10-16 2020-03-24 Ethicon Llc Electrode wiping surgical device
US10037297B2 (en) * 2015-12-30 2018-07-31 Aten International Co., Ltd. Method of extending range of USB transmission for isochronous transfer
US10179022B2 (en) 2015-12-30 2019-01-15 Ethicon Llc Jaw position impedance limiter for electrosurgical instrument
US10575892B2 (en) 2015-12-31 2020-03-03 Ethicon Llc Adapter for electrical surgical instruments
US11229450B2 (en) 2016-01-15 2022-01-25 Cilag Gmbh International Modular battery powered handheld surgical instrument with motor drive
US10716615B2 (en) 2016-01-15 2020-07-21 Ethicon Llc Modular battery powered handheld surgical instrument with curved end effectors having asymmetric engagement between jaw and blade
US11229471B2 (en) 2016-01-15 2022-01-25 Cilag Gmbh International Modular battery powered handheld surgical instrument with selective application of energy based on tissue characterization
US11129670B2 (en) 2016-01-15 2021-09-28 Cilag Gmbh International Modular battery powered handheld surgical instrument with selective application of energy based on button displacement, intensity, or local tissue characterization
US10555769B2 (en) 2016-02-22 2020-02-11 Ethicon Llc Flexible circuits for electrosurgical instrument
US10702329B2 (en) 2016-04-29 2020-07-07 Ethicon Llc Jaw structure with distal post for electrosurgical instruments
US10485607B2 (en) 2016-04-29 2019-11-26 Ethicon Llc Jaw structure with distal closure for electrosurgical instruments
US10646269B2 (en) 2016-04-29 2020-05-12 Ethicon Llc Non-linear jaw gap for electrosurgical instruments
US10456193B2 (en) 2016-05-03 2019-10-29 Ethicon Llc Medical device with a bilateral jaw configuration for nerve stimulation
US10245064B2 (en) 2016-07-12 2019-04-02 Ethicon Llc Ultrasonic surgical instrument with piezoelectric central lumen transducer
US10893883B2 (en) 2016-07-13 2021-01-19 Ethicon Llc Ultrasonic assembly for use with ultrasonic surgical instruments
US10842522B2 (en) 2016-07-15 2020-11-24 Ethicon Llc Ultrasonic surgical instruments having offset blades
US10376305B2 (en) 2016-08-05 2019-08-13 Ethicon Llc Methods and systems for advanced harmonic energy
US10285723B2 (en) 2016-08-09 2019-05-14 Ethicon Llc Ultrasonic surgical blade with improved heel portion
USD847990S1 (en) 2016-08-16 2019-05-07 Ethicon Llc Surgical instrument
US10736649B2 (en) 2016-08-25 2020-08-11 Ethicon Llc Electrical and thermal connections for ultrasonic transducer
US10952759B2 (en) 2016-08-25 2021-03-23 Ethicon Llc Tissue loading of a surgical instrument
US10603064B2 (en) 2016-11-28 2020-03-31 Ethicon Llc Ultrasonic transducer
US11266430B2 (en) 2016-11-29 2022-03-08 Cilag Gmbh International End effector control and calibration
US10820920B2 (en) 2017-07-05 2020-11-03 Ethicon Llc Reusable ultrasonic medical devices and methods of their use
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
US10684972B2 (en) 2017-12-29 2020-06-16 Barco Nv Method and system for making functional devices available to participants of meetings
US10873402B2 (en) 2019-04-30 2020-12-22 Corning Research & Development Corporation Methods and active optical cable assemblies for providing a reset signal at a peripheral end
US11696776B2 (en) 2019-12-30 2023-07-11 Cilag Gmbh International Articulatable surgical instrument
US11779329B2 (en) 2019-12-30 2023-10-10 Cilag Gmbh International Surgical instrument comprising a flex circuit including a sensor system
US11786294B2 (en) 2019-12-30 2023-10-17 Cilag Gmbh International Control program for modular combination energy device
US12082808B2 (en) 2019-12-30 2024-09-10 Cilag Gmbh International Surgical instrument comprising a control system responsive to software configurations
US11950797B2 (en) 2019-12-30 2024-04-09 Cilag Gmbh International Deflectable electrode with higher distal bias relative to proximal bias
US12114912B2 (en) 2019-12-30 2024-10-15 Cilag Gmbh International Non-biased deflectable electrode to minimize contact between ultrasonic blade and electrode
US12053224B2 (en) 2019-12-30 2024-08-06 Cilag Gmbh International Variation in electrode parameters and deflectable electrode to modify energy density and tissue interaction
US11589916B2 (en) 2019-12-30 2023-02-28 Cilag Gmbh International Electrosurgical instruments with electrodes having variable energy densities
US12064109B2 (en) 2019-12-30 2024-08-20 Cilag Gmbh International Surgical instrument comprising a feedback control circuit
US11911063B2 (en) 2019-12-30 2024-02-27 Cilag Gmbh International Techniques for detecting ultrasonic blade to electrode contact and reducing power to ultrasonic blade
US11707318B2 (en) 2019-12-30 2023-07-25 Cilag Gmbh International Surgical instrument with jaw alignment features
US11786291B2 (en) 2019-12-30 2023-10-17 Cilag Gmbh International Deflectable support of RF energy electrode with respect to opposing ultrasonic blade
US11452525B2 (en) 2019-12-30 2022-09-27 Cilag Gmbh International Surgical instrument comprising an adjustment system
US11986201B2 (en) 2019-12-30 2024-05-21 Cilag Gmbh International Method for operating a surgical instrument
US11779387B2 (en) 2019-12-30 2023-10-10 Cilag Gmbh International Clamp arm jaw to minimize tissue sticking and improve tissue control
US11944366B2 (en) 2019-12-30 2024-04-02 Cilag Gmbh International Asymmetric segmented ultrasonic support pad for cooperative engagement with a movable RF electrode
US11812957B2 (en) 2019-12-30 2023-11-14 Cilag Gmbh International Surgical instrument comprising a signal interference resolution system
US11660089B2 (en) 2019-12-30 2023-05-30 Cilag Gmbh International Surgical instrument comprising a sensing system
US11974801B2 (en) 2019-12-30 2024-05-07 Cilag Gmbh International Electrosurgical instrument with flexible wiring assemblies
US12023086B2 (en) 2019-12-30 2024-07-02 Cilag Gmbh International Electrosurgical instrument for delivering blended energy modalities to tissue
US12076006B2 (en) 2019-12-30 2024-09-03 Cilag Gmbh International Surgical instrument comprising an orientation detection system
US11937863B2 (en) 2019-12-30 2024-03-26 Cilag Gmbh International Deflectable electrode with variable compression bias along the length of the deflectable electrode
US20210196363A1 (en) 2019-12-30 2021-07-01 Ethicon Llc Electrosurgical instrument with electrodes operable in bipolar and monopolar modes
US11520728B2 (en) 2020-07-22 2022-12-06 Icron Technologies Corporation Techniques for configuring endpoints within a USB extension environment
WO2022176101A1 (ja) * 2021-02-18 2022-08-25 日本電信電話株式会社 Usb伝送システム、装置、方法及びプログラム
US11669475B2 (en) * 2021-04-30 2023-06-06 Texas Instruments Incorporated Isolated universal serial bus repeater with high speed capability

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6697372B1 (en) * 1998-11-10 2004-02-24 Nortel Networks Limited Local area network accessory for integrating USB connectivity in existing networks
CN1505785A (zh) * 2001-03-30 2004-06-16 ض� 用于改善时间限制以及延长多速总线中有限长度电缆的方法和设备
CN1549145A (zh) * 2003-05-16 2004-11-24 旺玖科技股份有限公司 无线传输的通用串行总线集线器及其无线传输方法

Family Cites Families (25)

* Cited by examiner, † Cited by third party
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
US5797028A (en) 1995-09-11 1998-08-18 Advanced Micro Devices, Inc. Computer system having an improved digital and analog configuration
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
US5878221A (en) 1996-02-05 1999-03-02 Xinex Networks Inc. Network for multimedia asynchronous transfer mode digital signal transmission and components thereof
US5799041A (en) 1996-02-05 1998-08-25 Xinex Networks Inc. Network for multimedia asynchronous transfer mode digital signal transmission and components thereof
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
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
JP3045985B2 (ja) * 1997-08-07 2000-05-29 インターナショナル・ビジネス・マシーンズ・コーポレイション 接続確立方法、通信方法、状態変化伝達方法、状態変化実行方法、無線装置、無線デバイス、及びコンピュータ
US6308215B1 (en) 1997-12-22 2001-10-23 Robert J. Kolbet Extender apparatus for USB connection of computer units
JP2000183920A (ja) 1998-12-21 2000-06-30 Matsushita Electric Ind Co Ltd Usb情報伝送装置
WO2000049507A1 (en) 1999-02-19 2000-08-24 Icron Systems Inc. Method and apparatus for extending the range of the universal serial bus protocol
US7349391B2 (en) * 1999-03-19 2008-03-25 F5 Networks, Inc. Tunneling between a bus and a network
WO2000067103A1 (en) 1999-04-30 2000-11-09 Daniel Kelvin Jackson Method and apparatus for extending communications over usb
US6965614B1 (en) 1999-11-12 2005-11-15 Nortel Networks Limited Method and system for communications between different types of devices
JP3433180B2 (ja) * 2000-12-06 2003-08-04 三洋電機株式会社 送信装置及び通信システム
CA2345596C (en) 2001-04-27 2007-12-04 Icron Systems Inc. Method and apparatus for extending the range of the universal serial bus protocol
US6904489B2 (en) * 2001-10-23 2005-06-07 Digi International Inc. Methods and systems for remotely accessing universal serial bus devices
JP4377603B2 (ja) 2003-03-26 2009-12-02 Okiセミコンダクタ株式会社 バス通信システムおよびその通信制御方法
KR100943742B1 (ko) * 2003-06-03 2010-02-23 삼성전자주식회사 Usb 트랜잭션을 무선 pan 상에서 전송하는 장치 및방법
US8504707B2 (en) 2004-12-07 2013-08-06 Cisco Technology, Inc. Method and system for sending and receiving USB messages over a data network
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
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6697372B1 (en) * 1998-11-10 2004-02-24 Nortel Networks Limited Local area network accessory for integrating USB connectivity in existing networks
US6721332B1 (en) * 1998-11-10 2004-04-13 Nortel Networks Limited USB networking on a multiple access transmission medium
CN1505785A (zh) * 2001-03-30 2004-06-16 ض� 用于改善时间限制以及延长多速总线中有限长度电缆的方法和设备
CN1549145A (zh) * 2003-05-16 2004-11-24 旺玖科技股份有限公司 无线传输的通用串行总线集线器及其无线传输方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109388598A (zh) * 2017-08-11 2019-02-26 航天信息股份有限公司 一种信息处理方法及通用串行总线usb集群服务器

Also Published As

Publication number Publication date
CA2657827C (en) 2015-09-08
AU2007278728B2 (en) 2012-12-13
AU2007278728A1 (en) 2008-01-31
CN101529401A (zh) 2009-09-09
JP2009545086A (ja) 2009-12-17
US20080028120A1 (en) 2008-01-31
CA2657827A1 (en) 2008-01-31
JP4972688B2 (ja) 2012-07-11
EP2047370B1 (en) 2013-04-10
EP2047370A1 (en) 2009-04-15
US7587536B2 (en) 2009-09-08
WO2008011727A1 (en) 2008-01-31
EP2047370A4 (en) 2010-01-13

Similar Documents

Publication Publication Date Title
CN101529401B (zh) 用于在网络上分配usb集线器功能的方法和装置
EP2316075B1 (en) Method and apparatus for connecting usb devices to a remote computer
CN101242371B (zh) 基于PCIe交换架构路由器堆叠的方法、系统和装置
JPS61196645A (ja) 通信プロトコル変換を実行する装置およびその実行方法
CN103248526A (zh) 实现带外监控管理的通信设备、方法及主从切换方法
CN102511151A (zh) 一种路由器、虚拟集群路由器系统及建立方法
CN103036817A (zh) 一种服务器单板、服务器单板实现方法及主处理器
CN106020926A (zh) 一种用于虚拟交换机技术中数据传输的方法及装置
CN1937782B (zh) 一种机框设备及其报文发送方法
CN1964285A (zh) 具有双cpu的主控设备及实现方法
CN201639589U (zh) 基于arm的嵌入式双冗余网卡
CN101394301A (zh) 小型电信和计算通用硬件平台系统、装置及其通信方法
CN107127811A (zh) 柔性材料切割机器人智能数字控制器及实现方法
CN109328449A (zh) RTEX-EtherCAT协议转换装置及工业控制系统
CN101753486B (zh) 一种工业自动化现场总线网关设备
CN1964286B (zh) 具有双cpu的主控设备
CN100493018C (zh) 一种通过网络中的总线接口进行通信的方法和系统
CN113194048B (zh) 一种动态切换cpu与gpu拓扑的装置及使用方法
CN106411616B (zh) 一种通过1553b总线管理以太网终端的装置及方法
CN213024391U (zh) 一种车载终端串口扩展设备
CN209330143U (zh) 一种can总线网络
CN209328011U (zh) 飞控通信系统
CN203012478U (zh) 激光装置甚多路光纤系统的分布式控制设施
CN104133447A (zh) 一种工程机械控制系统及工程机械
CN104508632A (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