CN104246734B - 在无线链路上支持usb hub或外围设备的多跳树的可扩展wse hub - Google Patents
在无线链路上支持usb hub或外围设备的多跳树的可扩展wse hub Download PDFInfo
- Publication number
- CN104246734B CN104246734B CN201380021096.3A CN201380021096A CN104246734B CN 104246734 B CN104246734 B CN 104246734B CN 201380021096 A CN201380021096 A CN 201380021096A CN 104246734 B CN104246734 B CN 104246734B
- Authority
- CN
- China
- Prior art keywords
- handle
- hub
- usb
- wse
- packet
- 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.)
- Expired - Fee Related
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/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
-
- 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
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4022—Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0042—Universal serial bus [USB]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Information Transfer Systems (AREA)
- Small-Scale Networks (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
公开了用于例如使用WiGig串行扩展(WSE)空中接口来在通用串行总线(USB)设备之间提供多跳无线通信的可扩展集线器。所述可扩展集线器可以包括设备协议适配层(PAL)以及主机PAL,并且还包括用于在所述设备和主机PAL之间提供数据流路径的桥接器。所述桥接器可以被配置为根据请求消息和响应消息上的报头来区分请求消息和响应消息。此外,所述可扩展集线器可以包括虚拟端口,并且可以对设备句柄和端点句柄进行映射,以便向多跳网络树中的正确下游设备提供消息的路由。
Description
对相关申请的交叉引用
本申请要求享受2012年4月23日在美国专利和商标局递交的、名称为“ExtensibleWSE Hub to Support a Multi-Hop Tree of USB Hubs or Peripherals over aWireless Link”的临时专利申请No.61/637,221的优先权和利益,故通过引用方式将所述申请全部内容并入本文。
技术领域
概括地说,本公开内容涉及无线通信,并且具体地说,本公开内容涉及针对通用串行总线(USB)设备的WiGig串行扩展(WSE)通信。
背景技术
通用串行总线(USB)是用于将电子外围设备连接到主机计算设备的串行总线标准。由于计算机上的较老的串口和并口没有标准化并且要求开发和维持大量的设备驱动器,因此设计了USB以替换计算机上的较老的串口和并口。尽管USB最初是被设计用于个人计算机的,但其普及已促使其还在视频游戏控制台、PDA、便携式DVD播放器、移动电话和其它流行电子设备上变得平常。
USB被设计为在无需将扩展卡插入到计算机的扩展总线的情况下,允许对外围设备进行连接,并通过允许设备进行热插拔来提高即插即用能力,其中在热插拔情况下,设备在无需使计算机断电或者重启的情况下连接或者断开。当设备第一次连接时,主机对其进行列举和识别,并装载所述设备所需的设备驱动器。USB可以连接诸如鼠标设备、键盘、扫描仪、数码相机、打印机、外部存储设备等等之类的外围设备,并且USB已变成针对这些设备中的很多设备的标准连接方法。
无线千兆联盟(有时被称为WiGig)是使用无执照的60GHz频谱来开发针对消费电子产品、手持设备和个人计算机之间的多吉比特无线通信的标准的工业组织。WiGig规范形成了用于802.11ad标准的基础,802.11ad标准是对IEEE 802.11标准的最近修订。WiGig规范规定了针对在60GHz无线信道上提供IP网络互连的架构的物理(PHY)层和媒体访问控制(MAC)层。
由WiGig所开发的标准中的一些包括WiGig总线扩展(WBE)、WiGig串行扩展(WSE)和WiGig显示扩展(WDE)。在这些标准之中,将WSE设计用于支持USB主机和USB集线器/外围设备之间的单跳无线通信链路上的USB数据传输。
由于WSE规范是相对新的,因此为了USB设备的用户的提高的功能或便利性,对增强的特征的开发仍然是许多所涉及的事物的目标。
发明内容
为了提供对本公开内容的一个或多个方面的基本理解,下面给出了对这些方面的简要概括。这个概括不是对本公开内容的所有预期特征的泛泛概述,并且既不是要标识本公开内容的所有方面的关键或重要组成部分,也不是要描绘本公开内容的任意方面或全部方面的范围。其唯一目的是以简单的形式呈现本公开内容的一个或多个方面的一些概念,以此作为之后呈现的更加详细的说明的前奏。
本公开内容的各个方面提供了用于在无线信道上能够在USB集线器/外围设备的多跳树上进行WSE的架构和机制。
在一个方面中,本公开内容提供了一种被配置用于USB设备之间的无线通信的可扩展集线器。此处,所述可扩展WSE集线器包括:无线通信接口;第一协议适配层,其用于处理在所述无线通信接口处从主机设备接收到的USB消息;第二协议适配层,其用于处理在所述无线通信接口处从集线器或外围设备接收到的USB消息;以及桥接器,其用于在所述第一协议适配层和所述第二协议适配层之间提供数据流路径,其中,所述USB消息包括适于标识所述USB消息的目的地的句柄,并且其中,所述桥接器被配置为在对应于从所述主机设备接收到的USB消息的第一句柄和对应于所述集线器或外围设备的第二句柄之间进行映射。
本公开内容的另一个方面提供了一种使用可扩展集线器通过无线空中接口与USB设备通信的方法,所述方法包括:接收包括报头的分组,所述报头包括分组类型字段;当所述分组类型字段指示了所述分组包括响应消息时,通过使用第一协议适配层来处理所述分组;当所述分组类型字段指示了所述分组包括请求消息时,通过使用第二协议适配层来处理所述分组。
本公开内容的另一个方面提供了一种在集线器处能够操作的无线通信的方法,所述方法包括:从主机设备接收请求消息,所述请求消息包括句柄。在此处,如果所述句柄对应于下游集线器或者外围设备,则所述方法包括利用对应于所述下游集线器或者外围设备的替换句柄来替换所述句柄,以及向所述下游集线器或者外围设备发送包括所述替换句柄的所述请求消息。此处,如果所述句柄对应于直接连接到所述集线器的设备,则所述方法包括向直接连接到所述集线器的设备发送包括所述句柄的所述请求消息。
本公开内容的另一个方面提供了一种被配置用于USB设备之间的无线通信的可扩展集线器,所述可扩展集线器包括:用于从主机设备无线地接收第一USB消息的单元;用于从集线器或外围设备无线地接收第二USB消息的单元;用于处理来自所述主机设备的第一USB消息的单元;用于处理来自所述集线器或外围设备的第二USB消息的单元;以及用于在所述用于处理所述第一USB消息的单元和所述用于处理所述第二USB消息的单元之间提供数据流路径的单元,其中,所述第一USB消息和所述第二USB消息各自包括适于标识所述第一USB消息和所述第二USB消息的目的地的句柄,并且其中,所述用于提供数据流路径的单元被配置为在对应于从所述主机设备接收到的第一USB消息的第一句柄和对应于所述集线器或外围设备的第二句柄之间进行映射。
本公开内容的另一个方面提供了一种被配置用于USB设备之间的无线通信的可扩展集线器,所述可扩展集线器包括:用于接收包括报头的分组的单元,所述报头包括分组类型字段;用于当所述分组类型字段指示了所述分组包括响应消息时处理所述分组的第一协议适配单元;以及用于当所述分组类型字段指示了所述分组包括请求消息时处理所述分组的第二协议适配单元。
本公开内容的另一个方面提供了一种被配置用于USB设备之间的无线通信的可扩展集线器,所述可扩展集线器包括:用于从主机设备接收请求消息的单元,所述请求消息包括句柄;用于在如果所述句柄对应于下游集线器或者外围设备的情况下,利用对应于所述下游集线器或者外围设备的替换句柄来替换所述句柄的单元;用于在如果所述句柄对应于下游集线器或者外围设备的情况下,向所述下游集线器或者外围设备发送包括所述替换句柄的所述请求消息的单元;以及用于在如果所述句柄对应于直接连接到所述集线器的设备的情况下,向直接连接到所述集线器的所述设备发送包括所述句柄的所述请求消息的单元。
本公开内容的另一个方面提供了一种被配置用于USB设备之间的无线通信的可扩展集线器,所述可扩展集线器包括:至少一个处理器;耦合到所述至少一个处理器的通信接口;以及耦合到所述至少一个处理器的存储器。此处,所述至少一个处理器被配置为:接收包括报头的分组,其中所述报头包括分组类型字段;当所述分组类型字段指示了所述分组包括响应消息时,通过使用第一协议适配层来处理所述分组;以及当所述分组类型字段指示了所述分组包括请求消息时,通过使用第二协议适配层来处理所述分组。
本公开内容的另一个方面提供了一种被配置用于USB设备之间的无线通信的可扩展集线器,所述可扩展集线器包括:至少一个处理器;耦合到所述至少一个处理器的通信接口;以及耦合到所述至少一个处理器的存储器。此处,所述至少一个处理器被配置为:从主机设备接收请求消息,所述请求消息包括句柄。如果所述句柄对应于下游集线器或者外围设备,则所述至少一个处理器被配置为:利用对应于所述下游集线器或者外围设备的替换句柄来替换所述句柄;以及向所述下游集线器或者外围设备发送包括所述替换句柄的所述请求消息。另一方面,如果所述句柄对应于直接连接到所述集线器的设备,则所述至少一个处理器被配置为:向直接连接到所述集线器的所述设备发送包括所述句柄的所述请求消息。
本公开内容的另一个方面提供了一种计算机程序产品,其包括在被配置用于USB设备之间的无线通信的可扩展集线器处能够操作的计算机可读存储介质,所述计算机可读存储介质具有用于使得计算机执行以下操作的指令:接收包括报头的分组,所述报头包括分组类型字段;当所述分组类型字段指示了所述分组包括响应消息时,通过使用第一协议适配层来处理所述分组;以及当所述分组类型字段指示了所述分组包括请求消息时,通过使用第二协议适配层来处理所述分组。
本公开内容的另一个方面提供了一种计算机程序产品,其包括在被配置用于USB设备之间的无线通信的可扩展集线器处能够操作的计算机可读存储介质,所述计算机可读存储介质具有用于使得计算机从主机设备接收请求消息的指令,所述请求消息包括句柄。此处,如果所述句柄对应于下游集线器或者外围设备,则所述计算机可读存储介质包括用于使得计算机执行以下操作的指令:利用对应于所述下游集线器或者外围设备的替换句柄来替换所述句柄;以及向所述下游集线器或者外围设备发送包括所述替换句柄的请求消息。另一方面,如果所述句柄对应于直接连接到所述集线器的设备,则所述计算机可读存储介质包括用于使得计算机向直接连接到所述集线器的所述设备发送包括所述句柄的所述请求消息的指令。
在审阅了接下来的详细描述时,将更加充分地理解本发明的这些方面和其它方面。
附图说明
附图连同说明书一起示出了本发明的示例性实施例,并且,附图与所述描述一起用于解释本发明的原理。
图1是示出了传统WSE主机与传统WSE集线器通信的框图。
图2是示出了传统的单跳WSE通信网络的简化框图。
图3是根据一个例子的通过无线的多跳WSE集线器/外围设备树的拓扑。
图4是根据一个例子示出了可扩展WSE集线器的额外细节的框图。
图5是根据一个例子示出了WSE分组的简化示意图。
图6是根据一个例子示出了可扩展WSE集线器中的WSE桥接器的进一步细节的示意图。
图7是示出了使用可扩展WSE集线器的新设备设立的一个例子的呼叫流程图。
图8是示出了使用可扩展WSE集线器的数据传输的一些例子的呼叫流程图。
图9是示出了针对采用处理系统的装置的硬件实现的例子的概念图。
图10是根据一个例子示出了通过可扩展WSE集线器的对分组进行路由的过程的流程图。
图11是根据一个例子示出了重置和能力交换过程的流程图。
图12是根据一个例子示出了设备列举(device enumeration)过程的流程图。
图13是根据一个例子示出了端点配置过程的流程图。
图14是根据一个例子示出了数据传输过程的流程图。
附图中的要素和步骤是为了简单和清楚起见而示出的,并且不必根据任何特定的顺序来呈现。例如,在附图中示出了可以同时执行或者以不同顺序执行的步骤,以帮助改进对本公开内容的各个方面的理解。
具体实施方式
在下面的详细描述中,仅通过示例的方式示出和描述了本发明的某些示例性实施例。如本领域技术人员将认识到的,本发明可以以很多不同的形式来具体实现,并且不应解释为受限于本文所阐述的实施例。在本说明书的上下文中,当要素被称为是“连接到”或者“耦合到”到另一要素时,其可以是直接连接或者耦合到其它要素,或者是使用插入其间的一个或多个中间要素来间接地连接或者耦合到其它要素。贯穿说明书,相同的附图标记指代相同的要素。
图1是示出了传统的WSE主机102和WSE集线器104的简化框图,其使WSE主机102能够通过WSE空中接口与一个或多个端点(例如,USB设备108)无线地通信。
在所述视图中,WSE主机102包括无线射频电路1022、WSE主机协议适配层(PAL)1024、USB主机控制系统软件和硬件1026、以及一个或多个客户端设备驱动器1028。
WSE集线器104包括无线射频电路1042、WSE设备PAL 1044、USB集线器仿真器1046和USB事务引擎1048。在这个视图中,示出了两个USB设备108使用传统的有线USB连接器来耦合到WSE集线器104。但是,任意数量的USB设备108可以耦合到WSE集线器104。
无线射频电路1022和1042包括配置用于60GHz无线通信的物理层(PHY)和媒体访问控制层(MAC)。典型地,这些射频单元能够使用被划分成多个信道的7GHz的频谱,实现高达7Gbps的数据速率。
WSE主机PAL 1024和WSE设备PAL 1044管理WiGig协议,以实现在无线信道上从主机向端点传输USB数据。也就是说,WSE PAL(主机PAL和设备PSL)是在MAC和PHY层处实现的WSE功能实体,其通常提供USB协议和60GHz WiGig空中接口协议之间的桥接器。
在WSE主机102处,USB主机控制系统软件和硬件1026提供USB设备的动态配置和管理,以及向各设备驱动器的较上USB提供一组公用接口和较低层URB处理;并且一个或多个客户端设备驱动器1028工作以控制各USB设备,将来自较上层的I/O请求转换成一系列USB命令,并且随后将这些命令以USB请求块(URB)的形式提交给USB内核驱动器。
在WSE集线器104处,USB集线器仿真器1046工作以提供USB集线器功能;并且USB事务引擎1048工作以处理与USB设备的USB微帧事务。
如图2中所示,WSE模型使用标准USB数据传输模型,来提供主机102和一个或多个端点108之间的单跳无线通信。标准USB数据传输模型提供了:主机设备控制与一个或多个端点设备的通信。例如,在传统的有线连接中,主机与总线通信(以对于广播消息来说可以被视为模拟的方式),其中耦合到所述总线的每一个端点接收每一个传输。为了识别分组是针对于哪个端点,主机使用分组标识符,所述分组标识符被配置使得可以将分组从主机向单一端点发送而不向其它端点发送。WSE模型使用这个范例,从而WSE主机102使用分组标识符,WSE集线器104从WSE主机102接收所述分组标识符,并相应地发送给耦合到WSE集线器104的所有端点108,并且分组所针对的端点是根据所述标识符来确定的。
为了扩展这个模型,并使WSE主机102能够与耦合到多个WSE集线器104的USB设备108通信,期望在主机和端点之间的使用一个或多个集线器的多跳通信。然而,现有的WSE规范仅提供了通信协议的物理层和适当的无线空中接口之间的桥接器。虽然提供了功能型无线通信系统,但是这个范例并没有实现与标准USB数据传输模型兼容的多跳无线USB,而是相反的,受限于其操作。
因此,本公开内容的各个方面提供了通过无线空中接口的较上层USB通信,其适于以有效方式来实现多跳无线USB通信,其中USB主机和端点被实现为使用它们的标准USB数据传输模型,并且其中,可以减少或者避免在多个空中信道上的冗余的和不必要的传输。
图3根据本公开内容的一些方面,示出了可以用于通过无线空中接口的多跳WSE集线器/外围设备树的拓扑的一个例子。也就是说,在本公开内容中介绍了一种可扩展WSE集线器204,其被配置为实现多跳无线通信,其中主机和端点均能够使用标准的USB数据传输模型。
在所述示图中,可以看出,可扩展WSE集线器204可以执行WSE集线器的功能中的很多功能或者全部功能,因为:一个或多个USB端点设备108可以直接耦合到可扩展WSE集线器204,并且此外,可扩展WSE集线器204可以通过WSE空中接口与WSE主机102通信。然而,在本公开内容的一个方面中,可扩展WSE集线器204可以额外地执行WSE主机的功能中的很多功能或者全部功能,因为:它可以通过WSE空中接口与WSE集线器104通信。另外,可扩展WSE集线器204可以额外地提供使用分别的多个WSE空中接口来与多个WSE集线器104通信的能力,如所示。
也就是说,在本公开内容的一个方面中,可扩展WSE集线器204是被配置为具有以下能力的WSE集线器的形式(不同于传统WSE集线器104):具有扩展的能力,以便通过WSE空中接口充当针对一个或多个传统WSE集线器104的集线器,以及在传统的有线USB接口上充当针对一个或多个USB外围设备/端点108的集线器。这里,可扩展WSE集线器204的特征可以与现有的WiGig WSE规范向后兼容。也就是说,可扩展WSE集线器204及其用于支持WSE集线器/外围设备的多跳树的操作,对于现有的WSE主机102、WSE集线器104和外围设备108来可能说是透明的。
图4是根据本公开内容的一些方面,示出了在图3中所示的可扩展WSE集线器204的额外细节的框图。
这里,可扩展WSE集线器204包括无线射频电路2041、WSE设备PAL2042、WSE主机PAL2043、USB集线器仿真器2044、WSE桥接器2045和USB事务引擎2046。在这个视图中,示出了两个USB设备108使用传统的有线USB连接器来耦合到可扩展WSE集线器204。然而,任意数量的USB设备108可以耦合到可扩展WSE集线器108。
通过比较图4和图1的视图,可以看出,将传统WSE主机102和WSE集线器104的功能模块中的很多功能模块被组合并且包括在可扩展WSE集线器204中。也就是说,如在WSE主机102中一样,可扩展WSE集线器204包括WSE主机PAL 2043;并且如在WSE集线器104中一样,可扩展WSE集线器204包括WSE设备PAL 2042。
可扩展WSE集线器204处的WSE主机PAL 2043负责通过无线射频电路2041的方式与下游WSE集线器/外围设备通信,如下面所进一步详细描述的,负责管理用于重置下游设备的WSE RESET操作,以及负责管理用于确定下游设备的能力和初始化下游设备的WSE设备能力交换操作。可扩展WSE集线器204处的WSE设备PAL 2042负责通过无线射频电路2041的方式与WSE主机102或上游可扩展WSE集线器通信。这里,可扩展WSE集线器204处的WSE设备PAL2042可以以某些方式类似于传统WSE集线器104处的WSE设备PAL 1044(参见图1)。然而,如下面所进一步详细描述的,对于从上游设备接收的输入分组来说,根据本公开内容的一些方面的WSE设备PAL 2042被配置为:确定是将输入分组指引到本地连接的USB设备108(如在图4中的路径402处所示出的),还是通过WSE桥接器2045的方式将输入分组指引到下游WSE设备(如图4中的路径404处所示出的)。
此外,如在WSE集线器104中,可扩展WSE集线器201包括:用于与一个或多个本地连接的USB设备108通信的USB集线器仿真器2044和USB事务引擎2046。
通过可扩展WSE集线器进行分组路由
如图4中所示,根据这个例子的可扩展WSE集线器204包括与WSE集线器104相同的所有功能模块,还包括除了传统WiGig WSE集线器104的组件之外的某些组件。例如,可扩展WSE集线器204可以包括两个额外的组件:WSE主机PAL 2043和WSE桥接器2045。
也就是说,根据本公开内容的方面,可扩展WSE集线器204可以包括WSE主机PAL2043和WSE设备PAL 2042二者。以此方式,可扩展WSE集线器204可以模拟WSE主机102的与下游设备(例如,WSE集线器104)有关的功能;并且类似地,可扩展WSE集线器204可以模拟WSE集线器104的与上游设备(例如,WSE主机102)有关的功能。
为此,当可扩展WSE集线器204接收到WSE PAL分组时,在本公开内容的一些方面中,可扩展WSE集线器204可以确定所接收到的分组是应当由WSE设备PAL 2042处理,还是由WSE主机PAL 2043处理。
图5是示出了WSE PAL分组500的至少一部分的简化示意图。如在这个视图中所看到的,除了有效载荷506之外,WSE PAL分组500还可以包括WSE PAL报头。这里,WSE PAL报头可以包括分组类型字段502,所述分组类型字段适于指示WSE PAL分组是请求消息还是响应消息。在各种例子中,可扩展WSE集线器204可以被配置为对分组类型字段502进行分析,并确定其内容。例如,无线射频电路2041、相关联的电路和/或可扩展WSE集线器204中所包括的处理器(参见图9)可以被配置为:根据分组类型字段502的内容,将WSE PAL分组提供给WSE设备PAL 2042或WSE主机PAL 2043中的一个。
例如,参见图10中所示出的流程图,在可扩展WSE集线器204在步骤1002处接收到WSE PAL分组之后,其可以在步骤1004处确定对应于分组类型字段502的分组类型。这里,如果WSE PAL报头中的分组类型字段502指示了所述WSE PAL消息是请求消息,则在步骤1008处,可扩展WSE集线器204中的WSE设备PAL 2042可以处理所述分组。也就是说,如下所描述的,WSE设备PAL 2042可以将所述请求消息识别为来自于上游设备(诸如WSE主机102)(或者在其它例子中,上游WSE集线器104或者上游可扩展WSE集线器204),并且可以相应地处理所述分组。
另一方面,如果在步骤1004处,WSE PAL报头中的分组类型字段502指示了所述WSEPAL消息是响应消息,则在步骤1006处,可扩展WSE集线器204中的WSE主机PAL 2043可以处理所述分组。也就是说,如下所描述的,WSE主机PAL 2043可以将所述响应消息识别为来自于下游设备(诸如USB设备108)。
以此方式,可以不必为了使用根据本公开内容的方面的可扩展WSE集线器204,来将WSE PAL分组相对于传统PAL分组进行改变。因此,可以维持与传统WSE主机102和WSE集线器104的向后兼容。
可扩展WSE集线器204处的WSE设备PAL 2042负责与WSE主机102或者上游可扩展WSE集线器通信。这里,可扩展WSE集线器204处的WSE设备PAL 2042可以以某些方式类似于传统WSE集线器104处的WSE设备PAL 1044(参见图1)。
然而,在传统的WSE集线器104中,当其WSE设备PAL 1044接收到分组时,在对所述分组进行适当的处理之后,始终将所述分组向上传送到USB集线器仿真器1046。另一方面,在本公开内容的一个方面中,可扩展WSE集线器204处的WSE设备PAL 2042可以确定USB分组402(参见图4)是要由其USB事务引擎2046处理还是要由WSE桥接器2045处理,在由其USB事务引擎2046处理情况下,将分组402向上传送到USB集线器仿真器2044,在由WSE桥接器2045处理的情况下,将分组404向上传送到WSE桥接器2045。这里,再次参见图10,一旦将WSE PAL分组500传送给WSE设备PAL 2042,则WSE设备PAL 2042可以在步骤1010处确定设备/端点句柄字段504中的设备/端点句柄是否指示了所述WSE PAL分组属于物理地连接到可扩展WSE集线器204的本地USB设备。这里,设备/端点句柄字段504可以包括适于标识所述分组的目的地的一个或多个句柄。如果是,则在步骤1012处,WSE设备PAL 2042可以将所述分组传送给USB集线器仿真器2044;但如果不是,则所述分组属于下游WSE设备或外围设备,并且因此在步骤1014处,WSE设备PAL 2042可以将所述分组传送到WSE桥接器2045。因此,如下面所进一步详细描述的,所述分组可以相应地针对相对应的下游设备。
图7是示出了WSE主机102、可扩展WSE集线器204、本地连接到可扩展WSE集线器204的USB设备108和WSE集线器/外围设备112之间的通信过程的呼叫流程图,所述通信过程用于在可扩展WSE集线器204和WSE集线器/外围设备112之间建立新的WSE连接。在所述视图中,举例而言,假定直接耦合到可扩展WSE集线器204的USB设备108已经通过WSE主机102和可扩展WSE集线器204之间的WSE空中接口与WSE主机102建立了USB通信。
这里,WSE集线器/外围设备112可以是WSE集线器104、WSE外围设备110或者任何其它适当的下游WSE设备。如本文中在下面所描述的,这个视图示出了:对应于新连接的WSE集线器/外围设备112的WSE重置和能力交换的例子;用于建立对应于下游WSE集线器/外围设备112的设备句柄的设备列举过程;以及用于生成对应于下游WSE集线器/外围设备112的端点句柄的端点配置过程。
WSE重置
当WSE集线器/外围设备112与可扩展WSE集线器204建立了无线连接702时,可扩展WSE集线器204可以发起重置过程。在WSE规范中规定的传统过程被称为PALME-WSE-RESET过程。传统上,使用这个过程来重置下游设备。在本公开内容的一个方面中,当可扩展WSE集线器204处的WSE主机PAL 2043发现和连接到下游WSE集线器/外围设备时,其可以发起诸如PALME-WSE-RESET过程之类的WSE重置过程。因此,如下面所进一步详细描述的,可扩展WSE集线器204可以在跨越所述多跳WSE树来提供一致的信息。
在另外的例子中,当可扩展WSE集线器204处的WSE主机PAL 2043从WSE主机102接收到PALME-WSE-RESET指示时,其还可以触发与其下游WSE集线器/外围设备的PALME-WSE-RESET过程。
因此,当可扩展WSE集线器204观测到新的下游WSE集线器104时,随后可扩展WSE集线器204通常可以重置所述WSE集线器104;并且当主机决定要重置所有USB设备时,可扩展WSE集线器204可以启用该重置。
参见图11,其提供了流程图,所述流程图示出了针对如上所描述并且在图7中示出的WSE重置和能力交换过程的简化过程1100。在步骤1102处,可扩展WSE集线器204可以发现新的WSE外围设备112,并且相应地在所发现的WSE外围设备112和可扩展WSE集线器204之间建立无线连接。例如,这个步骤可以由可扩展WSE集线器204处的无线射频电路2041实现,和/或由通信地耦合到无线射频电路2041的处理器来实现。在步骤1104处,可扩展WSE集线器204可以向WSE集线器/外围设备112发送WSE重置请求,并且作为响应,在步骤1106处,WSE外围设备112可以向可扩展WSE集线器204发送WSE重置响应。
WSE设备能力交换
再一次参见图7,在WSE重置过程完成之后,可扩展WSE集线器204可以发起能力交换过程,从而其可以确定例如WSE集线器/外围设备112可以使用多少句柄。例如,如果所述外围设备是WSE集线器104,则这可以是多个USB设备或外围设备耦合到所述集线器的情形,并且因此WSE集线器/外围设备112可能需要多个句柄。因此,可扩展WSE集线器204处的WSE主机PAL 2043可以在完成了与新连接的下游WSE集线器/外围设备112的如上所述的PALME-WSE-RESET过程之后,发起与所述新连接的下游WSE集线器/外围设备112的PALME-WSE-DEVCAPABILITYEXCHANGE过程。在本公开内容的一些方面中,可扩展WSE集线器204并不需要必须等待主机来发起所述WSE能力交换过程,并且可以自身发起这个过程。
再次参见图11,在步骤1108处,可扩展WSE集线器204可以向WSE集线器/外围设备112发送WSE设备能力交换请求;并且作为响应,在步骤1110处,WSE集线器/外围设备112可以向可扩展WSE集线器204发送设备能力交换响应。
再次参见图4,在本公开内容的一些方面中,当分组404通过可扩展WSE集线器204进行发送、用于上游设备(例如,WSE主机102)和下游设备(例如,WSE集线器104)之间的无线通信时,分组404可能需要由WSE设备PAL 2042和WSE主机PAL 2043二者进行处理。也就是说,WSE设备PAL 2042可以处理与上游WSE主机102的通信,而WSE主机PAL 2043可以处理与下游WSE集线器104的通信。但是,可扩展WSE集线器204处的WSE设备PAL 2042和WSE主机PAL2043可以彼此之间不具有直接通信。因此,WSE桥接器2045可以桥接WSE设备PAL 2042和WSE主机PAL 2043之间的通信。也就是说,WSE桥接器2045可以被配置为使得数据流能够跨越可扩展WSE集线器204。
虚拟USB端口
在本公开内容的一个方面中,可扩展WSE集线器204可以维持针对潜在的下游WSE集线器/外围设备使用的一组虚拟USB集线器号码。这里,当可扩展WSE集线器204连接到下游WSE集线器/外围设备时,可扩展WSE集线器204可以分配将要用于下游WSE集线器/外围设备的虚拟端口604。以此方式,当输入WSE分组从诸如WSE主机102的上游设备到达WSE桥接器2045处时,所述分组将到达相应的虚拟USB端口上,从而设备/端点句柄映射电路602可以将所述设备/端点句柄504映射到适当的下游WSE集线器或外围设备,从而所述分组可以发送到指定的端点,如下面所进一步详细描述的。
因此,再次参见图11,在步骤1112处,紧接着WSE重置和能力交换过程,可扩展WSE集线器204可以在虚拟USB端口上安装所述WSE集线器/外围设备112。
句柄映射
图6是根据本发公开内容的一个方面,用于WSE桥接器2045的示例性架构的简化示意图。所示出的WSE桥接器2045被示出为耦合到WSE集线器104,所述WSE集线器104可以耦合一个或多个USB设备108。WSE桥接器2045还被示出为耦合到通用WSE外围设备110,所述通用WSE外围设备110可以是一个或多个USB设备108、WSE集线器104、可扩展WSE集线器204或者任何其它适当的具备WSE能力的设备。
这里,WSE桥接器2045可以被配置为维持映射表,所述映射表针对上游的设备/端点句柄504(参见图5)和下游的设备/端点句柄504之间的映射。因此,WSE桥接器2045可以包括用于实现这个功能的句柄映射实体602。在一些例子中,句柄映射实体602可以是专用映射电路,而在其它例子中,其可以是包括存储器(例如,图9中的存储器905)中存储的设备端点/句柄映射并且由通用处理器实现的功能模块。使用这种映射(其可以随时间变化),一系列的下游WSE集线器/外围设备可以无线地连接到可扩展WSE集线器204。
因此,可扩展WSE集线器204可以在虚拟端口604和下游WSE集线器/外围设备的端口号之间进行映射。再次参见图4,当在WSE桥接器2045和下游WSE集线器104之间来发送分组404时,所述分组移交给WSE主机PAL 2043,并且WSE主机PAL 2043使用由句柄映射实体602分配的句柄504。
设备列举
现参见图7和图12,现在描述用于根据本公开内容的一些方面来建立设备句柄的设备列举过程。紧接着上面所描述的WSE重置和能力交换,在步骤1202处,WSE主机102可以针对新连接的设备,来轮询可扩展WSE集线器204。当WSE主机102来轮询时,如果可扩展WSE集线器204具有新连接的USB设备108或者下游WSE集线器/外围设备112(如上面关于重置和能力交换过程所描述的),那么在步骤1204处,可扩展WSE集线器204可以对WSE主机102进行响应,用信号表示新的USB设备108或者下游WSE集线器/外围设备112。
当可扩展WSE集线器204接收到用于指示检测到新的下游WSE集线器/外围设备112的信号时,在步骤1206处,WSE集线器104可以发送WSE新设备句柄请求,以请求可扩展WSE集线器204为新连接的下游WSE集线器/外围设备112设置地址。这里,在步骤1206处所发送的WSE设备句柄请求中的集线器USB地址字段的值和集线器端口号的值,可以被设置为报告了检测到新USB设备或者下游WSE集线器/外围设备112的、可扩展WSE集线器204的根集线器的相应值。
在步骤1208处,可扩展WSE集线器204可以向下游WSE集线器/外围设备112转发WSE新设备句柄请求,从而所述下游WSE集线器/外围设备112可以相应地将由WSE主机102分配的新地址设置到其自身。在生成了在针对未来WSE数据分组500的设备/端点句柄字段504中使用的新设备句柄之后,在步骤1212处,下游WSE集线器/外围设备112可以随后将包括所述新设备句柄的WSE设备句柄响应发送回可扩展WSE集线器204。
当可扩展WSE集线器204从下游WSE集线器/外围设备112接收到WSE设备句柄响应时,在步骤1214处,可扩展WSE集线器204处的WSE桥接器2045可以生成用于其上游使用的唯一WSE设备句柄。因此,WSE桥接器2045处的设备/端点句柄映射实体602可以将由可扩展WSE集线器204生成的WSE设备句柄映射到所接收的下游WSE集线器/外围设备112的WSE设备句柄。在生成了WSE设备句柄之后,在步骤1216处,可扩展WSE集线器204可以使用所述新的WSE设备句柄,来向WSE主机102转发WSE新设备句柄响应。
端点配置
一旦WSE主机102具有了如上所描述的并且在设备列举过程中完成的新设备句柄,则可以发生端点配置过程,以便生成端点句柄。也就是说,WSE集线器/外围设备112可以具有多个端点。因此,参见图7和图13,可以使用用于生成新端点句柄的过程,来实现将USB分组指引到适当的端点。
在步骤1302处,WSE集线器104可以发送WSE端点句柄请求,以请求可扩展WSE集线器204为新连接的下游WSE集线器/外围设备112设置端点句柄。在步骤1304处,可扩展WSE集线器204可以向下游WSE集线器/外围设备112转发该WSE端点句柄请求,并且在步骤1306处,下游WSE集线器/外围设备112可以将包括新端点句柄列表的WSE端点句柄响应发送回可扩展WSE集线器204。当可扩展WSE集线器204从下游WSE集线器/外围设备112接收到WSE端点句柄响应时,WSE桥接器2045可以生成用于其上游使用的唯一WSE端点句柄。也就是说,在从下游WSE集线器/外围设备112接收到新端点句柄列表的情况下,在步骤1308处,可扩展WSE集线器204可以生成新端点句柄列表,所述新端点句柄列表针对由下游WSE集线器/外围设备112所使用的端点和由上游WSE主机102所请求的端点之间的映射,此外,可扩展WSE集线器204可以交换设备/端点句柄映射实体602中的新端点句柄列表。一旦生成了端点句柄列表,则可以对其进行存储,以便由设备/端点句柄映射实体602访问。
因此,设备/端点句柄映射实体602可以将由可扩展WSE集线器204所生成的WSE端点句柄,映射到所接收的下游WSE集线器/外围设备112的WSE端点句柄。在步骤1310处,可扩展WSE集线器204可以向WSE主机102发送包括新的端点句柄列表的WSE端点句柄响应。
因此,通过生成针对新连接的WSE集线器/外围设备112的新端点句柄,设备/端点句柄映射实体602可以在从WSE主机102接收到的请求(其包含请求的句柄)转换到目标下游WSE集线器/外围设备112处的目标句柄。
用于数据传输的WSE桥接器操作
紧接着上面所描述的新设备建立过程,一旦下游设备通过可扩展WSE集线器204的方式耦合到WSE主机102,只要WSE主机102和WSE集线器/外围设备112是有关的,则WSE主机102和WSE集线器/外围设备112之间的数据传输基本与传统WSE事务相同。也就是说,在本公开内容的方面中,可扩展WSE集线器204可以以与传统WSE主机102和WSE集线器/外围设备112向后兼容的方式,提供用于在WSE网络上进行多跳无线通信的能力。然而,为了实现这个特征,如上所述,通过设备/端点句柄映射实体602的方式,可扩展WSE集线器204可以在WSE主机102和下游WSE集线器/外围设备112之间对句柄进行映射。也就是说,当可扩展WSE集线器204接收到WSE PAL分组时,可扩展WSE集线器204可以利用实际端点设备的相应设备/端点句柄,来替换WSE PAL分组上的设备/端点句柄,并且随后向端点设备发送包括设备/端点句柄的分组。
图8是示出了根据本公开内容的某些方面的数据传输的一些例子的呼叫流程图。这里,可扩展WSE集线器204具有直接连接到所述可扩展WSE集线器204的一个USB设备108,另外,下游WSE集线器104还具有直接连接到所述下游WSE集线器104的一个USB设备108。因此,图8顺序地示出了WSE主机102和USB设备108中的每一个之间的示例性数据传输。
图14是示出了实现这些数据传输的过程的相应流程图。现一起参见图8和图14,在步骤1402处,可扩展WSE集线器204可以从WSE主机102(或者上游可扩展WSE集线器)接收包括WSE PAL分组的USB请求,所述WSE PAL分组去往直接耦合到可扩展WSE集线器204的USB设备108。因此,在步骤1404处,可扩展WSE集线器204可以确定不存在可用于这个USB请求的句柄映射,这意味着对于这个事务而言不需要映射。因此,在步骤1406处,WSE设备PAL 2042可以将分组向上传送到USB集线器仿真器2044,以由USB事务引擎2046处理,用于与本地耦合的USB设备108通信。一旦与本地耦合的USB设备108建立了通信,则在步骤1408处,可扩展WSE集线器可以将USB响应发送回WSE主机102,完成所述事务。
返回步骤1402,可扩展WSE集线器204可以从WSE主机102(或者上游可扩展WSE集线器)接收包括WSE PAL分组的第二USB请求,所述WSE PAL分组不去往连接到可扩展WSE集线器204自身的USB设备108。因此,在步骤1404处,可扩展WSE集线器204可以确定存在可用于这个USB请求的句柄映射,这意味着对于这个事务来说,需要针对相应设备/端点句柄的映射。因此,在步骤1410处,WSE设备PAL 2042可以将所述分组向上传送到WSE桥接器2045,并且在步骤1412处,WSE桥接器2045处的设备/端点句柄映射实体602可以相应地访问其中存储的设备/端点映射,并利用下游WSE链路上的相应设备/端点句柄来替换所述WSE PAL分组上的设备/端点句柄。
在具有适当的设备/端点句柄的情况下,在步骤1414处,可扩展WSE集线器204可以在映射的端点句柄上向下游WSE集线器104发送USB请求,并且因此在步骤1416处,WSE集线器104可以向其USB设备108传送所述USB请求。在步骤1418处,下游WSE集线器104可以向可扩展WSE主机204发送USB响应。当所述响应到达时,在步骤1420处,可扩展WSE集线器204可以将设备端点句柄交换回它们的原始值(所述原始值对应于设备/端点句柄映射实体602中的设备/端点句柄映射处所存储的值)。在这个时刻,在步骤1422处,可扩展WSE集线器204可以将USB响应发送回WSE主机102,完成所述事务。
在本公开内容的一个或多个方面中,所描述的功能可以用硬件、软件、固件或其任意组合的方式来实现。如果用软件实现,则可以将这些功能作为计算机可读介质上的一个或多个指令或代码进行存储或者通过其进行传输。计算机可读介质可以是临时的或者是非临时的,并且可以包括计算机存储介质和通信介质,其中通信介质包括促进从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用计算机或者专用计算机能够存取的任何可用介质。通过示例的方式而不是限制的方式,这种非临时性计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储器、磁盘存储器或其它磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码单元并能够由通用计算机或者专用计算机、或者通用处理器或专用处理器进行存取的任何其它介质。另外,任何连接可以适当地称为计算机可读介质。例如,如果软件是使用同轴电缆、光纤光缆、双绞线、数字用户线(DSL)或者诸如红外线、无线和微波之类的无线技术从网站、服务器或其它远程源传输的,那么同轴电缆、光纤光缆、双绞线、DSL或者诸如红外线、无线和微波之类的无线技术是包括在所述介质的定义中的临时性实体。如本文中所使用的,磁盘和光盘包括压缩光盘(CD)、激光光盘、光盘、数字通用光盘(DVD)、软盘和蓝光光盘,其中磁盘通常磁性地复制数据,而光盘则用激光来光学地复制数据。上面的组合也应当包括在计算机可读介质的保护范围之内。计算机可读介质可以具体实现在计算机程序产品中。通过示例而非限制的方式,计算机程序产品可以包括以封装材料形式的计算机可读介质。本领域技术人员将意识到如何取决于具体的应用和对整个系统所施加的整体设计约束条件来最佳地实现贯穿本公开内容呈现的所描述的功能。
图9是示出了针对采用处理系统914的装置900的硬件实现的例子的概念性示图。在一些例子中,装置900可以是可扩展WSE集线器204的至少一部分。根据本公开内容的各个方面,要素或者元要素的任何部分或者要素的任意组合(例如,可扩展WSE集线器204或者可扩展WSE集线器204的任何部分),可以用包括一个或多个处理器904的处理系统914来实现。处理器904的例子包括微处理器、微控制器、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、可编程逻辑器件(PLD)、状态机、门逻辑器件、分立硬件电路和被配置为执行贯穿本公开内容来描述的各种功能的其它适当硬件。
在这个例子中,可以用总线架构来实现处理系统914,总线架构由总线902来总体表示。总线902可以包括任意数量的互连总线和桥接器器,这取决于处理系统914的特定应用和总体设计约束条件。总线902将包括一个或多个处理器(其由处理器904总体表示)、存储器905和计算机可读介质(其由计算机可读介质906总体表示)的各种电路链接在一起。总线902还链接了诸如定时源、外围设备、电压调整器和电源管理电路之类的各种其它电路,这些电路是本领域所公知的,并且因此将不再进一步描述。总线接口908提供总线902和收发机910之间的接口。收发机910提供用于在传输介质上与各种其它装置通信的单元。取决于装置的本质,还可以提供用户接口912(例如,键盘、显示器、扬声器、话筒、操纵杆)。
处理器904负责管理总线902和通用处理,包括执行计算机可读介质906上存储的软件。当软件由处理器904执行时,使得处理系统914执行下面针对任何具体装置所描述的各种功能。计算机可读介质906还可以用于存储当处理器904执行软件时所操作的数据。
处理系统中的一个或多个处理器904可以执行软件。软件应当被广意地解释为意味着指令、指令集、代码、代码段、程序代码、程序、子程序、软件模块、应用、软件应用、软件包、例程、子例程、对象、可执行文件、执行的线程、过程、函数等等,无论其被称为软件、固件、中间件、微代码、硬件描述语言还是其它。软件可以位于计算机可读介质906上。计算机可读介质906可以是非临时性计算机可读介质。通过示例的方式,非临时性计算机可读介质可以包括磁存储器件(例如,硬盘、软盘、磁条(magnetic strip))、光盘(例如,压缩光盘(CD)或数字多用光盘(DVD))、智能卡、闪存器件(例如,卡、棒或钥匙驱动器)、随机存取存储器(RAM)、只读存储器(ROM)、可编程ROM(PROM)、可擦除PROM(EPROM)、电可擦除PROM(EEPROM)、寄存器、移动硬盘、以及用于存储可以由计算机访问和读取的软件和/或指令的任何其它适当介质。通过示例的方式,计算机可读介质还可以包括载波波形、传输线、以及用于发送可以由计算机访问和读取的软件和/或指令的任何其它适当介质。计算机可读介质906可以位于处理系统914中、处理系统914之外,或者分布在包括处理系统914的多个实体上。计算机可读介质906可以具体实现在计算机程序产品中。通过示例的方式,计算机程序产品可以包括以封装材料形式的计算机可读介质。本领域技术人员将意识到如何取决于具体的应用和对整个系统所施加的整体设计约束条件来最佳地实现贯穿本公开内容呈现的所描述的功能。
在前面的说明书中,参照特定例子来描述了本发明的某些代表性方面。然而,可以在不脱离如权利要求书所阐述的本发明的保护范围的基础上,做出各种修改和改变。本说明书和附图仅是示例性的,而不是限制性的,并且修改旨在落入本发明的保护范围之内。因此,本发明的保护范围应当由权利要求书以及它们的法定等同物来确定,而不是仅仅由所描述的例子来确定。
例如,在任何方法权利要求或者过程权利要求中所陈述的步骤可以以任何顺序来执行,并且不受限于权利要求中所呈现的特定顺序。另外,在任何装置权利要求中所陈述的组件和/或要素可以以各种各样的排列方式进行组合或者可操作地进行配置,故其并不受限于权利要求中所陈述的特定结构。
此外,虽然上文已经结合具体实施例描述了某些益处、其它优势和问题的解决方案;然而,任何益处、优势、问题的解决方案,或者可能使任何具体益处、优势或解决方案发生或变得更加明确的任何要素都不应被解释为任何或全部权利要求的关键的、必须的或基本的特征或组件。
如本申请所使用的,术语“包括”、“包含”、“由…组成”、“具有”、“含有”、“包含有”或者其任意变型旨在指代非排他性的包含,使得包括一个列表的要素的合成物或者装置不仅包括所陈述的那些要素,而且还包括没有明确地列出的或者这种过程、方法、制品、合成物或装置所固有的其它要素。除了没有明确陈述的那些之外,否则,在本发明的实践中所使用的上面所描述的结构、设置、应用、比例、要素、材料或者组件的其它组合和/或修改,可以在不脱离本发明的基本原理的基础上,进行改变或者进行具体地调整以适应特定的环境、制造规格、设计参数或者其它操作要求。
另外,除非特定地如此说明,否则以单数来提及要素并不旨在意味着“一个并且仅一个”,而是“一个或多个”。除非另外特别说明,否则术语“一些”指的是一个或多个。贯穿这个公开内容描述的、对于本领域技术人员来说是公知的或之后将成为公知的各个方面的要素的所有结构和功能等同物通过引用方式明确地并入本文中,并且旨在由权利要求所涵盖。另外,本文中没有任何所公开的内容是旨在奉献给公众的,无论这种公开内容是否明确地记载在权利要求书中。不应根据美国专利法第112条第6款来解释权利要求要素,除非:所述要素明确地使用短语“用于……的单元”来记载,或者,在方法权利要求的情况下,所述要素使用短语“用于……的步骤”来记载。
Claims (30)
1.一种被配置用于USB设备之间的无线通信的可扩展集线器,包括:
无线通信接口;
第一协议适配层,其用于处理在所述无线通信接口处从主机设备接收到的USB消息;
第二协议适配层,其用于处理在所述无线通信接口处从集线器设备接收到的USB消息;以及
桥接器,其用于在所述第一协议适配层和所述第二协议适配层之间提供数据流路径,
其中,所述USB消息包括适于识别所述USB消息的目的地的句柄,并且其中,所述桥接器被配置为在包括在从所述主机设备接收到的所述USB消息内且由所述可扩展集线器设置以识别所述集线器设备的第一句柄和由所述集线器设备设置以识别所述集线器设备且不同于所述第一句柄的第二句柄之间进行映射,从所述集线器设备接收到的所述USB消息包括所述第二句柄。
2.根据权利要求1所述的可扩展集线器,其中,所述桥接器还被配置为在对应于从所述集线器设备接收到的USB消息的第三句柄和对应于所述主机设备的第四句柄之间进行映射。
3.根据权利要求1所述的可扩展集线器,其中,所述桥接器包括对用于句柄之间的映射的句柄进行存储的句柄映射表。
4.根据权利要求1所述的可扩展集线器,还包括用于与本地USB设备通信的USB集线器仿真器。
5.根据权利要求1所述的可扩展集线器,还包括分配给所述集线器设备的至少一个虚拟端口。
6.一种使用可扩展集线器通过无线空中接口与USB设备通信的方法,包括:
接收包括报头的分组,所述报头包括分组类型字段和句柄;
当所述分组类型字段指示了所述分组包括响应消息时,通过使用第一协议适配层来处理所述分组;以及
当所述分组类型字段指示了所述分组包括请求消息时,通过使用第二协议适配层来处理所述分组,
其中,通过使用第二协议适配层来处理所述分组进一步包括:
当所述句柄对应于直接连接到所述可扩展集线器的USB设备时,将所述分组传送给USB集线器仿真器以从所述USB集线器仿真器将包括所述句柄的所述分组传输给所述直接连接的USB设备;以及
当所述句柄对应于通过所述无线空中接口通信耦合到所述可扩展集线器的下游USB设备时,将所述分组传送给桥接器,其中,所述桥接器被配置用于利用对应于所述USB设备的替换句柄来替换所述句柄以将包括所述替换句柄的所述分组传输给所述下游USB设备。
7.根据权利要求6所述的方法,其中,还包括:
在由所述可扩展集线器生成以识别所述USB设备的所述句柄和由所述USB设备生成以识别所述USB设备的所述替换句柄之间进行映射。
8.一种在集线器处能够操作的USB设备之间的无线通信的方法,包括:
从主机设备接收请求消息,所述请求消息包括句柄;
如果所述句柄对应于下游集线器或者外围设备,则:
利用对应于所述下游集线器或者外围设备的替换句柄来替换所述句柄;以及
向所述下游集线器或者外围设备发送包括所述替换句柄的所述请求消息;以及
如果所述句柄对应于直接连接到所述集线器的设备,则向直接连接到所述集线器的所述设备发送包括所述句柄的所述请求消息。
9.根据权利要求8所述的方法,其中,所述下游集线器或外围设备使用无线千兆联盟串行扩展空中接口来无线地耦合到所述集线器。
10.根据权利要求8所述的方法,还包括:
从所述下游集线器或外围设备接收响应消息,所述响应消息包括第二句柄;
利用对应于所述主机的第二替换句柄来替换所述第二句柄;以及
向所述主机发送包括所述第二替换句柄的所述响应消息。
11.一种被配置用于USB设备之间的无线通信的可扩展集线器,包括:
用于从主机设备无线地接收第一USB消息的单元;
用于从集线器设备无线地接收第二USB消息的单元;
用于处理来自所述主机设备的所述第一USB消息的单元;
用于处理来自所述集线器设备的所述第二USB消息的单元;以及
用于在所述用于处理所述第一USB消息的单元和所述用于处理所述第二USB消息的单元之间提供数据流路径的单元,
其中,所述第一USB消息和所述第二USB消息分别包括适于标识各自的所述第一USB消息和所述第二USB消息的目的地的句柄,并且其中,所述用于提供数据流路径的单元被配置为在包括在从所述主机设备接收到的所述USB消息内且由所述可扩展集线器设置以识别所述集线器设备的第一句柄和由所述集线器设备设置以识别所述集线器设备且不同于所述第一句柄的第二句柄之间进行映射,从所述集线器设备接收到的所述USB消息包括所述第二句柄。
12.根据权利要求11所述的可扩展集线器,其中,所述用于提供数据流路径的单元还被配置为在对应于从所述集线器设备接收到的所述第二USB消息的第三句柄和对应于所述主机设备的第四句柄之间进行映射。
13.根据权利要求11所述的可扩展集线器,其中,所述用于提供数据流路径的单元被配置为存储句柄映射表,以便对用于句柄之间的映射的句柄进行存储。
14.根据权利要求11所述的可扩展集线器,还包括用于与本地USB设备通信的单元。
15.根据权利要求11所述的可扩展集线器,还包括分配给所述集线器设备的至少一个虚拟端口。
16.一种被配置用于USB设备之间的无线通信的可扩展集线器,包括:
用于接收包括报头的分组的单元,所述报头包括分组类型字段和句柄;
用于当所述分组类型字段指示了所述分组包括响应消息时处理所述分组的第一协议适配单元;以及
用于当所述分组类型字段指示了所述分组包括请求消息时处理所述分组的第二协议适配单元,
其中,所述第二协议适配单元被配置为:
当所述句柄对应于直接连接到所述可扩展集线器的USB设备时,将所述分组传送给USB集线器仿真器单元以从所述USB集线器仿真器单元将包括所述句柄的所述分组传输给所述USB设备;以及
当所述句柄对应于通过无线空中接口通信耦合到所述可扩展集线器的下游USB设备时,将所述分组传送给桥接器单元,其中,所述桥接器单元被配置用于利用对应于所述USB设备的替换句柄来替换所述句柄以将包括所述替换句柄的所述分组传输给所述下游USB设备。
17.根据权利要求16所述的可扩展集线器,其中,所述桥接器单元进一步被配置为:
在由所述可扩展集线器生成以识别所述USB设备的所述句柄和由所述USB设备生成以识别所述USB设备的所述替换句柄之间进行映射。
18.一种被配置用于USB设备之间的无线通信的可扩展集线器,包括:
用于从主机设备接收请求消息的单元,所述请求消息包括句柄;
用于在如果所述句柄对应于下游集线器或者外围设备的情况下,利用对应于所述下游集线器或者外围设备的替换句柄来替换所述句柄的单元;
用于在如果所述句柄对应于下游集线器或者外围设备的情况下,向所述下游集线器或者外围设备发送包括所述替换句柄的所述请求消息的单元;以及
用于在如果所述句柄对应于直接连接到所述集线器的设备的情况下,向直接连接到所述集线器的所述设备发送包括所述句柄的所述请求消息的单元。
19.根据权利要求18所述的可扩展集线器,其中,所述下游集线器或外围设备使用无线千兆联盟串行扩展空中接口无线地耦合到所述集线器。
20.根据权利要求18所述的可扩展集线器,还包括:
用于从所述下游集线器或外围设备接收响应消息的单元,所述响应消息包括第二句柄;
用于利用对应于所述主机的第二替换句柄来替换所述第二句柄的单元;以及
用于向所述主机发送包括所述第二替换句柄的所述响应消息的单元。
21.一种被配置用于USB设备之间的无线通信的可扩展集线器,包括:
至少一个处理器;
耦合到所述至少一个处理器的通信接口;以及
耦合到所述至少一个处理器的存储器,
其中,所述至少一个处理器被配置为:
接收包括报头的分组,所述报头包括分组类型字段和句柄;
当所述分组类型字段指示了所述分组包括响应消息时,通过使用第一协议适配层来处理所述分组;以及
当所述分组类型字段指示了所述分组包括请求消息时,通过使用第二协议适配层来处理所述分组,其中,所述第二协议适配层被配置为:
当所述句柄对应于直接连接到所述可扩展集线器的USB设备时,
将所述分组传送给USB集线器仿真器以从所述USB集线器仿真器将包括所述句柄的所述分组传输给所述USB设备;以及
当所述句柄对应于通过无线空中接口通信耦合到所述可扩展集线器的下游USB设备时,将所述分组传送给桥接器,其中,所述桥接器被配置用于利用对应于所述USB设备的替换句柄来替换所述句柄以将包括所述替换句柄的所述分组传输给所述下游USB设备。
22.根据权利要求21所述的可扩展集线器,其中,所述至少一个处理器还被配置为:
当所述句柄对应于所述下游USB设备时,将所述分组传送给所述桥接器以在由所述可扩展集线器生成以识别所述USB设备的所述句柄和由所述USB设备生成以识别所述USB设备的所述替换句柄之间进行映射。
23.一种被配置用于USB设备之间的无线通信的可扩展集线器,包括:
至少一个处理器;
耦合到所述至少一个处理器的通信接口;以及
耦合到所述至少一个处理器的存储器,
其中,所述至少一个处理器被配置为:
从主机设备接收请求消息,所述请求消息包括句柄;
如果所述句柄对应于下游集线器或者外围设备,则:
利用对应于所述下游集线器或者外围设备的替换句柄来替换所述句柄;以及
向所述下游集线器或者外围设备发送包括所述替换句柄的所述请求消息;以及
如果所述句柄对应于直接连接到所述集线器的设备,则向直接连接到所述集线器的所述设备发送包括所述句柄的所述请求消息。
24.根据权利要求23所述的可扩展集线器,其中,所述下游集线器或外围设备使用无线千兆联盟串行扩展空中接口无线地耦合到所述集线器。
25.根据权利要求23所述的可扩展集线器,其中,所述至少一个处理器还被配置为:
从所述下游集线器或外围设备接收响应消息,所述响应消息包括第二句柄;
利用对应于所述主机的第二替换句柄来替换所述第二句柄;以及
向所述主机发送包括所述第二替换句柄的所述响应消息。
26.一种在被配置用于USB设备之间的无线通信的可扩展集线器处能够操作的计算机可读存储介质,其包括用于使得计算机执行以下操作的指令:
接收包括报头的分组,所述报头包括分组类型字段和句柄;
当所述分组类型字段指示了所述分组包括响应消息时,通过使用第一协议适配层来处理所述分组;以及
当所述分组类型字段指示了所述分组包括请求消息时,通过使用第二协议适配层来处理所述分组,其中,所述第二协议适配层被配置为:
当所述句柄对应于直接连接到所述可扩展集线器的USB设备时,
将所述分组传送给USB集线器仿真器以从所述USB集线器仿真器将包括所述句柄的所述分组传输给所述USB设备;以及
当所述句柄对应于通过无线空中接口通信耦合到所述可扩展集线器的下游USB设备时,将所述分组传送给桥接器,其中,所述桥接器被配置用于利用对应于所述USB设备的替换句柄来替换所述句柄以将包括所述替换句柄的所述分组传输给所述下游USB设备。
27.根据权利要求26所述的计算机可读存储介质,其中,所述计算机可读存储介质还包括用于使得计算机执行以下操作的指令:
当所述句柄对应于所述下游USB设备时,将所述分组传送给所述桥接器以在由所述可扩展集线器生成以识别所述USB设备的所述句柄和由所述USB设备生成以识别所述USB设备的所述替换句柄之间进行映射。
28.一种在被配置用于USB设备之间的无线通信的可扩展集线器处能够操作的计算机可读存储介质,其包括用于使得计算机执行以下操作的指令:
从主机设备接收请求消息,所述请求消息包括句柄;
如果所述句柄对应于下游集线器或者外围设备,则:
利用对应于所述下游集线器或者外围设备的替换句柄来替换所述句柄;以及
向所述下游集线器或者外围设备发送包括所述替换句柄的所述请求消息;以及
如果所述句柄对应于直接连接到所述集线器的设备,则向直接连接到所述集线器的所述设备发送包括所述句柄的所述请求消息。
29.根据权利要求28所述的计算机可读存储介质,其中,所述下游集线器或外围设备使用无线千兆联盟串行扩展空中接口无线地耦合到所述集线器。
30.根据权利要求28所述的计算机可读存储介质,其中,所述计算机可读存储介质还包括用于使得计算机执行以下操作的指令:
从所述下游集线器或外围设备接收响应消息,所述响应消息包括第二句柄;
利用对应于所述主机的第二替换句柄来替换所述第二句柄;以及
向所述主机发送包括所述第二替换句柄的所述响应消息。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201261637221P | 2012-04-23 | 2012-04-23 | |
US61/637,221 | 2012-04-23 | ||
US13/688,499 | 2012-11-29 | ||
US13/688,499 US9201826B2 (en) | 2012-04-23 | 2012-11-29 | Extensible WSE hub to support a multi-hop tree of USB hubs or peripherals over a wireless link |
PCT/US2013/036989 WO2013162974A1 (en) | 2012-04-23 | 2013-04-17 | Extensible wse hub to support a multi-hop tree of usb hubs or peripherals over a wireless link |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104246734A CN104246734A (zh) | 2014-12-24 |
CN104246734B true CN104246734B (zh) | 2018-02-13 |
Family
ID=49381216
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380021096.3A Expired - Fee Related CN104246734B (zh) | 2012-04-23 | 2013-04-17 | 在无线链路上支持usb hub或外围设备的多跳树的可扩展wse hub |
Country Status (4)
Country | Link |
---|---|
US (1) | US9201826B2 (zh) |
EP (1) | EP2845114B1 (zh) |
CN (1) | CN104246734B (zh) |
WO (1) | WO2013162974A1 (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9635144B2 (en) * | 2011-12-22 | 2017-04-25 | Intel Corporation | Implementing an inter-pal pass-through |
KR20140049272A (ko) * | 2012-10-17 | 2014-04-25 | 삼성전자주식회사 | 멀티 호스트 억세스 지원 장치 및 방법 |
KR101951664B1 (ko) * | 2012-10-22 | 2019-02-25 | 삼성전자주식회사 | 유에스비 멀티캐스트 지원 장치 및 방법 |
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 |
US9240951B2 (en) * | 2012-11-22 | 2016-01-19 | Intel Corporation | Apparatus, system and method of controlling data flow to a plurality of endpoints over a communication network |
US9075923B2 (en) * | 2012-12-27 | 2015-07-07 | Intel Corporation | Discovery mechanisms for universal serial bus (USB) protocol adaptation layer |
US9369551B2 (en) * | 2013-05-16 | 2016-06-14 | Intel Corporation | Apparatus, system and method of protocol adaptation layer (PAL) communication to indicate transitioning a device to a default state |
CN105393584B (zh) * | 2013-05-16 | 2019-05-21 | 英特尔公司 | 支持协议适应层(pal)上的流的装置、系统和方法 |
US9538545B2 (en) | 2014-11-04 | 2017-01-03 | Qualcomm Incorporated | Mapping data traffic throughout protocol layers based on priority information |
US10169265B2 (en) * | 2015-10-16 | 2019-01-01 | Gopro, Inc. | Configurable input / output connector in a camera |
US10007634B2 (en) * | 2015-12-07 | 2018-06-26 | Intel Corporation | Method to enable intel mini-mezz open compute project (OCP) plug-and-play network phy cards |
US10248609B2 (en) * | 2016-01-06 | 2019-04-02 | Verifone, Inc. | Modular interconnection system and components therefor |
DE102017103554B3 (de) * | 2017-02-21 | 2018-05-09 | Phoenix Contact Gmbh & Co. Kg | Frontadapter zum Verbinden mit einer Steuerungseinrichtung und Automatisierungssystem |
US10684972B2 (en) * | 2017-12-29 | 2020-06-16 | Barco Nv | Method and system for making functional devices available to participants of meetings |
KR102458299B1 (ko) * | 2018-01-08 | 2022-10-25 | 삼성전자 주식회사 | 전자 장치 및 전자 장치의 동작 방법 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7334072B1 (en) * | 2002-09-27 | 2008-02-19 | Cypress Semiconductor Corporation | System, method and apparatus for extending distances between wired or wireless USB devices and a USB host |
CN101615071A (zh) * | 2009-05-18 | 2009-12-30 | 姚锋 | 一机多用户系统 |
Family Cites Families (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US524738A (en) * | 1894-08-21 | Alexander s hiels | ||
US5247380A (en) * | 1988-01-27 | 1993-09-21 | Spectrix Corp | Infrared communications network |
US5099346A (en) * | 1988-01-27 | 1992-03-24 | Spectrix Corporation | Infrared communications network |
AU6517000A (en) | 1999-08-11 | 2001-03-05 | Henry Milan | Universal serial bus hub with wireless communication to remote peripheral devices |
FR2799288B1 (fr) | 1999-09-23 | 2005-02-25 | Ibm | Systeme de communication sans fil utilisant un bus serie universel (usb) |
US6519290B1 (en) * | 2000-03-10 | 2003-02-11 | Cypress Semiconductor Corp. | Integrated radio frequency interface |
US6898652B2 (en) * | 2001-08-22 | 2005-05-24 | General Atomics | Wireless device attachment and detachment system, apparatus and method |
WO2003052606A1 (en) * | 2001-12-14 | 2003-06-26 | Koninklijke Philips Electronics N.V. | Wireless data communication bus system |
US8923186B1 (en) * | 2003-05-08 | 2014-12-30 | Dynamic Mesh Networks, Inc. | Chirp networks |
US7590084B2 (en) * | 2003-02-14 | 2009-09-15 | Onlive, Inc. | Self-configuring, adaptive, three-dimensional, wireless network |
US7515606B2 (en) | 2003-12-26 | 2009-04-07 | Electronics And Telecommunications Research Institute | UWB-based wireless bridge |
US20050262923A1 (en) * | 2004-05-27 | 2005-12-01 | Lawrence Kates | Method and apparatus for detecting conditions favorable for growth of fungus |
JP2006238413A (ja) * | 2005-01-27 | 2006-09-07 | Nec Electronics Corp | Usbハブ、usb対応装置及び通信システム |
US20060245389A1 (en) * | 2005-03-31 | 2006-11-02 | Paul Edwards | Wireless communication system using mobile devices or repeaters |
US20060256802A1 (en) * | 2005-03-31 | 2006-11-16 | Paul Edwards | Communication system using endpoint devices as routers |
US8068495B2 (en) * | 2005-09-27 | 2011-11-29 | Intel Corporation | Mechanisms for data rate improvement in a wireless network |
US20070091834A1 (en) * | 2005-10-25 | 2007-04-26 | Hyun Lee | Method of increasing the wireless communication range using wireless repeater/amplifier/router |
US7418524B2 (en) * | 2005-12-06 | 2008-08-26 | Avocent Corporation | Universal serial bus (USB) extension |
US8085830B2 (en) * | 2006-01-27 | 2011-12-27 | Leviton Manufacturing Co., Inc. | LAN by ultra-wideband system and method |
US20080261519A1 (en) * | 2006-03-16 | 2008-10-23 | Cellynx, Inc. | Dual cancellation loop wireless repeater |
US20080005262A1 (en) * | 2006-06-16 | 2008-01-03 | Henry Wurzburg | Peripheral Sharing USB Hub for a Wireless Host |
BRPI0721002A2 (pt) * | 2006-12-22 | 2014-07-29 | Qualcomm Inc | Hub e protocolo usb sem fio aprimorados |
US7577776B2 (en) | 2007-05-14 | 2009-08-18 | Aten International Co., Ltd | Multiple virtual USB devices with virtual HUB implemented using one USB device controller |
US20090176487A1 (en) * | 2008-01-03 | 2009-07-09 | Demarco Anthony | Wireless Repeater Management Systems |
US7873774B2 (en) | 2008-02-01 | 2011-01-18 | Telefonaktiebolaget Lm Ericsson (Publ) | Connections and dynamic configuration of interfaces for mobile phones and multifunctional devices |
US8400945B2 (en) * | 2008-09-10 | 2013-03-19 | Cisco Technology, Inc. | Transit prevention in hub-and-spoke topologies using link state protocols |
US8051231B2 (en) * | 2008-11-06 | 2011-11-01 | International Business Machines Corporation | Data communications among electronic devices within a computer |
US20100124227A1 (en) * | 2008-11-19 | 2010-05-20 | General Electric Company | Systems and methods for electronically routing data |
US8584132B2 (en) | 2008-12-12 | 2013-11-12 | Microsoft Corporation | Ultra-wideband radio controller driver (URCD)-PAL interface |
JP4702458B2 (ja) * | 2009-01-09 | 2011-06-15 | ソニー株式会社 | 無線通信装置、無線通信システム、無線通信方法およびコンピュータプログラム |
US8839078B2 (en) * | 2010-03-05 | 2014-09-16 | Samsung Electronics Co., Ltd. | Application layer FEC framework for WiGig |
US20130163489A1 (en) * | 2011-12-23 | 2013-06-27 | Keith Shu Key Lee | Method and System Providing Interoperability Between Wireless Gigabit Alliance I/O PAL and A/V PAL Devices |
-
2012
- 2012-11-29 US US13/688,499 patent/US9201826B2/en not_active Expired - Fee Related
-
2013
- 2013-04-17 EP EP13718767.0A patent/EP2845114B1/en not_active Not-in-force
- 2013-04-17 WO PCT/US2013/036989 patent/WO2013162974A1/en active Application Filing
- 2013-04-17 CN CN201380021096.3A patent/CN104246734B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7334072B1 (en) * | 2002-09-27 | 2008-02-19 | Cypress Semiconductor Corporation | System, method and apparatus for extending distances between wired or wireless USB devices and a USB host |
CN101615071A (zh) * | 2009-05-18 | 2009-12-30 | 姚锋 | 一机多用户系统 |
Also Published As
Publication number | Publication date |
---|---|
US9201826B2 (en) | 2015-12-01 |
EP2845114A1 (en) | 2015-03-11 |
CN104246734A (zh) | 2014-12-24 |
EP2845114B1 (en) | 2017-03-22 |
WO2013162974A1 (en) | 2013-10-31 |
US20130282938A1 (en) | 2013-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104246734B (zh) | 在无线链路上支持usb hub或外围设备的多跳树的可扩展wse hub | |
CN111224839B (zh) | 一种带内网络遥测功能的验证方法、装置、存储介质及电子设备 | |
CN103905447B (zh) | 业务链路选择控制方法以及设备 | |
CN104641360B (zh) | 对存储器及对等设备的双播PCIe入站写入 | |
CN104303166B (zh) | 高性能互连链路层 | |
CN104303174B (zh) | 通过处理器间互连来隧道传输平台管理消息 | |
CN105981338A (zh) | 用于使用i/o设备链路在主机之间建立高速网络通信和文件传输的链路系统 | |
CN104798010B (zh) | 至少部分的串行存储协议兼容帧转换 | |
CN104424105B (zh) | 一种内存数据的读写处理方法和装置 | |
CN107040482A (zh) | 多协议i/o互连器流控制 | |
CN103812777B (zh) | 覆盖虚拟化网络中的高效数据传输方法和系统 | |
CN109947795A (zh) | 目标数据的获取方法和装置 | |
CN105721021A (zh) | 紧邻传送配置 | |
CN105518610B (zh) | 处理操作请求的存储系统、方法及装置 | |
CN108595670A (zh) | 一种数据存储方法、装置、计算机装置及存储介质 | |
CN109417507A (zh) | 部分延迟的报文访问 | |
CN110876155B (zh) | 无线网格网络的模拟系统和方法 | |
Rebello et al. | Pcnsim: A flexible and modular simulator for payment channel networks | |
CN104221343B (zh) | 用于在输入/输出设备中使用指派的交换机标识的技术 | |
CN104038550B (zh) | 数据通信方法及其装置、存储系统 | |
CN109412828A (zh) | 用于软件定义网络中的网络拓扑发现的方法、设备和系统 | |
CN104363269B (zh) | 一种通过fc链路传输、接收nas数据的方法及装置 | |
CN105471726B (zh) | 转发参数传递的方法及设备 | |
CN103533079B (zh) | 一种基于Zigbee的ESL图片更新方法及系统 | |
CN108541365A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180213 Termination date: 20190417 |