Extensible WSE HUB to support a multi-hop tree of USB HUBs or peripherals over a wireless link
Abstract
An expandable hub for providing multi-hop wireless communication between Universal Serial Bus (USB) devices, for example, using a WiGig Serial Extension (WSE) air interface is disclosed. The extensible hub may include a device protocol adaptation layer (PAL) and a host PAL, and also includes a bridge for providing a data flow path between the device and the host PAL. The bridge may be configured to distinguish the request message and the response message according to headers on the request message and the response message. In addition, the extensible hub may include a virtual port, and may map device handles and endpoint handles, so as to provide routing of messages to correct downstream devices in the multi-hop network tree.
Term
Projected expiry 17 April 2033.
- Priority
- Filed
- Published
- Today
- Projected expiry
26 claims: 7 independent, 19 dependent
- 1一种被配置用于USB设备之间的无线通信的可扩展集线器,包括: 无线通信接口; 第一协议适配层,其用于处理在所述无线通信接口处从主机设备接收到的USB消息; 第二协议适配层,其用于处理在所述无线通信接口处从集线器或外围设备接收到的 USB消息;以及 桥接器,其用于在所述第一协议适配层和所述第二协议适配层之间提供数据流路径, 其中,所述USB消息包括适于识别所述USB消息的目的地的句柄,并且其中,所述桥接 器被配置为在对应于从所述主机设备接收到的USB消息的第一句柄和对应于所述集线器 或外围设备的第二句柄之间进行映射。
- 2根据权利要求1所述的可扩展集线器,其中,所述桥接器还被配置为在对应于从所 述集线器或所述外围设备接收到的USB消息的第三句柄和对应于所述主机设备的第四句 柄之间进行映射。
- 3根据权利要求1所述的可扩展集线器,其中,所述桥接器包括对用于句柄之间的映 射的句柄进行存储的句柄映射表。
- 4根据权利要求1所述的可扩展集线器,还包括用于与本地USB设备通信的USB集线 器仿真器。
- 5根据权利要求1所述的可扩展集线器,还包括分配给所述集线器或所述外围设备的 至少一个虚拟端口。
- 6一种使用可扩展集线器通过无线空中接口与USB设备通信的方法,包括: 接收包括报头的分组,所述报头包括分组类型字段; 当所述分组类型字段指示了所述分组包括响应消息时,通过使用第一协议适配层来处 理所述分组;以及 当所述分组类型字段指示了所述分组包括请求消息时,通过使用第二协议适配层来处 理所述分组。
- 7根据权利要求6所述的方法,其中,所述报头还包括句柄,并且其中,所述分组类型 字段指示了所述分组包括请求消息,所述方法还包括: 当所述句柄对应于本地连接的USB设备时,将所述分组传送给USB集线器仿真器;以及 当所述句柄对应于通过所述无线空中接口通信耦合的下游设备时,将所述分组传送给 桥接器,其中,所述桥接器被配置用于通过所述无线空中接口将所述句柄映射到对应于所 述USB设备的第二句柄。 & 一种在集线器处能够操作的无线通信的方法,包括: 从主机设备接收请求消息,所述请求消息包括句柄; 如果所述句柄对应于下游集线器或者外围设备,则: 利用对应于所述下游集线器或者外围设备的替换句柄来替换所述句柄;以及 向所述下游集线器或者外围设备发送包括所述替换句柄的所述请求消息;以及 如果所述句柄对应于直接连接到所述集线器的设备,则向直接连接到所述集线器的所 述设备发送包括所述句柄的所述请求消息。 9.根据权利要求8所述的方法,其中,所述下游集线器或外围设备使用WSE空中接口来 无线地耦合到所述集线器。
- 810. 根据权利要求8所述的方法,还包括: 从所述下游集线器或外围设备接收响应消息,所述响应消息包括第二句柄; 利用对应于所述主机的第二替换句柄来替换所述第二句柄;以及 向所述主机发送包括所述第二替换句柄的所述响应消息。
- 911. 一种被配置用于USB设备之间的无线通信的可扩展集线器,包括: 用于从主机设备无线地接收第一 USB消息的单元; 用于从集线器或外围设备无线地接收第二USB消息的单元; 用于处理来自所述主机设备的所述第一 USB消息的单元; 用于处理来自所述集线器或外围设备的所述第二USB消息的单元;以及 用于在所述用于处理所述第一 USB消息的单元和所述用于处理所述第二USB消息的单 元之间提供数据流路径的单元, 其中,所述第一 USB消息和所述第二USB消息分别包括适于标识各自的所述第一 USB 消息和所述第二USB消息的目的地的句柄,并且其中,所述用于提供数据流路径的单元被 配置为在对应于从所述主机设备接收到的所述第一 USB消息的第一句柄和对应于所述集 线器或外围设备的第二句柄之间进行映射。
- 1012. 根据权利要求11所述的可扩展集线器,其中,所述用于提供数据流路径的单元还 被配置为在对应于从所述集线器或外围设备接收到的所述第二USB消息的第三句柄和对 应于所述主机设备的第四句柄之间进行映射。
- 1113. 根据权利要求11所述的可扩展集线器,其中,所述用于提供数据流路径的单元被 配置为存储句柄映射表,以便对用于句柄之间的映射的句柄进行存储。
- 1214. 根据权利要求11所述的可扩展集线器,还包括用于与本地USB设备通信的单元。
- 1315. 根据权利要求11所述的可扩展集线器,还包括分配给所述集线器或外围设备的至 少一个虚拟端口。
- 1416. 一种被配置用于USB设备之间的无线通信的可扩展集线器,包括: 用于接收包括报头的分组的单元,所述报头包括分组类型字段; 用于当所述分组类型字段指示了所述分组包括响应消息时处理所述分组的第一协议 适配单元;以及 用于当所述分组类型字段指示了所述分组包括请求消息时处理所述分组的第二协议 适配单元。
- 1517. 根据权利要求16所述的可扩展集线器,其中,所述报头还包括句柄,并且其中,所 述分组类型字段指示了所述分组包括请求消息, 其中,所述第二协议适配单元被配置为: 当所述句柄对应于本地连接的USB设备时,将所述分组传送给USB集线器仿真器;以及 当所述句柄对应于通过所述无线空中接口通信耦合的下游设备时,将所述分组传送给 桥接器,其中,所述桥接器被配置用于通过所述无线空中接口将所述句柄映射到对应于所 述USB设备的第二句柄。 1& 一种被配置用于USB设备之间的无线通信的可扩展集线器,包括: 用于从主机设备接收请求消息的单元,所述请求消息包括句柄; 用于在如果所述句柄对应于下游集线器或者外围设备的情况下,利用对应于所述下游 集线器或者外围设备的替换句柄来替换所述句柄的单元; 用于在如果所述句柄对应于下游集线器或者外围设备的情况下,向所述下游集线器或 者外围设备发送包括所述替换句柄的所述请求消息的单元;以及 用于在如果所述句柄对应于直接连接到所述集线器的设备的情况下,向直接连接到所 述集线器的所述设备发送包括所述句柄的所述请求消息的单元。
- 1619. 根据权利要求18所述的可扩展集线器,其中,所述下游集线器或外围设备使用WSE 空中接口无线地耦合到所述集线器。
- 1720. 根据权利要求18所述的可扩展集线器,还包括: 用于从所述下游集线器或外围设备接收响应消息的单元,所述响应消息包括第二句 柄; 用于利用对应于所述主机的第二替换句柄来替换所述第二句柄的单元;以及 用于向所述主机发送包括所述第二替换句柄的所述响应消息的单元。
- 1821. 一种被配置用于USB设备之间的无线通信的可扩展集线器,包括: 至少一个处理器; 耦合到所述至少一个处理器的通信接口 ;以及 耦合到所述至少一个处理器的存储器, 其中,所述至少一个处理器被配置为: 接收包括报头的分组,所述报头包括分组类型字段; 当所述分组类型字段指示了所述分组包括响应消息时,通过使用第一协议适配层来处 理所述分组;以及 当所述分组类型字段指示了所述分组包括请求消息时,通过使用第二协议适配层来处 理所述分组。
- 1922. 根据权利要求21所述的可扩展集线器,其中,所述报头还包括句柄,并且其中,所 述分组类型字段指示了所述分组包括请求消息,其中所述至少一个处理器还被配置为: 当所述句柄对应于本地连接的USB设备时,将所述分组传送给USB集线器仿真器;以及 当所述句柄对应于通过所述无线空中接口通信耦合的下游设备时,将所述分组传送给 桥接器,其中,所述桥接器被配置用于通过所述无线空中接口将所述句柄映射到对应于所 述USB设备的第二句柄。
- 2023. 一种被配置用于USB设备之间的无线通信的可扩展集线器,包括: 至少一个处理器; 耦合到所述至少一个处理器的通信接口 ;以及 耦合到所述至少一个处理器的存储器, 其中,所述至少一个处理器被配置为: 从主机设备接收请求消息,所述请求消息包括句柄; 如果所述句柄对应于下游集线器或者外围设备,则: 利用对应于所述下游集线器或者外围设备的替换句柄来替换所述句柄;以及 向所述下游集线器或者外围设备发送包括所述替换句柄的所述请求消息;以及 如果所述句柄对应于直接连接到所述集线器的设备,则向直接连接到所述集线器的所 述设备发送包括所述句柄的所述请求消息。
- 2124. 根据权利要求23所述的可扩展集线器,其中,所述下游集线器或外围设备使用WSE 空中接口无线地耦合到所述集线器。
- 2225. 根据权利要求23所述的可扩展集线器,其中,所述至少一个处理器还被配置为: 从所述下游集线器或外围设备接收响应消息,所述响应消息包括第二句柄; 利用对应于所述主机的第二替换句柄来替换所述第二句柄;以及 向所述主机发送包括所述第二替换句柄的所述响应消息。
- 2326. 一种计算机程序产品,包括: 在被配置用于USB设备之间的无线通信的可扩展集线器处能够操作的计算机可读存 储介质,其包括用于使得计算机执行以下操作的指令: 接收包括报头的分组,所述报头包括分组类型字段; 当所述分组类型字段指示了所述分组包括响应消息时,通过使用第一协议适配层来处 理所述分组;以及 当所述分组类型字段指示了所述分组包括请求消息时,通过使用第二协议适配层来处 理所述分组。
- 2427. 根据权利要求26所述的计算机程序产品,其中,所述报头还包括句柄,并且其中, 所述分组类型字段指示了所述分组包括请求消息,其中,所述计算机可读存储介质还包括 用于使得计算机执行以下操作的指令: 当所述句柄对应于本地连接的USB设备时,将所述分组传送给USB集线器仿真器;以及 当所述句柄对应于通过所述无线空中接口通信耦合的下游设备时,将所述分组传送给 桥接器,其中,所述桥接器被配置用于通过所述无线空中接口将所述句柄映射到对应于所 述USB设备的第二句柄。 2& —种计算机程序产品,包括: 在被配置用于USB设备之间的无线通信的可扩展集线器处能够操作的计算机可读存 储介质,其包括用于使得计算机执行以下操作的指令: 从主机设备接收请求消息,所述请求消息包括句柄; 如果所述句柄对应于下游集线器或者外围设备,则: 利用对应于所述下游集线器或者外围设备的替换句柄来替换所述句柄;以及 向所述下游集线器或者外围设备发送包括所述替换句柄的所述请求消息;以及 如果所述句柄对应于直接连接到所述集线器的设备,则向直接连接到所述集线器的所 述设备发送包括所述句柄的所述请求消息。
- 2529. 根据权利要求28所述的计算机程序产品,其中,所述下游集线器或外围设备使用 WSE空中接口无线地耦合到所述集线器。
- 2630. 根据权利要求28所述的计算机程序产品,其中,所述计算机可读存储介质还包括 用于使得计算机执行以下操作的指令: 从所述下游集线器或外围设备接收响应消息,所述响应消息包括第二句柄; 利用对应于所述主机的第二替换句柄来替换所述第二句柄;以及 向所述主机发送包括所述第二替换句柄的所述响应消息。
Independent claims26
126 paragraphs in 1 section, as filed
Support USB HUB or peripheral equipment's multi-hop tree expandability on the wireless link
WSE HUB
[0001] Cross reference to related applications
[0002] This application is required to enjoy the title filed in the United States Patent and Trademark Office on April 23, 2012 <sup>u</sup>Extensible WSE Hub to Support a Multi-Hop Tree of USB Hubs or Peripherals over a Wireless Link provisional patent application No. 61/637, 221 priority and benefits, so the entire content of the application is incorporated herein by reference.
Technical field
[0003] Broadly speaking, the present disclosure relates to wireless communication, and in particular, the present disclosure relates to WiGig Serial Extension (WSE) communication for Universal Serial Bus (USB) devices.
Background technique
[0004] Universal Serial Bus (USB) is a serial bus standard used to connect electronic peripherals to host computing devices. Because the older serial and parallel ports on computers are not standardized and require the development and maintenance of a large number of device drivers, USB was designed to replace the older serial and parallel ports on computers. Although USB was originally designed for personal computers, its popularity has prompted it to become commonplace on video game consoles, PDAs, portable DVD players, mobile phones, and other popular electronic devices.
[0005] USB is designed to allow the connection of peripheral devices without the need to insert the expansion card into the expansion bus of the computer, and to improve the plug-and-play capability by allowing the device to be hot-plugged. In this case, the device connects or disconnects without powering off or restarting the computer. When a device is connected for the first time, the host enumerates and recognizes it, and loads the device driver required by the device. USB can connect peripheral devices such as mouse devices, keyboards, scanners, digital cameras, printers, external storage devices, etc., and USB has become a standard connection method for many of these devices.
[0006] The Wireless Gigabit Alliance (sometimes referred to as WiGig) is an industrial organization that uses unlicensed 60GHz spectrum to develop standards for multi-gigabit wireless communications between consumer electronics, handheld devices, and personal computers. The WiGig specification is formed Used as the basis for the 802. llad standard, the 802. llad standard is the latest revision of the IEEE 802. 11 standard. The oWiGig specification specifies the physical (PHY) layer and media access control for the architecture that provides IP network interconnection over 60GHz wireless channels (MAC) layer.
[0007] Some of the standards developed by WiGig include WiGig Bus Extension (WBE), WiGig Serial Extension (WSE), and WiGig Display Extension (WDE). Among these standards, WSE is designed to support USB host and USB data transmission on a single-hop wireless communication link between USB hubs/peripheral devices.
[0008] Since the WSE specification is relatively new, the development of enhanced features is still the goal of many things involved for improved functionality or convenience for users of USB devices.
Summary of the invention
[0009] In order to provide a basic understanding of one or more aspects of the present disclosure, the following is a summary of these aspects
Brief summary. This summary is not a general overview of all expected features of the present disclosure, and is neither intended to identify a key or important part of all aspects of the present disclosure, nor is it intended to delineate the scope of any or all aspects of the present disclosure. Its sole purpose is to present some concepts of one or more aspects of the present disclosure in a simple form, as a prelude to the more detailed description presented later.
[0010] Various aspects of the present disclosure provide an architecture and mechanism for enabling WSE on a multi-hop tree of USB hub/peripheral devices over a wireless channel.
[0011] In one aspect, the present disclosure provides an expandable hub configured for wireless communication between USB devices. Here, the extensible WSE hub includes: a wireless communication interface; a first protocol adaptation layer, which is used to process USB messages received from a host device at the wireless communication interface; a second protocol adaptation layer, which Used to process USB messages received from a hub or peripheral device at the wireless communication interface; and a bridge, which is used to provide data between the first protocol adaptation layer and the second protocol adaptation layer A flow path, wherein the USB message includes a handle adapted to identify the destination of the USB message, and wherein the bridge is configured to set the first handle corresponding to the USB message received from the host device And the second handle corresponding to the hub or peripheral device is mapped.
[0012] Another aspect of the present disclosure provides a method of communicating with a USB device through a wireless air interface using an extensible hub, the method comprising: receiving a packet including a header, the header including a packet type field; The packet type field indicates that when the packet includes a response message, the packet is processed by using the first protocol adaptation layer; when the packet type field indicates that the packet includes a request message, the packet is adapted by using the second protocol. Configure the layer to process the packet.
[0013] Another aspect of the present disclosure provides a method of wireless communication operable at a hub, the method comprising: receiving a request message from a host device, the request message including a handle. Here, if the handle corresponds to a downstream hub or peripheral device, the method includes replacing the handle with a replacement handle corresponding to the downstream hub or peripheral device, and sending to the downstream hub or peripheral device The request message including the replacement handle. Here, if the handle corresponds to a device directly connected to the hub, the method includes sending the request message including the handle to the device directly connected to the hub.
[0014] Another aspect of the present disclosure provides an extensible hub configured for wireless communication between USB devices, the extensible hub including: for wirelessly receiving a first USB message from a host device Unit; a unit for wirelessly receiving a second USB message from a hub or peripheral device; a unit for processing a first USB message from the host device; a unit for processing a second USB message from the hub or peripheral device And a unit for providing a data flow path between the unit for processing the first USB message and the unit for processing the second USB message, wherein the first USB The message and the second USB message each include a handle suitable for identifying the destination of the first USB message and the second USB message, and wherein the unit for providing a data flow path is configured to correspond to Mapping is performed between the first handle of the first USB message received from the host device and the second handle corresponding to the hub or peripheral device.
[0015] Another aspect of the present disclosure provides an extensible hub configured for wireless communication between USB devices, the extensible hub including: a unit for receiving a packet including a header, the header Including a packet type field; a first protocol adaptation unit for processing the packet when the packet type field indicates that the packet includes a response message; and a first protocol adaptation unit for processing the packet when the packet type field indicates that the packet includes a request The second protocol adaptation unit that processes the packet when sending a message.
[0016] Another aspect of the present disclosure provides an extensible hub configured for wireless communication between USB devices, the extensible hub including: a unit for receiving a request message from a host device, the The request message includes a handle; if the handle corresponds to a downstream hub or peripheral device, a unit used to replace the handle with a replacement handle corresponding to the downstream hub or peripheral device; When the handle corresponds to a downstream hub or a peripheral device, a unit for sending the request message including the replacement handle to the downstream hub or peripheral device; and a unit for sending the request message including the replacement handle to the downstream hub or peripheral device if the handle corresponds to a direct connection to the hub In the case of the device, the request message including the handle is sent to the device directly connected to the hub
JL· ο
[0017] Another aspect of the present disclosure provides an extensible hub configured for wireless communication between USB devices, the extensible hub including: at least one processor; coupled to the at least one processor And a memory coupled to the at least one processor. Here, the at least one processor is configured to: receive a packet including a header, wherein the header includes a packet type field; when the packet type field indicates that the packet includes a response message, adapt the packet by using the first protocol A configuration layer to process the packet; and when the packet type field indicates that the packet includes a request message, the packet is processed by using a second protocol adaptation layer.
[0018] Another aspect of the present disclosure provides an extensible hub configured for wireless communication between USB devices, the extensible hub comprising: at least one processor; coupled to the at least one processor And a memory coupled to the at least one processor. Here, the at least one processor is configured to: receive a request message from the host device, the request message including a handle. If the handle corresponds to a downstream hub or peripheral device, the at least one processor is configured to: replace the handle with a replacement handle corresponding to the downstream hub or peripheral device; The device sends the request message including the replacement handle. On the other hand, if the handle corresponds to a device directly connected to the hub, the at least one processor is configured to send the request including the handle to the device directly connected to the hub news.
[0019] Another aspect of the present disclosure provides a computer program product, which includes a computer-readable storage medium operable at an extensible hub configured for wireless communication between USB devices, and the computer may The read storage medium has instructions for causing the computer to perform the following operations: receiving a packet including a header, the header including a packet type field; when the packet type field indicates that the packet includes a response message, by using the first protocol A configuration layer to process the packet; and when the packet type field indicates that the packet includes a request message, the packet is processed by using a second protocol adaptation layer.
[0020] Another aspect of the present disclosure provides a computer program product, which includes a computer-readable storage medium operable at an expandable hub configured for wireless communication between USB devices, the computer may The read storage medium has instructions for causing the computer to receive a request message from the host device, the request message including a handle. Here, if the handle corresponds to a downstream hub or a peripheral device, the computer-readable storage medium includes instructions for causing the computer to perform the following operations: replacing all of them with a replacement handle corresponding to the downstream hub or peripheral device. The handle; and sending a request message including the replacement handle to the downstream hub or peripheral device. On the other hand, if the handle corresponds to a device directly connected to the hub, the computer-readable storage medium includes a method for causing the computer to send the device including the handle to the device directly connected to the hub. The instructions for the request message.
[0021] After reviewing the following detailed description, these and other aspects of the present invention will be more fully understood.
surface.
Description of the drawings
[0022] The accompanying drawings together show an exemplary embodiment of the present invention, and the accompanying drawings together with the description serve to explain the principle of the present invention.
[0023] FIG. 1 is a block diagram showing the communication between a conventional WSE host and a conventional WSE hub.
[0024] FIG. 2 is a simplified block diagram showing a conventional single-hop WSE communication network.
[0025] FIG. 3 is a wireless multi-hop WSE hub/peripheral device tree topology according to an example.
[0026] FIG. 4 is a block diagram showing additional details of an expandable WSE hub according to an example.
[0027] FIG. 5 is a simplified schematic diagram showing WSE grouping according to an example.
[0028] FIG. 6 is a schematic diagram showing further details of the WSE bridge in the expandable WSE hub according to an example.
[0029] FIG. 7 is a call flow diagram showing an example of a new device setup using an extensible WSE hub.
[0030] FIG. 8 is a call flow diagram showing some examples of data transmission using an extensible WSE hub.
[0031] FIG. 9 is a conceptual diagram showing an example of hardware implementation of a device employing a processing system.
[0032] FIG. 10 is a flowchart showing a process of routing packets through an extensible WSE hub according to an example.
[0033] FIG. 11 is a flowchart showing a reset and capability exchange process according to an example.
[0034] FIG. 12 is a flowchart showing a device enumeration process according to an example.
[0035] FIG. 13 is a flowchart showing an endpoint configuration process according to an example.
[0036] FIG. 14 is a flowchart showing a data transmission process according to an example.
[0037] The elements and steps in the drawings are shown for simplicity and clarity, and do not have to be presented in any particular order. For example, in the drawings, steps that can be performed simultaneously or in a different order are shown to help improve the understanding of various aspects of the present disclosure.
Detailed ways
[0038] In the following detailed description, only certain exemplary embodiments of the present invention are shown and described by way of example. As those skilled in the art will recognize, the present invention can be embodied in many different forms, and should not be construed as being limited to the embodiments set forth herein. In this context, when an element is referred to as being "connected to" or "coupled to" another element, it can be directly connected or coupled to other elements, or use one or more intervening elements interposed therebetween To indirectly connect or couple to other elements. Throughout, the same reference numerals refer to the same elements.
[0039] FIG. 1 is a simplified block diagram showing a conventional WSE host 102 and a WSE hub 104, which enable the WSE host
102 can communicate wirelessly with one or more endpoints (e.g., USB device 108) through the WSE air interface.
[0040] In the above view, the WSE host 102 includes a radio frequency circuit 1022, a WSE host protocol adaptation layer (PAL) 1024, a USB host control system software and hardware 1026, and one or more client device drivers 1028.
[0041] The WSE hub 104 includes a wireless radio frequency circuit 1042, a WSE device PAL 1044, a USB hub emulator 1046, and a USB transaction engine 1048. In this view, two USB devices 108 are shown using traditional wired USB connectors to couple to WSE hub 104. However, any number of USB devices 108 can be coupled to the WSE hub
104ο
[0042] The wireless radio frequency circuits 1022 and 1042 include a physical layer (PHY) and a medium access control layer (MAC) configured for 60 GHz wireless communication. Typically, these radio frequency units can use the 7GHz spectrum divided into multiple channels to achieve data rates up to 7Gbps.
[0043] The WSE host PAL 1024 and the WSE device PAL 1044 manage the WiGig protocol to realize the transmission of USB data from the host to the endpoint on the wireless channel. That is to say, WSE PAL (Host PAL and Device PSL) is a WSE functional entity implemented at the MAC and PHY layers, which usually provides a bridge between the USB protocol and the 60GHz WiGig air interface protocol. [0044] At the WSE host 102, the USB host control system software and hardware 1026 provide dynamic configuration and management of USB devices, and provide a set of common interfaces and lower-level URB processing to the upper USB of each device driver; and one or Multiple client device drivers 1028 work to control each USB device, convert I/O requests from upper layers into a series of USB commands, and then submit these commands to the USB kernel driver in the form of a USB request block (URB).
[0045] At the WSE hub 104, the USB hub emulator 1046 works to provide a USB hub function; and the USB transaction engine 1048 works to process USB microframe transactions with USB devices.
[0046] As shown in FIG. 2, the WSE model uses a standard USB data transmission model to provide single-hop wireless communication between the host 102 and one or more endpoints 108. The standard USB data transfer model provides: The host device controls the communication with one or more endpoint devices. For example, in a traditional wired connection, the host communicates with a bus (in a way that can be considered analog for broadcast messages), where every endpoint coupled to the bus receives every transmission. In order to identify which endpoint the packet is for, the host uses a packet identifier that is configured so that the packet can be sent from the host to a single endpoint but not to other endpoints. The WSE model uses this paradigm so that the WSE host 102 uses the packet identifier, and the WSE hub 104 receives the packet identifier from the WSE host 102 and sends it accordingly to all endpoints 108 coupled to the WSE hub 104, and the endpoint to which the packet is directed It is determined based on the identifier.
[0047] In order to extend this model and enable the WSE host 102 to communicate with USB devices 108 coupled to multiple WSE hubs 104, it is desirable to use one or more hubs for multi-hop communication between the host and the endpoint. However, the existing WSE specification only provides a bridge between the physical layer of the communication protocol and the appropriate wireless air interface. Although a functional wireless communication system is provided, this paradigm does not implement a multi-hop wireless USB that is compatible with the standard USB data transmission model. Instead, it is limited by its operation.
[0048] Accordingly, various aspects of the present disclosure provide upper-level USB communication through a wireless air interface, which is suitable for implementing multi-hop wireless USB communication in an efficient manner, where the USB host and endpoint are implemented as standard USB using them Data transmission model, and in which redundant and unnecessary transmissions on multiple air channels can be reduced or avoided.
[0049] FIG. 3 shows an example of a topology that can be used for a multi-hop WSE hub/peripheral device tree over a wireless air interface, according to some aspects of the present disclosure. That is, in the present disclosure, an extensible WSE hub 204 is introduced, which is configured to implement multi-hop wireless communication, in which both the host and the endpoint can use a standard USB data transmission model.
[0050] In the diagram, it can be seen that the extensible WSE hub 204 can perform many or all of the functions of the WSE hub, because: one or more USB endpoint devices 108 can be directly coupled to the extensible WSE The hub 204, and in addition, the extensible WSE hub 204 can communicate with the WSE host 102 through the WSE air interface. However, in one aspect of the present disclosure, the extensible WSE hub 204 can additionally perform many or all of the functions of the WSE host because it can communicate with the WSE hub 104 through the WSE air interface. In addition, the extensible WSE hub 204 can additionally provide the use of separate multiple WSE air interfaces to communicate with multiple WSE sets.
The ability of the threader 104 to communicate is as shown.
[0051] That is, in one aspect of the present disclosure, the extensible WSE hub 204 is in the form of a WSE hub configured to have the following capabilities (different from the traditional WSE hub 104): having extended capabilities to pass WSE The air interface acts as a hub for one or more conventional WSE hubs 104, and acts as a hub for one or more USB peripheral devices/endpoints 108 on a conventional wired USB interface. Here, the features of the extensible WSE hub 204 can be backward compatible with the existing WiGig WSE specification. In other words, the operation of the expandable WSE hub 204 and its multi-hop tree for supporting WSE hub/peripheral devices may be said to be transparent to the existing WSE host 102, WSE hub 104 and peripheral devices 108.
[0052] FIG. 4 is a block diagram showing additional details of the expandable WSE hub 204 shown in FIG. 3 according to some aspects of the present disclosure.
[0053] Here, the expandable WSE hub 204 includes a wireless radio frequency circuit 2041, a WSE device PAL 2042, a WSE host PAL 2043, a USB hub emulator 2044, a WSE bridge 2045, and a USB transaction engine 2046. In this view, two USB devices 108 are shown to be coupled to the expandable WSE hub 204 using conventional wired USB connectors. However, any number of USB devices 108 may be coupled to the expandable WSE hub 108.
[0054] By comparing the views of FIG. 4 and FIG. 1, it can be seen that many of the functional modules of the traditional WSE host 102 and the WSE hub 104 are combined and included in the expandable WSE hub 204. That is, as in the WSE host 102, the extensible WSE hub 204 includes the WSE host PAL 2043; and as in the WSE hub 104, the extensible WSE hub 204 includes the WSE device PAL 2042.
[0055] The WSE host PAL 2043 at the extensible WSE hub 204 is responsible for communicating with the downstream WSE hub/peripheral device through the wireless radio frequency circuit 2041. As described in further detail below, it is responsible for managing the WSE RESET used to reset the downstream device. Operations, and responsible for managing the WSE device capability exchange operations used to determine the capabilities of the downstream devices and initialize the downstream devices. The WSE device PAL 2042 at the extensible WSE hub 204 is responsible for communicating with the WSE host 102 or the upstream extensible WSE hub through the wireless radio frequency circuit 2041. Here, the WSE device PAL 2042 at the expandable WSE hub 204 may be similar to the WSE device PAL 1044 at the traditional WSE hub 104 in some ways (see FIG. 1). However, as described in further detail below, for an input packet received from an upstream device, the WSE device PAL 2042 according to some aspects of the present disclosure is configured to: determine to direct the input packet to the locally connected USB device 108 (As shown at the path 402 in FIG. 4), the input packet is still directed to the downstream WSE device through the WSE bridge 2045 (as shown at the path 404 in FIG. 4).
[0056] In addition, as in the WSE hub 104, the expandable WSE hub 201 includes a USB hub emulator 2044 and a USB transaction engine 2046 for communicating with one or more locally connected USB devices 108.
[0057] Packet routing through an expandable WSE hub
[0058] As shown in FIG. 4, the expandable WSE hub 204 according to this example includes all the same functional modules as the WSE hub 104, and also includes some components except those of the traditional WiGig WSE hub 104. For example, the extensible WSE hub 204 may include two additional components: the WSE host PAL 2043 and the WSE bridge 2045. [0059] That is, according to aspects of the present disclosure, the extensible WSE hub 204 may include both the WSE host PAL 2043 and the WSE device PAL 2042. In this way, the extensible WSE hub 204 can simulate the functions of the WSE host 102 related to downstream devices (for example, the WSE hub 104); and similarly, the extensible WSE hub 204 can simulate the functions of the WSE hub 104 and upstream devices (for example, WSE host 102) related functions.
[0060] To this end, when the scalable WSE hub 204 receives a WSE PAL packet, in some aspects of the present disclosure
, The extensible WSE hub 204 can determine whether the received packet should be processed by the WSE device PAL 2042 or the WSE host PAL 2043.
[0061] FIG. 5 is a simplified schematic diagram showing at least a part of a WSE PAL packet 500. As seen in this view, in addition to the payload 506, the WSE PAL packet 500 may also include a WSE PAL header. Here, the WSE PAL header may include a packet type field 502, which is adapted to indicate whether the WSE PAL packet is a request message or a response message. In various examples, the extensible WSE hub 204 may be configured to analyze the packet type field 502 and determine its content. For example, the wireless radio frequency circuit 2041, the associated circuit and/or the processor included in the expandable WSE hub 204 (see FIG. 9) may be configured to provide WSE PAL packets to the WSE according to the content of the packet type field 502 One of the device PAL 2042 or the WSE host PAL 2043.
[0062] For example, referring to the flowchart shown in FIG. 10, after the scalable WSE hub 204 receives the WSE PAL packet at step 1002, it may determine the packet type corresponding to the packet type field 502 at step 1004. Here, if the packet type field 502 in the WSE PAL header indicates that the WSE PAL message is a request message, then at step 1008, the WSE device PAL 2042 in the extensible WSE hub 204 can process the packet. That is, as described below, the WSE device PAL 2042 can identify the request message as coming from an upstream device (such as the WSE host 102) (or in other examples, the upstream WSE hub 104 or the upstream scalable WSE hub 204) , And the group can be processed accordingly.
[0063] On the other hand, if at step 1004, the packet type field 502 in the WSE PAL header indicates that the WSE PAL message is a response message, then at step 1006, the WSE host PAL 2043 in the WSE hub 204 can be extended The packet can be processed. That is, as described below, the WSE host PAL 2043 can recognize the response message as coming from a downstream device (such as the USB device 108).
[0064] In this way, it may not be necessary to change the WSE PAL packet relative to the traditional PAL packet in order to use the extensible WSE hub 204 according to aspects of the present disclosure. Therefore, backward compatibility with the conventional WSE host 102 and WSE hub 104 can be maintained.
[0065] The WSE device PAL 2042 at the extensible WSE hub 204 is responsible for communicating with the WSE host 102 or the upstream extensible WSE hub. Here, the WSE device PAL 2042 at the expandable WSE hub 204 may be similar to the WSE device PAL 1044 at the traditional WSE hub 104 in some ways (see FIG. 1).
[0066] However, in the conventional WSE hub 104, when its WSE device PAL 1044 receives a packet, after proper processing of the packet, the packet is always transferred upward to the USB hub emulator 1046. On the other hand, in one aspect of the present disclosure, the WSE device PAL 2042 at the extensible WSE hub 204 can determine whether the USB packet 402 (see FIG. 4) is to be processed by its USB transaction engine 2046 or the WSE bridge 2045 Processing, in the case of being processed by its USB transaction engine 2046, the packet 402 is transferred upward to the USB hub emulator 2044, and in the case of being processed by the WSE bridge 2045, the packet 404 is transferred upward to the WSE bridge 2045. Here, referring again to FIG. 10, once the WSE PAL packet 500 is transmitted to the WSE device PAL 2042, the WSE device PAL 2042 may determine at step 1010 whether the device/endpoint handle in the device/endpoint handle field 504 indicates the WSE The PAL packet belongs to a local USB device that is physically connected to the expandable WSE hub 204. Here, the device/endpoint handle field 504 may include one or more handles suitable for identifying the destination of the packet. If yes, then at step 1012, The WSE device PAL 2042 can transmit the packet to the USB hub emulator 2044; but if not, the packet belongs to a downstream WSE device or peripheral device, and therefore at step 1014, the WSE device PAL 2042 can transmit the packet To the WSE bridge 2045. Therefore, as described in further detail below, the grouping can correspond to
Corresponding downstream equipment.
[0067] FIG. 7 is a call flow chart showing the communication process between the WSE host 102, the extensible WSE hub 204, the USB device 108 locally connected to the extensible WSE hub 204, and the WSE hub/peripheral device 112, the The communication process is used to establish a new WSE connection between the expandable WSE hub 204 and the WSE hub/peripheral device 112. In the view, for example, it is assumed that the USB device 108 directly coupled to the extensible WSE hub 204 has established USB communication with the WSE host 102 through the WSE air interface between the WSE host 102 and the extensible WSE hub 204.
[0068] In this case, the WSE hub/peripheral device 112 may be the WSE hub 104, the WSE peripheral device 110, or any other suitable downstream WSE device. As described below in this article, this view shows: an example of WSE reset and capability exchange corresponding to a newly connected WSE hub/peripheral device 112; used to establish an example corresponding to the downstream WSE hub/peripheral device 112 The device enumeration process of the device handle; and the endpoint configuration process for generating the endpoint handle corresponding to the downstream WSE hub/peripheral device 112.
[0069] WSE reset
[0070] When the WSE hub/peripheral device 112 establishes a wireless connection 702 with the extensible WSE hub 204, the extensible WSE hub 204 can initiate a reset process. The traditional process specified in the WSE specification is called the PALME-WSE-RESET process. Traditionally, this process was used to reset downstream equipment. In one aspect of the present disclosure, when the WSE host PAL 2043 at the extensible WSE hub 204 discovers and connects to the downstream WSE hub/peripheral device, it can initiate a WSE reset process such as the PALME-WSE-RESET process . Therefore, as described in further detail below, the extensible WSE hub 204 can provide consistent information across the multi-hop WSE tree.
[0071] In another example, when the WSE host PAL 2043 at the extensible WSE hub 204 receives the PALME-WSE-RESET indication from the WSE host 102 , it can also trigger the PALME-WSE of its downstream WSE hub/peripheral device -RESET process.
[0072] Therefore, when the expandable WSE hub 204 observes a new downstream WSE hub 104, then the expandable WSE hub 204 can usually reset the WSE hub 104; and when the host decides to reset all USB devices, it can The extended WSE hub 204 can enable this reset.
[0073] Refer to FIG. 11, which provides a flowchart showing a simplified process 1100 for the WSE reset and capability exchange process as described above and shown in FIG. 7. At step 1102, it can be extended The WSE hub 204 can discover the new WSE peripheral device 112, and accordingly establish a wireless connection between the discovered WSE peripheral device 112 and the expandable WSE hub 204. For example, this step may be implemented by the wireless radio frequency circuit 2041 at the extensible WSE hub 204, and/or implemented by a processor communicatively coupled to the wireless radio frequency circuit 2041. At step 1104, the extensible WSE hub 204 may send a WSE reset request to the WSE hub/peripheral device 112, and in response, at step 1106, the WSE peripheral device 112 may send a WSE reset response to the extensible WSE hub 204. [0074] WSE device capability exchange
[0075] Referring again to FIG. 7, after the WSE reset process is completed, the extensible WSE hub 204 can initiate a capability exchange process so that it can determine, for example, how many handles the WSE hub/peripheral device 112 can use. For example, if the peripheral device is the WSE hub 104, this may be a situation where multiple USB devices or peripheral devices are coupled to the hub, and therefore the WSE hub/peripheral device 112 may require multiple handles. Therefore, the WSE host PAL 2043 at the extensible WSE hub 204 can initiate the newly connected downstream WSE after completing the PALME-WSE-RESET process with the newly connected downstream WSE hub/peripheral device 112 as described above. Hub/peripheral equipment
112's PALME-WSE-DEVCAPABILITYEXCHANGE process. In some aspects of the present disclosure, the extensible WSE hub 204 does not have to wait for the host to initiate the WSE capability exchange process, and can initiate this process itself.
[0076] Referring again to FIG. 11, at step 1108, the extensible WSE hub 204 may send a WSE device capability exchange request to the WSE hub/peripheral device 112; and in response, at step 1110, the WSE hub/peripheral device 112 may send a request to The extensible WSE hub 204 sends a device capability exchange response.
[0077] Referring again to FIG. 4, in some aspects of the present disclosure, when the packet 404 is sent through the extensible WSE hub 204 for the upstream device (for example, the WSE host 102) and the downstream device (for example, the WSE hub 104) During the wireless communication between the packets, the packet 404 may need to be processed by both the WSE device PAL 2042 and the WSE host PAL 2043. That is, the WSE device PAL 2042 can handle the communication with the upstream WSE host 102, and the WSE host PAL 2043 can handle the communication with the downstream WSE hub 104. However, the WSE device PAL 2042 and the WSE host PAL 2043 at the extensible WSE hub 204 may not have direct communication with each other. Therefore, the WSE bridge 2045 can bridge the communication between the WSE device PAL 2042 and the WSE host PAL 2043. In other words, the WSE bridge 2045 can be configured to enable the data stream to cross the scalable WSE hub 204.
[0078] Virtual USB port
[0079] In one aspect of this disclosure, the expandable WSE hub 204 can maintain a set of virtual USB hub numbers for potential downstream WSE hub/peripheral use. Here, when the expandable WSE hub 204 is connected to a downstream WSE hub/peripheral device, the expandable WSE hub 204 may allocate a virtual port 604 to be used for the downstream WSE hub/peripheral device. In this way, when an input WSE packet arrives at the WSE bridge 2045 from an upstream device such as the WSE host 102, the packet will arrive at the corresponding virtual USB port, so that the device/endpoint handle mapping circuit 602 can transfer the device/ The endpoint handle 504 is mapped to an appropriate downstream WSE hub or peripheral device so that the packet can be sent to the designated endpoint, as described in further detail below.
[00801 Therefore, referring again to FIG. 11, at step 1112, immediately following the WSE reset and capability exchange process, the expandable WSE hub 204 can install the WSE hub/peripheral device 112 on the virtual USB port.
[0081] Handle mapping
[0082] FIG. 6 is a simplified schematic diagram of an exemplary architecture for the WSE bridge 2045 according to one aspect of the present disclosure. The WSE bridge 2045 shown is shown as being coupled to a WSE hub 104, which can couple one or more USB devices 108. The WSE bridge 2045 is also shown as being coupled to a general WSE peripheral 110, so The general WSE peripheral device 110 may be one or more USB devices 108, a WSE hub 104, an expandable WSE hub 204, or any other suitable WSE capable devices.
[0083] Here, the WSE bridge 2045 may be configured to maintain a mapping table for the mapping between the upstream device/endpoint handle 504 (see FIG. 5) and the downstream device/endpoint handle 504. Therefore, the WSE bridge 2045 may include a handle mapping entity 602 for implementing this function. In some examples, the handle mapping entity 602 may be a dedicated mapping circuit, while in other examples, it may include a device endpoint/handle mapping stored in a memory (for example, the memory 905 in FIG. 9) and implemented by a general-purpose processor Functional modules. Using this mapping (which can change over time), a series of downstream WSE hubs/peripheral devices can be wirelessly connected to the expandable WSE hub 204.
[0084] Therefore, the scalable WSE hub 204 can map between the virtual port 604 and the port number of the downstream WSE hub/peripheral device. Referring again to FIG. 4, when a packet 404 is sent between the WSE bridge 2045 and the downstream WSE hub 104, the packet is handed over to the WSE host PAL 2043, and the WSE host PAL 2043 uses the sentence
The handle 504 allocated by the handle mapping entity 602.
[0085] Equipment List
[0086] Referring now to FIGS. 7 and 12, a device enumeration process for establishing a device handle according to some aspects of the present disclosure will now be described. Immediately following the WSE reset and capability exchange described above, at step 1202, the WSE host 102 may poll the extensible WSE hub 204 for the newly connected device. When the WSE host 102 comes to poll, if the expandable WSE hub 204 has a newly connected USB device 108 or a downstream WSE hub/peripheral device 112 (as described above with respect to the reset and capability exchange process), then at step 1204 The expandable WSE hub 204 can respond to the WSE host 102 by signaling the new USB device 108 or the downstream WSE hub/peripheral device 112.
[0087] When the scalable WSE hub 204 receives a signal indicating the detection of a new downstream WSE hub/peripheral device 112, at step 1206, the WSE hub 104 may send a WSE new device handle request to request the scalable WSE The hub 204 sets an address for the newly connected downstream WSE hub/peripheral device 112. Here, the value of the hub USB address field and the value of the hub port number in the WSE device handle request sent at step 1206 can be set to report the detection of a new USB device or the downstream WSE hub/peripheral 112, which can be expanded The corresponding value of the root hub of the WSE hub 204.
[0088] At step 1208, the extensible WSE hub 204 may forward the WSE new device handle request to the downstream WSE hub/peripheral device 112, so that the downstream WSE hub/peripheral device 112 may correspondingly transfer the new address assigned by the WSE host 102 Set to itself. After the new device handle used in the device/endpoint handle field 504 of the future WSE data packet 500 is generated, at step 1212, the downstream WSE hub/peripheral device 112 may then add the WSE device handle including the new device handle The response is sent back to the expandable WSE hub 204.
[0089] When the extensible WSE hub 204 receives the WSE device handle response from the downstream WSE hub/peripheral device 112, at step 1214, the WSE bridge 2045 at the extensible WSE hub 204 may generate a unique WSE device handle. Therefore, the device/endpoint handle mapping entity 602 at the WSE bridge 2045 can map the WSE device handle generated by the extensible WSE hub 204 to the received WSE device handle of the downstream WSE hub/peripheral 112. After the WSE device handle is generated, at step 1216, the extensible WSE hub 204 may use the new WSE device handle to forward the WSE new device handle response to the WSE host 102.
[0090] Endpoint configuration
[0091] Once the WSE host 102 has the new device handle as described above and completed during the device enumeration process, an endpoint configuration process can occur in order to generate the endpoint handle. That is, the WSE hub/peripheral device 112 may have multiple endpoints. Therefore, referring to Figures 7 and 13, the process for generating a new endpoint handle can be used to direct the USB packet to the appropriate endpoint.
[0092] At step 1302, the WSE hub 104 may send a WSE endpoint handle request to request the extensible WSE hub 204 to set an endpoint handle for the newly connected downstream WSE hub/peripheral device 112. At step 1304, the extensible WSE hub 204 may forward the WSE endpoint handle request to the downstream WSE hub/peripheral device 112, and at step 1306, the downstream WSE hub/peripheral device 112 may transfer the WSE endpoint handle including the new endpoint handle list The response is sent back to the expandable WSE hub 204. When the scalable WSE hub 204 receives a WSE endpoint handle response from the downstream WSE hub/peripheral device 112, the WSE bridge 2045 can generate a unique WSE endpoint handle for its upstream use. That is, in the case of receiving a new endpoint handle list from the downstream WSE hub/peripheral device 112, at step 1308, the extensible WSE hub 204 may generate a new endpoint handle list, the new endpoint handle list
The Π/14 page table is for the mapping between the endpoint used by the downstream WSE hub/peripheral device 112 and the endpoint requested by the upstream WSE host 102. In addition, the extensible WSE hub 204 can exchange the device/endpoint handle mapping entity 602 The list of new endpoint handles. Once the endpoint handle list is generated, it can be stored for access by the device/endpoint handle mapping entity 602.
[0093] Therefore, the device/endpoint handle mapping entity 602 can map the WSE endpoint handle generated by the extensible WSE hub 204 to the received WSE endpoint handle of the downstream WSE hub/peripheral device 112. At step 1310, the extensible WSE hub 204 may send a WSE endpoint handle response including the new endpoint handle list to the WSE host 102.
[0094] Therefore, by generating a new endpoint handle for the newly connected WSE hub/peripheral device 112, the device/endpoint handle mapping entity 602 can translate the request received from the WSE host 102 (which contains the requested handle) to the target downstream The target handle at the WSE hub/peripheral 112.
[0095] WSE bridge operation for data transmission
[0096] Immediately after the new device establishment process described above, once the downstream device is coupled to the WSE host 102 through the expandable WSE hub 204, as long as the WSE host 102 and the WSE hub/peripheral device 112 are related, the WSE host 102 The data transmission with the WSE hub/peripheral device 112 is basically the same as the traditional WSE transaction. That is, in the aspect of the present disclosure, the extensible WSE hub 204 can provide a method for multi-hop wireless communication on the WSE network in a manner that is backward compatible with the traditional WSE host 102 and the WSE hub/peripheral device 112. ability. However, to achieve this feature, as described above, the extensible WSE hub 204 can map the handle between the WSE host 102 and the downstream WSE hub/peripheral device 112 by means of the device/endpoint handle mapping entity 602. That is, when the extensible WSE hub 204 receives the WSE PAL packet, the extensible WSE hub 204 can use the corresponding device/endpoint handle of the actual endpoint device to replace the device/endpoint handle on the WSE PAL packet, and then send it to the endpoint The device sends a packet including the device/endpoint handle.
[0097] FIG. 8 is a call flow diagram showing some examples of data transmission according to certain aspects of the present disclosure. Here, the expandable WSE hub 204 has a USB device 108 directly connected to the expandable WSE hub 204, and in addition, the downstream WSE hub 104 also has a USB device 108 directly connected to the downstream WSE hub 104. Therefore, FIG. 8 sequentially shows an exemplary data transfer between each of the WSE host 102 and the USB device 108.
[0098] FIG. 14 is a corresponding flowchart showing the process of realizing these data transmissions. Now referring to FIGS. 8 and 14 together, at step 1402, the extensible WSE hub 204 may receive a USB request including a WSE PAL packet from the WSE host 102 (or an upstream extensible WSE hub), and the WSE PAL packet is destined for direct coupling To the USB device 108 of the expandable WSE hub 204. Therefore, at step 1404, the extensible WSE hub 204 can determine that there is no handle mapping available for this USB request, which means that no mapping is required for this transaction. Therefore, at step 1406, the WSE device PAL 2042 may transmit the packet up to the USB hub emulator 2044 for processing by the USB transaction engine 2046 for communication with the locally coupled USB device 108. Once communication is established with the locally coupled USB device 108, Then at step 1408, the extensible WSE hub may send a USB response back to the WSE host 102 to complete the transaction. [0099] Returning to step 1402, the extensible WSE hub 204 may receive a second USB request including a WSE PAL packet from the WSE host 102 (or an upstream extensible WSE hub), and the WSE PAL packet does not go to be connected to the extensible WSE hub 204 own USB device 108. Therefore, at step 1404, the extensible WSE hub 204 can determine that there is a handle mapping available for this USB request, which means that for this transaction, the corresponding device needs to be targeted
/ Endpoint handle mapping. Therefore, at step 1410, the WSE device PAL 2042 can transmit the packet upward to the WSE bridge 2045, and at step 1412, the device/endpoint handle mapping entity 602 at the WSE bridge 2045 can correspondingly access the stored Device/endpoint mapping, and use the corresponding device/endpoint handle on the downstream WSE link to replace the device/endpoint handle on the WSE PAL packet.
[0100] With the appropriate device/endpoint handle, at step 1414, the extensible WSE hub 204 may send a USB request to the downstream WSE hub 104 on the mapped endpoint handle, and therefore at step 1416, the WSE hub 104 may transmit the USB request to its USB device 108. At step 1418, the downstream WSE hub 104 may send a USB response to the extensible WSE host 204. When the response arrives, at step 1420, the extensible WSE hub 204 can exchange the device endpoint handles back to their original value (the original value corresponds to the device/endpoint handle mapping location in the device/endpoint handle mapping entity 602 Stored value). At this moment, at step 1422, the extensible WSE hub 204 may send a USB response back to the WSE host 102 to complete the transaction.
[0101] In one or more aspects of the present disclosure, the described functions can be implemented in hardware, software, firmware, or any combination thereof. If implemented by software, these functions can be stored or transmitted as one or more instructions or codes on a computer-readable medium. Computer-readable media may be temporary or non-transitory, and may include computer storage media and communication media, where communication media includes any medium that facilitates the transfer of computer programs from one place to another. The storage medium may be any available medium that can be accessed by a general-purpose computer or a special-purpose computer. By way of example and not limitation, this non-transitory computer-readable medium can include RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or can be used for carrying or storing Any other medium that has a desired program code unit in the form of instructions or data structures and can be accessed by a general-purpose computer or a special-purpose computer, or a general-purpose processor or a special-purpose processor. In addition, any connection is properly termed a computer-readable medium. For example, if the software uses coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, wireless, and microwave, from a website, server, or other remote If it is transmitted by a source, coaxial cable, fiber optic cable, twisted pair, DSL or wireless technologies such as infrared, wireless and microwave are temporary entities included in the definition of the medium. As used in this article, magnetic disks and optical discs include compact discs (CDs), laser discs, optical discs, digital versatile discs (DVD), floppy disks, and Blu-ray discs. Disks usually copy data magnetically, while optical discs use lasers to optically Copy the data. The above combination should also be included in the protection scope of the computer-readable medium. The computer-readable medium can be embodied in a computer program product. By way of example and not limitation, the computer program product may include a computer-readable medium in the form of packaging materials. Those skilled in the art will realize how to best implement the described functions presented throughout the present disclosure depending on specific applications and overall design constraints imposed on the entire system.
[0102] FIG. 9 is a conceptual diagram showing an example of a hardware implementation of the device 900 employing the processing system 914. In some examples, the device 900 may be at least a part of the expandable WSE hub 204. According to various aspects of the present disclosure, any part of an element or meta-element or any combination of elements (for example, the extensible WSE hub 204 or any part of the extensible WSE hub 204) may be used including one or more processors 904 The processing system 914 is implemented. Examples of the processor 904 include microprocessors, microcontrollers, digital signal processors (DSP), field programmable gate arrays (FPGA), programmable logic devices (PLD), state machines, gate logic devices, discrete hardware circuits, and Other suitable hardware configured to perform the various functions described throughout this disclosure.
[0103] In this example, the processing system 914 may be implemented with a bus architecture, and the bus architecture is generally represented by the bus 902. The bus 902 may include any number of interconnecting buses and bridges, depending on the specific nature of the processing system 914
Application and overall design constraints. The bus 902 links together various circuits including one or more processors (which are generally represented by the processor 904), a memory 905, and a computer-readable medium (which is generally represented by the computer-readable medium 906). The bus 902 also links various other circuits such as timing sources, peripheral devices, voltage regulators, and power management circuits, which are well known in the art and therefore will not be described further. The bus interface 908 provides an interface between the bus 902 and the transceiver 910. The transceiver 910 provides a unit for communicating with various other devices on a transmission medium. Depending on the nature of the device, a user interface 912 (eg, keyboard, display, speaker, microphone, joystick) may also be provided.
[0104] The processor 904 is responsible for managing the bus 902 and general processing, including executing software stored on the computer-readable medium 906. When the software is executed by the processor 904, the processing system 914 is caused to perform various functions described below for any specific device. The computer-readable medium 906 may also be used to store data that is manipulated when the processor 904 executes software.
[0105] One or more processors 904 in the processing system may execute software. Software should be interpreted broadly to mean instructions, instruction sets, codes, code segments, program codes, procedures, subroutines, software modules, applications, software applications, software packages, routines, subroutines, objects, executable files , Threads, procedures, functions, etc. of execution, whether they are called software, firmware, middleware, microcode, hardware description language, or other. The software may be located on a computer readable medium 906 ±. The computer readable medium 906 may be a non-transitory computer readable medium. By way of example, non-transitory computer-readable media may include magnetic storage devices (for example, hard disks, floppy disks, magnetic strips (magnetic strip)), optical disks (for example, compact disks (CD) or digital versatile disks (DVD)), Smart cards, flash memory devices (for example, cards, sticks or key drives), random access memory (RAM), read only memory (ROM), programmable ROM (PROM), erasable PROM (EPROM), electrically erasable PROM (EEPROM), registers, mobile hard drives, and any other suitable media for storing software and/or instructions that can be accessed and read by a computer. By way of example, the computer-readable medium may also include a carrier wave, a transmission line, and any other suitable medium for transmitting software and/or instructions that can be accessed and read by a computer. Computer can The read medium 906 may be located in the processing system 914, outside the processing system 914, or distributed on multiple entities including the processing system 914. The computer-readable medium 906 may be embodied in a computer program product. By way of example, the computer program product may include a computer-readable medium in the form of packaging materials. Those skilled in the art will realize how to best implement the described functions presented throughout the present disclosure depending on specific applications and overall design constraints imposed on the entire system.
[0106] In the foregoing, certain representative aspects of the present invention have been described with reference to specific examples. However, various modifications and changes can be made without departing from the protection scope of the present invention as set forth in the claims. The specification and the drawings are only exemplary rather than restrictive, and the modifications are intended to fall within the protection scope of the present invention. Therefore, the scope of protection of the present invention should be determined by the claims and their legal equivalents, rather than only by the described examples.
[0107] For example, the steps recited in any method claim or process claim can be performed in any order and are not limited to the specific order presented in the claims. In addition, the components and/or elements recited in any device claims can be combined in various arrangements or operatively configured, so they are not limited to the specific structures recited in the claims.
[0108] In addition, although certain benefits, other advantages, and solutions to problems have been described above in conjunction with specific embodiments; however, any benefits, advantages, solutions to problems, or possible solutions to any specific benefits, advantages, or solutions Any element that occurs or becomes more explicit should not be construed as essential, necessary, or essential for any or all claims.
Features or components of this book.
[0109] As used in this application, the terms "including", "comprising", "consisting of", "having", "containing", "including" or any variation thereof are intended to refer to non-exclusive inclusion, A composition or device that includes a list of elements includes not only those elements stated, but also other elements that are not explicitly listed or are inherent to the process, method, product, composition, or device. Except for those that are not expressly stated, otherwise, the above-described structures, settings, applications, proportions, elements, materials, or other combinations and/or modifications of components used in the practice of the present invention can be used without departing from the present invention Based on the basic principles of the invention, changes or specific adjustments are made to adapt to specific environments, manufacturing specifications, design parameters, or other operational requirements.
[0110] In addition, reference to an element in the singular is not intended to mean "one and only one", but "one or more" unless specifically stated as such. Unless specifically stated otherwise, the term "some" refers to one or more. All structural and functional equivalents described throughout this disclosure that are well-known to those skilled in the art or will later become well-known elements of various aspects are expressly incorporated herein by reference and are intended to be claimed by Covered. In addition, nothing disclosed in this article is intended to be dedicated to the public, regardless of whether such disclosure is clearly recorded in the claims. Claim elements shall not be interpreted in accordance with Article 112, paragraph 6 of the U.S. Patent Law, unless: the element is explicitly stated using the phrase "unit for...", or, in the case of a method claim, the element The elements are described using the phrase "steps for...".
Every citation, both ways
| Document | Relation | Office | Category | Cited during | Relevant claims |
|---|---|---|---|---|---|
| CN108476169A | Cited by | China | – | Search report | – |
| CN120407476A | Cited by | China | – | Search report | – |
| CN110312973A | Cited by | China | – | Search report | – |
| US00524738A | Cites | United States of America | Y | Search report | 1-22 |
| CN101615071A | Cites | China | A | Search report | 1-25 |
| US2007239900A1 | Cites | United States of America | Y | Search report | 6、7、16、17、21、22 |
| US2010061246A1 | Cites | United States of America | Y | Search report | 3、8-10、13、18-20 |
| US7334072B1 | Cites | United States of America | Y | Search report | 1-5、11-15 |
7 members in 4 offices
Priority claims14
| Document | Office | Kind | Date |
|---|---|---|---|
| 201261637221 | United States of America | P | |
| 201261637221 | United States of America | P | |
| 61637221 | United States of America | – | |
| 13688499 | United States of America | – | |
| 201213688499 | United States of America | A | |
| 201213688499 | United States of America | A | |
| 2013036989 | United States of America | W | |
| 2013036989 | United States of America | W | |
| 13688499 | – | – | – |
| 61637221 | – | – | – |
| PCTUS2013036989 | – | – | – |
| US201213688499 | – | – | – |
| US201261637221P | – | – | – |
| WO2013US36989 | – | – | – |
Members7
| Document | Office | Kind | |
|---|---|---|---|
| US2013282938A1 | United States of America | A1 | |
| WO2013162974A1 | World Intellectual Property Organization (WIPO) | A1 | |
| CN104246734AThis record | China | A | |
| EP2845114A1 | European Patent Office (EPO) | A1 | |
| US9201826B2 | United States of America | B2 | |
| EP2845114B1 | European Patent Office (EPO) | B1 | |
| CN104246734B | China | B |
4 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Termination of patent right due to non-payment of annual feeCF01 | CF01 | |
| Patent grantGrantedGR01 | GR01 | |
| Entry into substantive examinationC10 | C10 | |
| PublicationC06 | C06 |
Numbers
- Publication
- 104246734
- Publication, DOCDB
- 104246734
- Publication, EPODOC
- CN104246734
- Application
- 800210963
- Application, DOCDB
- 201380021096
- Application, EPODOC
- CN201380021096
Titles2
- Chinese
- 在无线链路上支持USB HUB或外围设备的多跳树的可扩展WSE HUB
- English
- Extensible WSE HUB that supports USB HUB or multi-hop tree of peripheral devices on the wireless link
Classification
- CPC, 4
- G06F13/385
- G06F13/4022
- H04W4/00
- G06F2213/0042
- IPC, 2
- G06F13 40
- H04W4 00