KR101188772B1 - Method and system for wireless usb transfer of isochronous data using bulk data transfer type - Google Patents
Method and system for wireless usb transfer of isochronous data using bulk data transfer type Download PDFInfo
- Publication number
- KR101188772B1 KR101188772B1 KR1020107019889A KR20107019889A KR101188772B1 KR 101188772 B1 KR101188772 B1 KR 101188772B1 KR 1020107019889 A KR1020107019889 A KR 1020107019889A KR 20107019889 A KR20107019889 A KR 20107019889A KR 101188772 B1 KR101188772 B1 KR 101188772B1
- Authority
- KR
- South Korea
- Prior art keywords
- data packets
- delete delete
- data
- isochronous
- bulk
- Prior art date
Links
Images
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/387—Information transfer, e.g. on bus using universal interface adapter for adaptation of different data processing systems to different peripheral devices, e.g. protocol converters for incompatible systems, open system
-
- 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/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- 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]
-
- 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/38—Universal adapter
- G06F2213/3814—Wireless link with a computer system port
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Systems (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
제 1 USB 가능 장치 및 제 2 USB 가능 장치를 갖는 무선 USB 시스템에서 데이터를 전송하기 위한 방법 및 시스템이 제공된다. 상기 방법은 제 1 데이터 전송 타입을 갖는 제 1 데이터를 제공하는 단계, 상기 제 1 데이터를 제 2 데이터 전송 타입을 갖는 제 2 데이터로 변환하는 단계, 상기 제 2 데이터 전송 타입을 이용하여 상기 제 1 USB 가능 장치로부터 상기 제 2 USB 가능 장치로 상기 제 2 데이터를 무선으로 전송하는 단계, 및 상기 무선으로 전송된 제 2 데이터를 상기 제 1 데이터 전송 타입을 갖는 제 3 데이터로 변환하는 단계를 포함한다.A method and system are provided for transferring data in a wireless USB system having a first USB capable device and a second USB capable device. The method includes providing first data having a first data transmission type, converting the first data to second data having a second data transmission type, and using the first data transmission type. Wirelessly transmitting the second data from a USB capable device to the second USB capable device, and converting the wirelessly transmitted second data into third data having the first data transfer type. .
Description
본 특허 출원은 발명의 명칭이 "Method and System for Wireless USB Transer of Isochronous Data using Bulk Data Transfer Type"이고 2008년 2월 7일에 출원되고 본 출원인에 양도된 미국 가출원 제 61/026,969호에 대한 우선권을 주장하고, 본 명세서에 명시적으로 참조로서 결합된다.This patent application claims priority to US Provisional Application No. 61 / 026,969, entitled "Method and System for Wireless USB Transer of Isochronous Data using Bulk Data Transfer Type," filed February 7, 2008 and assigned to the applicant. And are hereby expressly incorporated by reference.
유선 범용 직렬 버스(Universal Serial Bus: USB) 사양은 4개 타입의 데이터 전송들인 제어, 벌크(bulk) 데이터, 인터럽트(interrupt) 데이터, 및 등시(isochronous) 데이터 전송들을 지원한다. 제어 데이터 전송은 버스트(burst)하고 비주기적인, 호스트 소프트웨어-개시 요청/응답 통신을 위해 사용되며, 통상적으로는 커맨드/상태 동작들을 위해 이용된다. 벌크 데이터 전송은 비주기적이며 벌크 패킷 버스트 통신이며, 통상적으로는 임의의 이용가능한 대역폭을 이용할 수 있고 대역이 이용가능할 때까지 또한 지연될 수 있는 데이터에 대해 이용된다. 예를들어, 하나의 큰 패킷으로 데이터를 수신하는 프린터는 벌크 전송 데이터 타입을 이용한다. 인터럽트 데이터 전송은 저주파수의 제한된 레이턴시(latency) 통신에 대해 이용된다. 예를들어, 매우 작은 데이터를 송신하는 마우스 또는 키보드와 같은 장치는 인터럽트 데이터 전송 타입을 이용할 것이다. 실시간 전송을 스트리밍(streaming)하는 것으로 알려진 등시 데이터 전송 타입은 호스트와 장치 간의 주기적이고 연속적인 통신을 위해 이용되며, 통상적으로는 시간 연관(time-relevant) 정보에 대해 이용된다. 오디오 스피커와 같은 스트리밍 장치는 등시 데이터 전송 타입을 이용한다.The Wired Universal Serial Bus (USB) specification supports four types of data transfers: control, bulk data, interrupt data, and isochronous data transfers. Control data transmission is used for burst and aperiodic, host software-initiated request / response communications, and is typically used for command / state operations. Bulk data transmission is aperiodic and bulk packet burst communication, typically used for data that may use any available bandwidth and may also be delayed until the band is available. For example, a printer receiving data in one large packet uses a bulk transmission data type. Interrupt data transfers are used for limited latency communications at low frequencies. For example, a device such as a mouse or keyboard that transmits very small data will use the interrupt data transfer type. The isochronous data transfer type, known as streaming real time transmission, is used for periodic and continuous communication between the host and the device and is typically used for time-relevant information. Streaming devices such as audio speakers use an isochronous data transfer type.
무선 범용 직렬 버스(Wirelesss Universal Serial Bus: WUSB) 상세는 유선 어뎁터들(Wire Adapters)로 알려진 장치들의 설명과 상세들을 포함한다. 이들 장치는 무선 및 유선 링크들 모두를 포함하는 확장된 USB 시스템들에서 "레거시(legacy)" 유선 USB 호스트들 및 장치들이 WUSB 장치들과 상호접속될 수 있도록 허용하는 유선 USB-무선 USB(wired-USB-to-Wireless-USB) 어뎁터들이다. 2개 타입의 유선 어뎁터들, 호스트 유선 어뎁터(Host Wire Adapter: HWA) 및 장치 유선 어뎁터(Device Wire Adapter: DWA)가 존재하는데, 이들은 서로 결합해서 동작한다. HWA들은 유선 "업스트림" USB 포트와 무선 "다운스트림" WUSB 포트를 가져서, 유선 USB 호스트가 WUSB 장치들과 통신하는 것을 가능하게 한다. DWA들은 무선 "업스트림" WUSB 포트와 하나 이상의 유선 "다운스트림" USB 포트들을 가져서, 유선 USB 장치들이 WUSB 호스트와 통신하는 것을 가능하게 한다. 따라서, "레거시" 유선 USB 호스트들과 장치들을 갖는 WUSB 시스템들은 HWA들 및 DWA들을 이용할 것이다.Wireless Universal Serial Bus (WUSB) details include descriptions and details of devices known as Wire Adapters. These devices are "legacy" wired USB hosts and devices in extended USB systems that include both wireless and wired links, allowing wired USB-wireless USB to be interconnected with WUSB devices. USB-to-Wireless-USB adapters. There are two types of wired adapters, a host wired adapter (HWA) and a device wired adapter (DWA), which operate in conjunction with each other. HWAs have a wired "upstream" USB port and a wireless "downstream" WUSB port, allowing a wired USB host to communicate with WUSB devices. DWAs have a wireless "upstream" WUSB port and one or more wired "downstream" USB ports, enabling wired USB devices to communicate with a WUSB host. Thus, WUSB systems with "legacy" wired USB hosts and devices will use HWAs and DWAs.
WUSB 사양은 유선 USB와 동일한 데이터 전송 타입들을 지원한다. 특히, WUSB는 제어, 벌크 데이터, 인터럽트 데이터, 및 등시 데이터 전송 타입들을 지원한다. WUSB 벌크 데이터 전송은 유선 USB 벌크 데이터 전송으로부터 그 단순성을 유지한다. 그러나, 무선 통신들의 특성으로 인하여, WUSB 등시 데이터 전송은 유선 USB 등시 데이터 전송에 추가하여 증가된 복잡성을 필요로 한다. 따라서, 무선 USB 링크 상의 벌크 전송들을 이용하여 "레거시" 유선 USB 장치들로 등시 데이터 전송들을 제공하기 위한 방법 및 시스템을 갖는 것이 바람직할 것이다.The WUSB specification supports the same data transfer types as wired USB. In particular, WUSB supports control, bulk data, interrupt data, and isochronous data transfer types. WUSB bulk data transfer maintains its simplicity from wired USB bulk data transfer. However, due to the nature of wireless communications, WUSB isochronous data transfer requires increased complexity in addition to wired USB isochronous data transfer. Thus, it would be desirable to have a method and system for providing isochronous data transfers to "legacy" wired USB devices using bulk transfers on a wireless USB link.
제 1 USB 가능 장치 및 제 2 USB 가능 장치를 갖는 WUSB 시스템에서 데이터를 전송하기 위한 방법 및 시스템이 제공된다. 상기 방법은 제 1 데이터 전송 타입을 갖는 제 1 데이터를 제공하는 단계, 상기 제 1 데이터를 제 2 데이터 전송 타입을 갖는 제 2 데이터로 변환하는 단계, 상기 제 2 데이터 전송 타입을 이용하여 상기 제 1 USB 가능 장치로부터 상기 제 2 USB 가능 장치로 상기 제 2 데이터를 무선으로 전송하는 단계, 및 상기 무선으로 전송된 제 2 데이터를 상기 제 1 데이터 전송 타입을 갖는 제 3 데이터로 변환하는 단계를 포함한다.A method and system are provided for transferring data in a WUSB system having a first USB capable device and a second USB capable device. The method includes providing first data having a first data transmission type, converting the first data to second data having a second data transmission type, and using the first data transmission type. Wirelessly transmitting the second data from a USB capable device to the second USB capable device, and converting the wirelessly transmitted second data into third data having the first data transfer type. .
상기 시스템은 제 1 USB 가능 장치를 포함하며, 상기 제 1 USB 가능 장치는, 제 1 데이터 전송 타입을 갖는 제 1 데이터를 제 2 데이터 전송 타입을 갖는 제 2 데이터로 변환하도록 구성된 제 1 변환 모듈, 및 상기 제 2 데이터를 상기 제 1 USB 가능 장치로부터 제 2 USB로 무선으로 전송하도록 조정된 송수신기를 포함한다. 상기 시스템은 제 2 USB 가능 장치를 추가로 포함하며, 상기 제 2 USB 가능 장치는, 무선으로 전송된 상기 제 2 데이터를 상기 제 1 데이터 전송 타입을 갖는 제 3 데이터로 변환하도록 구성된 제 2 데이터 변환 모듈, 및 상기 제 1 USB 가능 장치로부터 상기 제 2 데이터를 무선으로 수신하도록 조정된 송수신기를 포함한다.The system includes a first USB capable device, the first USB capable device comprising: a first conversion module configured to convert first data having a first data transmission type into second data having a second data transmission type, And a transceiver adapted to wirelessly transfer the second data from the first USB capable device to a second USB. The system further includes a second USB capable device, wherein the second USB capable device is configured to convert the second data transmitted wirelessly into third data having the first data transfer type. A module, and a transceiver adapted to wirelessly receive the second data from the first USB capable device.
특정 실시예들은 데이터를 전송하기 위한 방법을 제공한다. 상기 방법은 일반적으로는 다수의 등시 데이터 패킷들을 벌크 데이터 패킷들에 내장하는 단계, 및 상기 벌크 데이터 패킷들을 무선으로 전송하는 단계를 포함한다. Certain embodiments provide a method for transmitting data. The method generally includes embedding a plurality of isochronous data packets into bulk data packets, and wirelessly transmitting the bulk data packets.
특정 실시예들은 데이터를 전송하기 위한 방법을 제공한다. 상기 방법은 일반적으로는 벌크 데이터 패킷들을 수신하는 단계, 상기 벌크 데이터 패킷들로부터 등시 데이터 패킷들을 추출하는 단계, 및 상기 등시 데이터 패킷들을 USB 가능 장치로 전송하는 단계를 포함한다.Certain embodiments provide a method for transmitting data. The method generally includes receiving bulk data packets, extracting isochronous data packets from the bulk data packets, and sending the isochronous data packets to a USB capable device.
특정 실시예들은 데이터를 전송하기 위한 장치를 제공한다. 상기 장치는 일반적으로 다수의 등시 데이터 패킷들을 벌크 데이터 패킷들 내에 내장하기 위한 변환기, 및 상기 벌크 데이터 패킷들을 무선으로 전송하기 위한 송신기를 포함한다.Certain embodiments provide an apparatus for transmitting data. The apparatus generally includes a converter for embedding a plurality of isochronous data packets into bulk data packets, and a transmitter for wirelessly transmitting the bulk data packets.
특정 실시예들은 데이터를 전송하기 위한 장치를 제공한다. 상기 장치는 일반적으로 다수의 등시 데이터 패킷들을 벌크 데이터 패킷들 내에 내장하기 위한 변환기, 및 상기 벌크 데이터 패킷들을 무선으로 전송하기 위한 송신기를 포함한다.Certain embodiments provide an apparatus for transmitting data. The apparatus generally includes a converter for embedding a plurality of isochronous data packets into bulk data packets, and a transmitter for wirelessly transmitting the bulk data packets.
특정 실시예들은 데이터를 전송하기 위한 장치를 제공한다. 상기 장치는 일반적으로 벌크 데이터 패킷들을 수신하기 위한 수신기, 상기 벌크 데이터 패킷들을 등시 데이터 패킷들로부터 추출하기 위한 변환기, 및 상기 등시 데이터 패킷들을 USB 가능 장치로 전송하기 위한 송신기를 포함한다.Certain embodiments provide an apparatus for transmitting data. The apparatus generally includes a receiver for receiving bulk data packets, a converter for extracting the bulk data packets from isochronous data packets, and a transmitter for transmitting the isochronous data packets to a USB capable device.
특정 실시예들은 데이터를 전송하기 위한 장치를 제공한다. 상기 장치는 일반적으로 다수의 등시 데이터 패킷들을 벌크 데이터 패킷들에 내장하기 위한 수단, 및 상기 벌크 데이터 패킷들을 무선으로 전송하기 위한 수단을 포함한다.Certain embodiments provide an apparatus for transmitting data. The apparatus generally includes means for embedding a plurality of isochronous data packets into bulk data packets, and means for wirelessly transmitting the bulk data packets.
특정 실시예들은 데이터를 전송하기 위한 장치를 제공한다. 상기 장치는 일반적으로 벌크 데이터 패킷들을 수신하기 위한 수단, 상기 벌크 데이터 패킷들로부터 등시 데이터 패킷들을 추출하기 위한 수단, 및 상기 등시 데이터 패킷들을 USB 가능 장치로 전송하기 위한 수단을 포함한다.Certain embodiments provide an apparatus for transmitting data. The apparatus generally includes means for receiving bulk data packets, means for extracting isochronous data packets from the bulk data packets, and means for transmitting the isochronous data packets to a USB capable device.
특정 실시예들은 다수의 등시 데이터 패킷들을 벌크 데이터 패킷들에 내장하고, 상기 벌크 데이터 패킷들을 무선으로 전송하도록 실행가능한 명령들로 인코딩된 컴퓨터 판독가능 매체를 포함하는, 데이터를 전송하기 위한 컴퓨터-프로그램 물건을 제공한다.Particular embodiments include a computer-readable medium for embedding a plurality of isochronous data packets into bulk data packets and encoded with instructions executable to wirelessly transmit the bulk data packets. Provide program stuff.
특정 실시예들은 벌크 데이터 패킷들을 수신하고, 상기 벌크 데이터 패킷들로부터 등시 데이터 패킷들을 추출하고, 상기 등시 데이터 패킷들을 USB 가능 장치로 전송하도록 실행가능한 명령들로 인코딩된 컴퓨터 판독가능 매체를 포함하는, 데이터를 전송하기 위한 컴퓨터-프로그램 물건을 제공한다.Certain embodiments include a computer readable medium encoded with instructions executable to receive bulk data packets, extract isochronous data packets from the bulk data packets, and send the isochronous data packets to a USB capable device. Provides a computer-program product for transferring data.
특정 실시예들은 무선 어뎁터를 제공한다. 상기 무선 어뎁터는 일반적으로 안테나, 등시 데이터 패킷들을 벌크 데이터 패킷들에 내장하기 위한 변환기, 및 상기 안테나를 이용하여 상기 벌크 데이터 패킷들을 무선으로 전송하기 위한 송신기를 포함한다. Certain embodiments provide a wireless adapter. The wireless adapter generally includes an antenna, a converter for embedding isochronous data packets into bulk data packets, and a transmitter for wirelessly transmitting the bulk data packets using the antenna.
특정 실시예들은 무선 어뎁터를 제공한다. 상기 무선 어뎁터는 일반적으로 안테나, 상기 안테나를 통해 벌크 데이터 패킷들을 수신하기 위한 수신기, 상기 벌크 데이터 패킷들로부터 등시 데이터 패킷들을 추출하기 위한 변환기, 및 상기 등시 데이터 패킷들을 USB 가능 장치로 전송하기 위한 송신기를 포함한다.Certain embodiments provide a wireless adapter. The wireless adapter generally includes an antenna, a receiver for receiving bulk data packets via the antenna, a converter for extracting isochronous data packets from the bulk data packets, and transmitting the isochronous data packets to a USB capable device. It includes a transmitter for.
본 개시내용은 첨부된 도면을 참조하여 상세한 설명으로부터 가장 잘 이해될 수 있을 것이다. 당업계의 표준 관습에 따라, 다양한 특징들이 실측에 따라 도시되지는 않았다. 다양한 특징들의 치수는 설명의 명확성을 위하여 임의로 증가되거나 감소될 수 있다. 또한, 단순성을 위하여 모든 특징들이 모든 도면들에 도시된 것은 아니다.
도1은 개시된 실시예들이 실시될 수 있는 시스템의 다이어그램 표현이다.
도2는 도1의 WUSB 시스템에서 구현될 수 있는 데이터가 전송되고 있는 다이어그램 표현이다.
도3은 도1의 WUSB 시스템에서 구현될 수 있는 데이터를 전송하기 위한 방법을 도시하는 흐름도이다.
도4는 도3의 방법에서 구현될 수 있는, 데이터를 변환하기 위한 방법의 흐름도이다.
도5는 도3의 방법이 구현될 수 있는, 데이터를 변환하기 위한 대안적인 방법의 흐름도이다.
도6A 및 도6B는 본 개시내용의 특정 양상들에 따른, 예시적인 등시 데이터 전송 및 대응 벌크 데이터 전송을 각각 도시한다.
도7은 본 개시내용의 특정 양상들에 따른, 무선 USB 벌크 데이터 전송을 통하여, 호스트로부터 장치로 등시(OUT) 데이터 전송을 위한 예시적인 동작들을 도시한다.
도8은 본 개시내용의 특정 양상들에 따른, 무선 USB 벌크 데이터 전송을 통하여, 호스트로부터 장치로 등시(OUT) 데이터 전송의 다이어그램이다.
도9는 본 개시내용의 특정 양상들에 따른, 무선 USB 벌크 데이터 전송을 통하여, 호스트로부터 장치로 등시(IN) 데이터 전송을 위한 예시적인 동작들을 도시한다.
도10은 본 개시내용의 특정 양상들에 따른, 무선 USB 벌크 데이터 전송을 통하여, 호스트로부터 장치로 등시(IN) 데이터 전송의 다이어그램이다.The present disclosure will be best understood from the detailed description with reference to the accompanying drawings. In accordance with standard practice in the art, various features have not been shown to be measured. The dimensions of the various features may be arbitrarily increased or reduced for clarity of explanation. Moreover, not all features are shown in all the figures for the sake of simplicity.
1 is a diagrammatic representation of a system in which disclosed embodiments may be practiced.
FIG. 2 is a diagrammatic representation of data being transmitted that may be implemented in the WUSB system of FIG.
3 is a flowchart illustrating a method for transmitting data that may be implemented in the WUSB system of FIG.
4 is a flowchart of a method for transforming data, which may be implemented in the method of FIG.
5 is a flowchart of an alternative method for transforming data in which the method of FIG. 3 may be implemented.
6A and 6B illustrate example isochronous data transmissions and corresponding bulk data transmissions, respectively, in accordance with certain aspects of the present disclosure.
7 illustrates example operations for isochronous (OUT) data transfer from a host to a device, via wireless USB bulk data transfer, in accordance with certain aspects of the present disclosure.
8 is a diagram of an isochronous (OUT) data transfer from a host to a device via wireless USB bulk data transfer, in accordance with certain aspects of the present disclosure.
9 illustrates example operations for isochronous (IN) data transfer from a host to a device via wireless USB bulk data transfer, in accordance with certain aspects of the present disclosure.
10 is a diagram of an isochronous (IN) data transfer from a host to a device, via wireless USB bulk data transfer, in accordance with certain aspects of the present disclosure.
본 발명의 다양한 양상들이 이제 도면을 참조하여 보다 충분히 설명된다. 그러나, 본 발명은 다수의 다양한 형태로 구현될 수 있고 본 개시내용 전체에서 제시되는 임의의 특정 구조 또는 기능으로 제한되도록 해석되어서는 안 된다. 오히려, 이들 양상들은 본 개시내용이 철저하고 완전하고 당업자에게 본 발명의 범위를 완전히 전달하도록 제공되는 것이다. 본 교시내용에 기초하여, 독립적으로 또는 본 발명의 다른 양상과 결합하여 구현되든지 간에, 당업자는 본 발명의 범위가 개시된 본 발명의 모든 양상을 커버하도록 의도된 것임을 이해할 것이다. 예를들어, 제시된 양상들의 임의 갯수를 이용하여 장치가 구현될 수 있거나 장법이 수행될 수 있다. 또한, 본 발명의 범위는 다른 구성, 기능성, 또는 제시된 본 발명의 다양한 양상들에 추가하거나 제외한 구성 및 기능성을 이용하여 구현되는 방법 및 장치가 커버되도록 의도된다. 개시된 본 발명의 임의의 양상은 청구항의 하나 이상의 엘리먼트들에 의해 구현될 수 있음이 이해되어야 한다.Various aspects of the invention are now described more fully with reference to the drawings. However, the present invention may be embodied in many different forms and should not be construed as limited to any particular structure or function presented throughout this disclosure. Rather, these aspects are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. Based on the present teachings, whether implemented independently or in combination with other aspects of the present invention, those skilled in the art will understand that the scope of the present invention is intended to cover all aspects of the disclosed invention. For example, an apparatus may be implemented or a method may be performed using any number of the presented aspects. In addition, the scope of the present invention is intended to cover methods and apparatus that are implemented using other configurations, functionality, or configurations and functionality in addition to or excluding the various aspects of the present invention as set forth. It should be understood that any aspect of the disclosed subject matter may be implemented by one or more elements of a claim.
용어 “예시적인”은 여기서 “예, 보기, 또는 예시로서 기능하는” 것을 의미하는 것으로 이용된다. “예시적인” 것으로서 여기 기재되는 임의의 양상이 반드시 다른 양상들에 비해 바람직하거나 유리한 것으로 해석될 필요가 있는 것은 아니다. The term " exemplary " is used herein to mean " serving as an example, example, or illustration. &Quot; Any aspect described herein as “exemplary” does not necessarily need to be construed as preferred or advantageous over other aspects.
본 개시내용은 일반적으로는 무선 USB(WUSB) 시스템에서 벌크 데이터 전송 타입을 이용하여 등시 데이터를 전송하는 것에 관련된다. 그러나, 다음 개시내용은 개시내용의 상이한 특징들을 구현하기 위한 다수의 상이한 실시예들, 또는 예시들을 제공한다는 점이 이해되어야 한다. 컴포넌트들 및 배치들의 특정 예들이 이하에서 본 개시내용을 단순화하기 위해서 설명된다. 물론, 이들은 단순한 예시들이며 제한적인 것으로 의도되지 않는다. 또한, 본 개시내용은 다양한 실시예들에서 참조 번호들 및/또는 문자들을 반복할 수 있다. 이러한 반복은 단순성 및 간결성을 위한 것이며 설명된 다양한 실시예들 및/또는 구성들 간의 관계를 그대로 되풀이하는 것은 아니다.The present disclosure generally relates to isochronous data transfer using a bulk data transfer type in a wireless USB (WUSB) system. However, it should be understood that the following disclosure provides a number of different embodiments, or examples, for implementing the different features of the disclosure. Specific examples of components and arrangements are described below to simplify the present disclosure. Of course, these are merely examples and are not intended to be limiting. In addition, the present disclosure may repeat reference numerals and / or letters in the various embodiments. This repetition is for the purpose of simplicity and brevity and does not reiterate the relationship between the various embodiments and / or configurations described.
도1을 참조하면, 시스템(100)은 본 개시내용의 하나 이상의 실시예들로부터 이점을 얻을 수 있는 예시적인 WUSB 시스템이다. 시스템(100)은 적어도 하나의 USB 포트를 갖는 컴퓨터 또는 랩톱과 같은 USB 가능 호스트 장치(110)를 포함한다. 호스트(110)는 USB 포트를 통해 호스트 유선 어뎁터(HWA)(112)에 접속된다. 호스트(110) 및 HWA(112)는 USB 유선(114)을 통해 통신한다. HWA(112)는 호스트(110)에게 WUSB 기능성을 제공한다.Referring to FIG. 1,
호스트(110)은 HWA(112)를 포함하는 통신을 용이하게 하는 소프트웨어를 제공하는 HWA 드라이버(116)를 갖는다. HWA(112)는 무선 송수신기(118)를 포함한다. HWA(112)는 무선 링크(122)를 통해 장치 유선 어뎁터(DWA)(120)와 무선으로 통신하기 위하여 송수신기(118)를 이용한다. HWA(112)는 WUSB 프로토콜을 이용하여 DWA(120)와 통신한다. 무선 링크(122)가 초광대역(ultra-wideband: UWB) 스펙트럼을 통해 구축된다.
당업자는 송수신기를 이용하는 대신에, 송신(예를들어 송신기) 및 수신(예를들어 수신기)을 위해 분리된 컴포넌트들이 이용될 수 있음을 이해할 수 있을 것이다.Those skilled in the art will appreciate that instead of using a transceiver, separate components may be used for transmission (e.g., transmitter) and reception (e.g., receiver).
호스트(110)는 DWA(120)를 포함하는 통신을 용이하게 하는 DWA 드라이버(124)를 추가로 포함한다. DWA(120)는 HWA 송수신기(118)를 통해 HWA(112)와 통신하는데 이용되는 무선 송수신기(126)를 갖는다. DWA(120)는 USB 오디오 스피커와 같은 USB 가능 등시 장치(128)에 접속된다. 등시 장치(128) 및 DWA(120)는 DWA(120)와 등시 장치(128) 간의 등시 전송들을 용이하게 하는, 등시 엔드포인트(endpoint)(132 및 134)를 각각 포함한다. DWA(120)는 DWA(120)로부터 등시 장치(128)로의 등시 전송들을 용이하게 하는 등시 스케줄러(136)를 또한 포함한다. 특히, 스케줄러(136)는 시간에 기초한 방식으로 등시 데이터 전송들을 전달한다.Host 110 further includes a
도2를 참조하면, 실시예에 따라 데이터가 전송되고 있는 다이어그램 표현이 도시되어 있다. 예를들어, 다이어그램 표현(200)은 도1의 WUSB 시스템(100)에서 구현될 수 있다. 도1 및 도2의 유사한 특징은 간략성을 위하여 동일하게 번호가 메겨진다. 먼저, DWA 드라이버(124)가 USB 등시 장치(128)를 인식하고 열거(enumerate)한다. 그 후, DWA 드라이버(124)가 등시 전송 타입으로 선언된 유선 어뎁터 원격 파이프로의 USB 등시 장치(128)와 연관된 DWA(120)의 등시 엔드포인트(132)에 등시 전송 타입으로 선언된 유선 어뎁터 원격 파이프를 매핑한다. 또한, DWA(120)은 등시 스케쥴된 엔드포인트으로서 DWA(120) 상에 등시 엔드포인트(134)를 설정한다.Referring to Fig. 2, there is shown a diagram representation in which data is being transmitted in accordance with an embodiment. For example,
랩톱과 같은 USB 가능 호스트 장치(110)는 등시 데이터 전송(210)을 USB 가능 등시 장치(128)에 요청한다. 등시 데이터 전송 요청이 호스트(110)에 의해 행해지는 경우에, 등시 데이터 전송 타입(210)을 갖는 등시 데이터 전송이 DWA 드라이버(124)에 제공된다. 등시 데이터 전송(210)은 등시 데이터 패킷들(212)로 구성된다. DWA 드라이버(124)는 등시 데이터 패킷들(212)을 벌크 데이터 전송 타입(214)을 갖는 등시 데이터로 변환한다.The USB
DWA 드라이버(124)는 각각의 등시 데이터 패킷들(212)에 대응하는 패킷 길이들(216)을 결정한다. 다음, DWA 드라이버(124)는 패킷 길이들(216)을 등시 데이터 패킷들(212)과 결합한다. 결과적인 데이터는 벌크 데이터 전송 타입(214)을 갖는 등시 데이터이다. 본 개시내용의 실시예에서, 패킷 길이들(216) 및 대응 등시 데이터 패킷들(212)의 결합은 패킷 길이들(216) 및 대응 등시 데이터 패킷들(212)의 연접(concatenation)이다.
이 연접이 등시 데이터 전송(210) 내의 각각의 등시 데이터 패킷(212)에 대하여 되풀이해서 반복된다. 본 개시내용에 따른 실시예에서, 각 패킷 길이가 대응 등시 데이터 패킷에 선행하는 방식으로 DWA 드라이버(124)는 패킷 길이들(216)을 등시 데이터 패킷들(212)과 결합한다. 벌크 전송 타입(214)을 갖는 등시 데이터가 HWA(112)로의 전달을 위하여 HWA 드라이버(116)로 제공된다.This concatenation is repeated for each
다음, HWA(112)가 벌크 데이터 전송을 이용하여 UWB 링크(122)를 통해 DWA(120)로 등시 데이터(214)를 무선으로 전송한다. DWA(120)가 등시 데이터(214)를 수신한 후에, DWA(120)는 데이터(214)를 다시 등시 데이터 패킷들(212)로 변환하여 USB 가능 등시 장치(128)로의 전달에 적합한 데이터 패킷들(212)을 형성한다.
본 개시내용의 일 실시예에서, DWA(120)은 벌크 데이터 전송 타입(214)을 갖는 등시 데이터가 집합된 등시 데이터 패킷들(212)의 벌크 전송이라는 점을 이해한다. 따라서, DWA(120)는 등시 데이터 패킷들(212)을 벌크 데이터 전송 타입(214)을 갖는 등시 데이터로부터 분리한다. DWA(120)는 등시 스케줄러(136)에 기초하여 등시 데이터 패킷들(212)의 전달을 아웃으로 미터링(meter out)하기 위하여 결과적인 등시 데이터 패킷들(212)을 DWA(120) 상의 등시 엔드포인트(134)로 전달한다. 특정 실시예들에 따르면, 스케줄러(136)는 데이터가 향하는 등시 엔드포인트에 의해 정의되는 서비스의 품질 및/또는 트래픽 파라미터들에 따라 등시 데이터 패킷들의 전달을 아웃으로 미터링할 것이다.In one embodiment of the present disclosure,
특히, DWA(120)는 원(original) 등시 데이터 패킷들(212)을 벌크 데이터 전송 타입(214)을 갖는 등시 데이터 전송으로부터 분리한다. DWA(120)가 수신된 등시 데이터(214)의 등시 데이터 패킷들(212)로의 변환을 완료한 후에, DWA(120)는 원 등시 데이터 패킷들(212)을 USB 가능 등시 장치(128)로 전달할 수 있다.In particular,
도3을 또한 참조하면, 도1의 시스템(100)에서 구현될 수 있는 실시예에 따라 데이터를 무선으로 전송하기 위한 방법(300)의 흐름도가 도시되어 있다. 특정 실시예들에 따르면, 호스트와 장치 간의 직접(유선) 링크를 통해서 마치 등시 데이터 전송 동작들을 이용하여 전송하는 것처럼, 도3의 동작들이 USB 벌크 데이터 전송 동작들을 이용하여 호스트 및 USB 장치 사이에서 무선으로 데이터를 전송하도록 수행될 수 있다.Referring also to FIG. 3, shown is a flow diagram of a
도6은 HWA 및 DWA 간의 무선 링크를 통한, 호스트 및 USB 가능 장치 사이의 예시적인 패킷 교환의 다이어그램이며, 이것은 도3에 도시된 동작들에 대응될 수 있다.6 is a diagram of an example packet exchange between a host and a USB capable device, over a wireless link between HWA and DWA, which may correspond to the operations shown in FIG.
방법(300)은 제 1 데이터 전송 타입(등시 데이터 전송 타입과 같은)을 갖는 제 1 데이터(등시 데이터와 같은)를 제공함에 의해 블록(310)에서 시작된다. 블록(320)에서, 방법(300)은 제 1 데이터를 제 2 데이터 전송 타입(벌크 전송 타입과 같은)을 갖는 제 2 데이터(등시 데이터와 같은)로 변환함에 의해서 계속된다. 방법(300)은 블록(330)에서 제 2 데이터 전송 타입을 이용하여 제 2 데이터를 제 1 USB 가능 장치(HWA와 같은)로부터 제 2 USB 가능 장치(DWA와 같은)로 무선으로 전송함에 의해 계속된다. 방법(300)은 무선으로 전송된 제 2 데이터를 제 1 데이터 전송 타입을 갖는 제 3 데이터(등시 데이터와 같은)로 변환함에 의해 계속된다.The
도4를 참조하면, 도3의 블록(320)에서 사용될 수 있는 데이터를 변환하기 위한 방법의 흐름도가 도시되어 있다. 상기 방법은 블록(410)에서 다수의 등시 데이터 패킷들 각각에 대응하는 등시 데이터 패킷 길이를 결정함에 의해 시작된다. 방법은 블록(420)에서 각각의 등시 데이터 패킷이 대응하는 등시 데이터 패킷을 선행하도록 등시 데이터 패킷 길이들과 다수의 등시 데이터 패킷들을 결합함에 의해 계속된다.4, a flowchart of a method for converting data that can be used in
도5를 참조하면, 도3의 블록(340)에서 사용될 수 있는 데이터를 변환하기 위한 방법을 나타내는 흐름도가 도시되어 있다. 상기 방법은 다수의 등시 데이터 패킷들을 제 2 데이터(벌크 전송 타입을 갖는 등시 데이터와 같은)로부터 분리하는 것을 포함한다.Referring to FIG. 5, a flow diagram illustrating a method for transforming data that may be used in
대안적인 실시예에서, 도2를 다시 참조하면, 벌크 데이터 타입(214)을 포함하는 등시 데이터는 더 높은 우선순위로 마킹되어, 다른 데이터 전송 타입들보다 WUSB 트랜잭션들에서 더 이른 도달을 촉진할 수 있다. 예를들어, 도2에 도시된 벌크 데이터 전송(218)은 DWA 드라이버(124)에 제공된다. 위에서 설명된 바와 같이, 등시 데이터 전송 타입(210)을 갖는 등시 데이터 전송은 또한 DWA 드라이버(124)에 제공된다. 등시 데이터 전송(210)을 벌크 데이터 전송 타입(214)을 갖는 등시 데이터로 변환한 후에, DWA 드라이버(124)는 다른 데이터 전송 타입들보다 WUSB 데이터 전송(200)에서의 전달에 대하여 더 높은 우선순위를 갖도록 결과적인 등시 데이터(214)에 마킹한다. 벌크 데이터(220)와 벌크 데이터 전송 타입(214)을 갖는 등시 데이터 모두가 HWA 드라이버(116)로 제공된다. HWA 드라이버(116)는 등시 데이터(214)의 우선순위를 인식하고 이에 따라 벌크 데이터(220)에 앞선 DWA(120)로의 전달을 위하여 벌크 데이터 전송 타입(214)을 갖는 등시 데이터를 촉진한다.In an alternative embodiment, referring back to FIG. 2, isochronous data including
특정 양상들에 따르면, 유선 어뎁터 드라이버(예를들어, DWA 드라이버(124) 및/또는 HWA 드라이버(116))는 등시 데이터를 갖는 벌크 데이터가 다른 벌크 데이터보다 더 높은 우선순위가 주어지는 점을 확실히 할 수 있다. 예를들어, 유선 어뎁터들을 이용하는 경우에, 유선 어뎁터 드라이버들은 어떤 트래픽이 다음에 스케쥴되는지 결정하는 스케쥴링 기능을 수행할 수 있다. 따라서, 이러한 스케쥴링 동안에, 유선 어뎁터 드라이버들은 등시 데이터를 갖는 벌크 데이터 패킷들은 다른 벌크 데이터보다 먼저 전송되도록 스케쥴링함에 의해 우선순위지정(prioritization)을 구현할 수 있다.According to certain aspects, the wired adapter driver (e.g.,
특정 양상들에 따르면, 등시 데이터를 갖는 벌크 데이터 패킷들은 다른 큐(queue)들에 앞서 서비스되는 높은 우선 큐에 삽입시킴에 의해서 더 높은 우선순위가 주어질 수 있다. 특정 실시예들에 따르면, 우선순위지정을 추가로 확실히 하기 위해서, WUSB 호스트는 스케쥴링 알고리즘에서 등시 데이터를 갖는 벌크 데이터 패킷들의 우선순위지정을 또한 가능하게 할 수 있다.According to certain aspects, bulk data packets with isochronous data may be given higher priority by inserting into a high priority queue that is serviced before other queues. According to certain embodiments, to further ensure prioritization, the WUSB host may also enable prioritization of bulk data packets with isochronous data in the scheduling algorithm.
특정 실시예들에 따르면, 큐들의 우선순위가 하나 이상의 큐들로부터 전송을 실제로 지연시킴에 의해 달성될 수 있다. 예를들어, (통상의) 벌크 데이터 큐(등시 데이터 패킷들을 갖지 않는 벌크 데이터 전송에 이용되는)는 DWA 및/또는 HWA에서의 메모리 사용량을 모니터링함에 의해 때때로 전송이 제한될 수 있다. 메모리 사용량이 감지되는 이러한 경우에, 벌크 데이터 큐는 지연되어, 벌크 데이터 패킷들(잠재적으로는 등시 데이터를 갖는 작은 벌크 데이터 패킷들)의 전송을 위한 대역폭에서 높은 우선순위 큐를 제거할 수 있다.According to certain embodiments, the priority of the queues may be achieved by actually delaying transmission from one or more queues. For example, (normal) bulk data queues (used for bulk data transmissions with no isochronous data packets) may sometimes be restricted from transmission by monitoring memory usage in DWA and / or HWA. In this case where memory usage is detected, the bulk data queue may be delayed to remove the high priority queue in bandwidth for the transmission of bulk data packets (potentially small bulk data packets with isochronous data). .
데이터 전송들의 특정 타입들은 재배열되거나 분할되지 않을 수 있다. 따라서, 특정 실시예들의 경우에, DWA 드라이버는 벌크 데이터 큐에서 임의의 데이터 패킷을 바이패싱(bypassing)하지 않고 등시 데이터 패이로드(payload)를 모을 수 있다(예를들어, 바이패싱이 분할을 야기하는 경우에). 예를들어, 벌크 데이터 큐가 DWA에 의해 개시되는 데이터 패킷에 대한 전송 요청 헤더를 이전에 송신했다면, 일부 경우들에서, 이 트랜잭션은 DWA에 대한 유선 어뎁터 프로토콜에 따라 데이터 패이로드로부터 분할되지 않을 것이다. 따라서, 이런 경우에, 우선순위를 표시하는 제 1 마커 및 분할 능력을 표시하는 제 2 마커의 2개의 마커들이 DWA 드라이버로부터 HWA 드라이버로 패킷들을 전달하는데 이용될 수 있다.Certain types of data transmissions may not be rearranged or partitioned. Thus, in the case of certain embodiments, the DWA driver may collect isochronous data payloads without bypassing any data packets in the bulk data queue (e.g., bypassing may cause partitioning). If caused). For example, if the bulk data queue previously sent a transmission request header for a data packet initiated by DWA, in some cases this transaction will not be split from the data payload according to the wired adapter protocol for DWA. . Thus, in this case, two markers of the first marker indicating the priority and the second marker indicating the segmentation capability can be used to deliver packets from the DWA driver to the HWA driver.
특정 실시예들에 따르면, HWA 드라이버에 송신된 모든 벌크 데이터 전송은 벌크 데이터 전송에 대한 문맥(context) 정보를 갖는 I/O 요청 패킷(I/O request pachet: IRP)을 가질 수 있다. 특정 실시예들에 따르면, 우선순위 필드로 사용하기 위해 유보된 IRP 내의 특정 필드가 등시 데이터 패킷들을 갖는 벌크 데이터 전송들에 대한 높은 우선순위를 표시하도록 설정될 수 있다.According to certain embodiments, all bulk data transmissions sent to the HWA driver may have an I / O request pachet (IRP) with context information for the bulk data transmission. According to certain embodiments, a particular field in the reserved IRP for use as a priority field may be set to indicate a high priority for bulk data transmissions with isochronous data packets.
본 개시내용의 대안적 실시예들은 오디오 마이크로폰인 USB 가능 등시 장치를 갖는, 도1에 도시된 바와 같은 WUSB 시스템을 포함할 수 있다. 다른 실시예들은 실시간 데이터 전송 스트리밍을 지원하는 USB 가능 장치들을 포함할 수 있다. 또한, 대안적인 실시예에서, 도1에 도시된 WUSB 시스템 내의 USB 가능 호스트(110)는 네이티브(native) WUSB 가능 호스트를 선택적으로 포함할 수 있어서, HWA(112)에 대한 필요를 제거할 수 있다. 또한, 본 개시내용에 따른 다른 대안적인 실시예에서, 도1에 도시된 WUSB 시스템(100) 내의 USB 가능 등시 장치(128)는 네이티브 WUSB 가능 등시 장치를 포함하며, 따라서 DWA(120)에 대한 필요가 제거된다.Alternative embodiments of the present disclosure may include a WUSB system as shown in FIG. 1 with a USB capable isochronous device that is an audio microphone. Other embodiments may include USB capable devices that support real time data transfer streaming. Also, in an alternative embodiment, the USB
또한, 다른 대안적인 실시예에서, 도1의 UWB 시스템(100)은 DWA(120)으로부터 기원하고 HWA(112)로 등시 데이터를 무선으로 전송하기 위하여 벌크 데이터 전송을 이용하는 등시 데이터 전송들을 지원한다.Further, in another alternative embodiment, the
예시적인 패킷 변환Example Packet Conversion
위에서 설명된 바와 같이, 무선 통신의 특성 때문에, WUSB 등시 데이터 전송들은 유선 USB 등시 데이터 전송들과 비교하여 증가된 복잡성을 요할 수 있다. 그러나, 본 개시내용의 특정 실시예들은 무선 USB 벌크 데이터 전송 동작들을 이용하여, 호스트와 USB 장치 간에 등시 데이터 전송들을 가능하게 할 수 있다. As described above, due to the nature of wireless communication, WUSB isochronous data transmissions may require increased complexity compared to wired USB isochronous data transmissions. However, certain embodiments of the present disclosure may use isochronous USB bulk data transfer operations to enable isochronous data transfers between a host and a USB device.
여기서 제시된 기술들을 이용하면, 무선 USB 벌크 데이터 전송들이 호스트와 USB 가능 등시 장치 사이에서, 이들이 마치 유선 USB 접속을 통해 직접 접속된 것처럼, 등시 데이터 전송들을 달성하는데 이용될 수 있다.Using the techniques presented herein, wireless USB bulk data transfers can be used between the host and a USB capable isochronous device to achieve isochronous data transfers as if they were directly connected via a wired USB connection.
위에서 설명된 바와 같이, 특정 실시예들에서, 등시 전송 타입으로부터 벌크 데이터 전송 타입으로 데이터 변환을 준비하는 경우에, 데이터 패킷 길이들이 벌크 데이터 스트림 내에서 이들 각각의 등시 데이터 패킷들과 연접될 수 있다. 이 때, 등시 데이터 패킷들과 이들의 각 길이들은 무선 USB 벌크 데이터 전송을 이용하여 전송될 수 있다. 등시 데이터 패킷들이 벌크 데이터 전송에 내장된(embedded) 상태로 벌크 데이터 전송을 수신하는 경우에, 데이터 패킷 길이들은 수신 엔티티가 대응하는 등시 데이터 패킷들을 추출하는 것을 허용할 수 있다. 예를들어, 수신 엔티티는 데이터 패킷 길이를 판독할 수 있고 대응하는 데이터 패킷의 바이트들의 다음 수를 판독할 수 있다.As described above, in certain embodiments, when preparing for data conversion from an isochronous transport type to a bulk data transport type, data packet lengths may be concatenated with their respective isochronous data packets within the bulk data stream. Can be. At this time, the isochronous data packets and their respective lengths may be transmitted using wireless USB bulk data transmission. In the case of receiving a bulk data transmission with isochronous data packets embedded in the bulk data transmission, the data packet lengths may allow the receiving entity to extract the corresponding isochronous data packets. For example, the receiving entity can read the data packet length and read the next number of bytes of the corresponding data packet.
도6A 및 도6B는 어떻게 등시 데이터 패킷들이 벌크 데이터 전송에 적합한 데이터 패킷들로 변환될 수 있는지를 보여준다. 도6A는 데이터 패킷들(212)의 등시 데이터 전송(210)을 도시한다. 도시된 바와 같이, 각 데이터 패킷(212)은 대응하는 길이 L(예를들어, 데이터 패킷 D1은 길이 L1을 갖고, 데이터 패킷 D2는 길이 L2를 갖는 식으로)을 갖는다. 데이터 패킷들은 OUT 토큰(token)들을 갖는 통상의 등시 데이터 전송과 이에 뒤이은 데이터 패킷들(D1 내지 DN)을 이용하여, 예를들어 호스트 유선 어뎁터로 전송될 수 있다. 등시 데이터 전송들에 따라, 각 데이터 패킷의 길이가 변동될 수 있다.6A and 6B show how isochronous data packets can be converted into data packets suitable for bulk data transmission. 6A shows
도6B에 도시된 바와 같이, 등시 데이터 패킷들(212)(D1 내지 DN)은 연접된 데이터 패킷 길이들(216)을 갖는 벌크 데이터 스트림(214)으로 변환될 수 있다. 다음, 등시 데이터 패킷들(212)은 패킷들(예를들어, D')의 벌크 데이터 전송들을 통하여 전송될 수 있다. 벌크 데이터 전송들에 따라, 최대 데이터 패킷 길이(LMAX)가 가능한 경우, 각 전송에 대해 이용될 수 있다. 최대 데이터 패킷 길이보다 작은 패킷은 벌크 데이터 전송의 종점(end)을 신호할 수 있다. 따라서, 등시 데이터 패킷들(212)과 이에 대응하는 데이터 패킷 길이들을 전송하는데 요구되는 벌크 데이터 전송들의 수가 LMAX와 다양한 데이터 패킷들(212)의 실제 길이들에 따라 변동될 수 있다.As shown in FIG. 6B, isochronous data packets 212 (D1 through DN) may be converted to
특정 실시예들의 경우에, 수신 장치는 벌크 데이터 전송의 수신을 확인하기 위하여 ACK 패킷을 생성할 수 있다. 그러나, 데이터 전송의 등시 특성을 지원하기 위하여, 비트 에러들(예를들어, CRC와의 불일치(mismatch)로 표시되는 바와 같은) 을 갖는 패킷들의 재송신을 요구하는 규칙들이 무시될 수 있으며 패킷들의 일부 또는 기지의 패킷(예를들어 오디오 또는 비디오 데이터 전송들 중 묵음(silence)에 대응하는)이 이에 불구하고 처리될 수 있다.In the case of specific embodiments, the receiving device may generate an ACK packet to confirm receipt of the bulk data transmission. However, to support the isochronous nature of data transmission, rules requiring retransmission of packets with bit errors (eg, as indicated by mismatch with CRC) may be ignored and some of the packets may be ignored. Or a known packet (e.g. corresponding to silence of audio or video data transmissions) may be processed in spite of this.
위에서 설명한 바와 같이, 특정 실시예들에서, 데이터가 대역폭과 호스트 및 디바이스 간에 협상된 레이턴시 요구사항들을 만족시키기에 충분한 레이트에서 전송되는 것을 확실히 하기 위하여, 등시 데이터 패킷들을 갖는 벌크 데이터 전달들이 다른 벌크 데이터보다 더 높은 우선순위를 갖도록 마킹될 수 있다. 특정 실시예들에 따르면, HWA 드라이버로 송신된 모든 벌크 데이터 전송은 벌크 데이터 전송을 위한 문맥 정보를 갖는 I/O 요청 패킷(IRP)을 가질 수 있다. 특정 실시예들에 따르면, 우선순위 필드로 사용하기 위해 유보된 IRP 내의 특정 필드는 등시 데이터 패킷들을 갖는 벌크 데이터 전송들을 위한 높은 우선순위를 표시하도록 설정될 수 있다. 또한, 특정 실시예들에서, 다른 벌크 데이터가 등시 데이터 패킷들을 갖는 벌크 데이터 전송 내에 포함될 수 있다. 이러한 실시예들에서, 임의의 적절한 기술이 등시 데이터 패킷들과 다른 벌크 데이터 패킷들 사이를 구별하는데 이용될 수 있다.As described above, in certain embodiments, bulk data transfers with isochronous data packets may be used to ensure that data is transmitted at a rate sufficient to satisfy bandwidth and negotiated latency requirements between the host and the device. It may be marked to have a higher priority than data. According to certain embodiments, all bulk data transmissions sent to the HWA driver may have an I / O Request Packet (IRP) with contextual information for bulk data transmission. According to certain embodiments, a particular field in the IRP reserved for use as a priority field may be set to indicate a high priority for bulk data transmissions with isochronous data packets. Also, in certain embodiments, other bulk data may be included in the bulk data transmission with isochronous data packets. In such embodiments, any suitable technique may be used to distinguish between isochronous data packets and other bulk data packets.
도7은 본 개시내용의 특정 양상들에 따라, 무선 USB 벌크 데이터 전송에 따라, 호스트로부터 장치로 등시(OUT) 데이터 전송을 위한 예시적인 동작들을 나타낸다. 이러한 동작들은 호스트 장치에서(예를들어 DWA 드라이버, HWA 드라이버, 또는 HWA에 의해) 동작할 수 있는 동작들(602-604)과 USB 가능 장치에서(예를들어, DWA 또는 DWA의 스케줄러에 의해)을 포함한다.7 illustrates example operations for isochronous (OUT) data transfer from a host to a device, in accordance with wireless USB bulk data transfer, in accordance with certain aspects of the present disclosure. These operations can be operated on a host device (eg by a DWA driver, HWA driver, or HWA) (602-604) and on a USB capable device (eg by a scheduler of DWA or DWA). It includes.
602에서, 상기 동작들이 등시 데이터 패킷들을 획득함에 의해 시작된다. 등시 데이터 패킷들은 예를들어 (어플리케이션들로부터 등시 데이터 패킷들을 얻는 (DWA 드라이버의 상부에서 동작할 수 있는) 등시 데이터 드라이버에 의해 획득될 수 있다. 이러한 등시 데이터 패킷들은 예를들어 스트리밍 오디오(예를들어 음악 플레이어 또는 텔레포니(telephony) 어플리케이션) 또는 비디오에 대응될 수 있다. 604에서, 등시 데이터 패킷들 및 데이터 패킷 길이들은 무선 USB 벌크 데이터 전송을 이용하여 전송될 수 있다.At 602, the operations begin by obtaining isochronous data packets. Isochronous data packets can be obtained, for example, by an isochronous data driver (which can operate on top of a DWA driver) obtaining isochronous data packets from applications. Audio (eg, a music player or telephony application) or video .. At 604, isochronous data packets and data packet lengths may be transmitted using wireless USB bulk data transfer.
612에서, 벌크 데이터 전송이 수신되고 등시 데이터 패킷들이 이로부터 데이터 패킷 길이들을 이용하여 614에서 추출된다. 예를들어, 수신 장치는 데이터 패킷 길이를 판독할 수 있고 등시 데이터 패킷으로서 대응하는 다음 수의 바이트들을 추출하고 나머지 패킷들까지 반복하도록 이러한 프로세스를 반복할 수 있다. 616에서, 등시 데이터 패킷들이 (통상의) 유선 USB 등시 데이터 전송을 이용하여 장치로 전송된다.At 612, a bulk data transfer is received and isochronous data packets are extracted from 614 using data packet lengths therefrom. For example, the receiving device can read the data packet length and repeat this process to extract the corresponding next number of bytes as an isochronous data packet and to repeat the remaining packets. At 616, isochronous data packets are sent to the device using a (normal) wired USB isochronous data transfer.
도8은 호스트로부터 장치로, 도7의 동작들에 대응하는 무선 USB 벌크 데이터 전송 동작들에 따른 예시적인 등시(OUT) 데이터 전송의 다이어그램를 도시한다. 도시된 바와 같이, 등시 데이터 패킷들(212)의 스트림(210)은 등시 데이터 패킷들(212)과 이에 연접된 대응하는 데이터 패킷 길이들(216)을 갖는 벌크 데이터 전송 스트림(214)으로 변환될 수 있다. HWA(112)는 벌크 데이터 전송 스트림(214)을 DWA(120)으로 전송할 수 있다. DWA(120)에서, 등시 데이터 패킷들(212)이 추출되고 USB 가능 등시 데이터(128)로 전송될 수 있다. 예를들어, 도1에 도시된 DWA(120)의 스케줄러(136)가 무선 USB 벌크 데이터 전송을 통해 수신된 등시 데이터 패킷들을 버퍼링하고 이들을 협상된 레이트에 따라 USB 가능 등시 장치(128)로 전송할 수 있다.FIG. 8 shows a diagram of an exemplary isochronous (OUT) data transfer in accordance with wireless USB bulk data transfer operations corresponding to the operations of FIG. 7, from the host to the device. As shown,
도9는 본 개시내용의 특정 양상에 따라, 무선 USB 벌크 데이터 전송을 통해, 장치로부터 호스트로 등시(IN) 데이터 전송의 예시적인 동작들을 도시한다. 상기 동작들은 USB 가능 장치에서(예를들어, DWA 또는 DWA의 스케줄러에 의해) 수행될 수 있는 동작들(802-804)과 호스트 컴퓨터에서(예를들어 HWA에 의해) 수행될 수 있는 동작들(812-816)을 포함한다.9 illustrates example operations of isochronous (IN) data transfer from a device to a host, via wireless USB bulk data transfer, in accordance with certain aspects of the present disclosure. The operations may be performed on a USB capable device (e.g., by a DWA or a scheduler of the DWA), operations 802-804, and operations that may be performed on a host computer (e.g., by an HWA). 812-816).
동작들은 802에서, 유선 USB 등시 데이터 전송을 이용하여 등시 데이터 패킷들을 전송함에 의해 시작된다. 804에서, 등시 데이터 패킷들과 데이터 패킷 길이들이 무선 USB 벌크 데이터 전송을 이용하여 전송된다.The operations begin at 802 by sending isochronous data packets using wired USB isochronous data transfer. At 804, isochronous data packets and data packet lengths are sent using wireless USB bulk data transfer.
812에서, 벌크 데이터 전송이 수신되고 등시 데이터 패킷들이 814에서 데이터 패킷 길이들을 이용하여 이로부터 추출된다. 816에서, 등시 데이터 패킷들이 (통상의) 유선 USB 등시 데이터 전송을 이용하여 장치로 전송된다.At 812, a bulk data transmission is received and isochronous data packets are extracted therefrom using data packet lengths at 814. At 816, isochronous data packets are sent to the device using a (normal) wired USB isochronous data transfer.
도10은 도9의 동작들에 대응하는 무선 USB 벌크 데이터 전송 동작들을 통하여, 장치로부터 호스트로의 예시적인 등시(OUT) 데이터 전송의 다이어그램을 도시한다. 도시된 바와 같이, 장치(128)로부터의 등시 데이터 패킷들(212)의 스트림(210)은 등시 데이터 패킷들(212) 및 이에 연접된 대응 데이터 패킷 길이들을 갖는 벌크 데이터 전송 스트림(214)으로 변환될 수 있다. DWA(120)은 벌크 데이터 전송 스트림(214)을 HWA(112)으로 전송할 수 있다. HWA(112)는 HWA 드라이버 및 DWA 드라이버로 벌크 데이터 전송(214)을 전달할 수 있으며, 예를들어 DWA 드라이버는 호스트(120)로 전달될 등시 데이터 패킷들(212)을 추출할 수 있다. 등시 데이터 패킷들은 예를들어 USB 벌크 데이터 전송을 통해 수신된 등시 데이터 패킷들을 버퍼링하고 이들을 협상된 레이트에 따라 호스트(12)로 전송하는 스케줄러 어플리케이션에 의해 미터링된(metered) 방식으로 호스트(120)에 전달될 수 있다.FIG. 10 shows a diagram of an exemplary isochronous (OUT) data transfer from a device to a host, via wireless USB bulk data transfer operations corresponding to the operations of FIG. 9. As shown,
본 개시내용의 실시예들이 상세히 설명되었으나, 당업자는 다양한 변경들, 대치들 및 변화들을 본 개시내용의 사상과 범주를 벗어나지 않으면서 구현할 수 있을 것이다. 예를들어, 특정 실시예들이 특정 단계들 또는 절차들을 설명하나, 많은 대안적인 구현들이 가능하고 단순한 설계적 선택에 의해 가능할 수 있다. 일부 프로세스 단계들이 예를들어 기능, 목적, 표준에 대한 준수, 레거시 구조, 사용자 인터페이스 디자인 등을 고려하여 특정 설명과 상이한 순서로 실행될 수 있다. 개시된 실시예들이 UWB 시스템들을 참조하여 제공되었다. 그러나, 개시된 실시예들의 구현은 특정 무선 주파수 시스템으로 국한되는 것은 아니다. 또한, 이들 및 다른 실시예들로부터 몇 개의 상이한 이점들이 존재한다. 무선 USB 시스템들에서 벌크 데이터 전송을 이용하여 등시 데이터를 전송하기 위한 효율적이고 가격효율적인 방법 및 시스템을 제공하는 것에 부가하여, 개시된 방법 및 시스템은 DWA 및 이의 장치 드라이버에 대한 수정에 의해 용이하게 구현될 수 있다. 또한, 장치 드라이버에서 등시 데이터 전송을 벌크 데이터 전송 타입으로 변환함으로써, 추가적인 엔드포인트들에 대한 필요 및/또는 HWA에서의 핸들링이 제거될 수 있다. 또한, DWA는 DWA 자체 내에서 USB 레벨의 프레임 시작 동조화와 같은 임의의 다른 타이밍 메커니즘과 독립적으로 전달 동조화를 미터링할 수 있다.Although embodiments of the present disclosure have been described in detail, those skilled in the art will be able to implement various changes, substitutions and changes without departing from the spirit and scope of the disclosure. For example, although specific embodiments describe certain steps or procedures, many alternative implementations are possible and may be possible by simple design choices. Some process steps may be executed in a different order than the specific description, for example, taking into account functionality, purpose, compliance with standards, legacy structures, user interface design, and the like. The disclosed embodiments have been provided with reference to UWB systems. However, implementations of the disclosed embodiments are not limited to specific radio frequency systems. In addition, several different advantages exist from these and other embodiments. In addition to providing an efficient and cost effective method and system for transferring isochronous data using bulk data transfer in wireless USB systems, the disclosed methods and systems are readily implemented by modifications to the DWA and its device drivers. Can be. In addition, by converting the isochronous data transfer to the bulk data transfer type in the device driver, the need for additional endpoints and / or handling in the HWA may be eliminated. In addition, the DWA can meter transfer synchronization independently of any other timing mechanism, such as USB-level frame start synchronization within the DWA itself.
특정 실시예들에 따라서, 등시 엔드포인트에 의해 정의된 트래픽 파라미터들과 서비스 품질(QoS)에 따라 유선 어뎁터가 등시 데이터 패킷들의 전송을 미터링할 수 있다.According to certain embodiments, the wired adapter may meter the transmission of isochronous data packets according to traffic parameters and quality of service (QoS) defined by the isochronous endpoint.
위에서 설명된 방법들의 다양한 동작들은 대응하는 기능들을 수행할 수 있는 임의의 적절한 수단에 의해 수행될 수 있다. 상기 수단은 회로, ASIC(application specific integrated circuit), 또는 프로세서를 포함하는 다양한 하드웨어 및/E는 소프트웨어 컴포넌트(들) 및/또는 모듈(들)을 포함할 수 있으나 이로 한정되는 것은 아니다. 일반적으로, 도면에 설명된 동작들의 경우에, 이들 동작들은 유사한 도면번호를 갖는 대응하는 상대되는 수단-기능(means-plus-function) 컴포넌트들에 의해 수행될 수 있다. 예를들어, 도3, 도4, 도5, 도7 및 도9에 각각 도시된 블록들(300, 320,340, 600 및 800)이 대응하는 회로 블록들에 의해 수행될 수 있다.Various operations of the methods described above may be performed by any suitable means capable of performing the corresponding functions. The means and various hardware and / E, including circuitry, application specific integrated circuit (ASIC), or processor may include, but are not limited to, software component (s) and / or module (s). In general, in the case of the operations described in the figures, these operations may be performed by corresponding relative means-plus-function components having similar reference numerals. For example, blocks 300, 320, 340, 600, and 800 shown in FIGS. 3, 4, 5, 7, and 9, respectively, may be performed by corresponding circuit blocks.
사용된 용어 "결정하다(determining)"은 넓은 다양한 동작들을 포함한다. 예를들어, "결정하다"는 계산, 커퓨팅, 처리, 유도, 조사, 룩업(예를들어 표, 데이터베이스 또는 다른 데이터 구조를 룩업), 확인 등을 포함할 수 있다. 또한, "결정"은 수신(예를들어 정보를 수신), 평가(예를들어, 메모리 내의 데이터를 평가) 등을 포함할 수 있다. 또한, "결정"은 해결, 선택, 설정 등을 포함할 수 있다.The term “determining” used encompasses a wide variety of operations. For example, “determining” may include calculation, computing, processing, derivation, lookup, lookup (eg, lookup of a table, database or other data structure), verification, and the like. In addition, “determining” may include receiving (eg, receiving information), evaluating (eg, evaluating data in memory), and the like. Also, “determining” may include resolving, selecting, setting and the like.
위에서 설명된 방법들의 다양한 동작들이 다양한 하드웨어 및/또는 소프트웨어 컴포넌트(들), 회로, 및/또는 모듈(들)과 같은 동작들을 수행할 수 있는 임의의 적절한 수단에 의해 수행될 수 있다. 일반적으로, 도면에 도시된 임의의 동작들은 상기 동작들을 수행할 수 있는 대응하는 기능 수단들에 의해 수행될 수 있다.Various operations of the methods described above may be performed by any suitable means capable of performing operations such as various hardware and / or software component (s), circuits, and / or module (s). In general, any of the operations shown in the figures may be performed by corresponding functional means capable of performing the operations.
본 개시내용 및 청구범위와 관련하여 설명된 다양한 예시적인 논리 블록들, 모듈들, 및 회로들은 범용 프로세서; 디지털 신호 처리기(DSP), 주문형 집적회로( ASIC), 필드 프로그램어블 게이트 어레이(FPGA), 또는 다른 프로그램어블 논리 장치(PLD), 이산 게이트 또는 트랜지스터 논리, 이산 하드웨어 컴포넌트들, 또는 이러한 기능들을 구현하도록 설계된 것들의 조합을 통해 구현 또는 수행될 수 있다. 범용 프로세서는 마이크로 프로세서 일 수 있지만; 대안적 실시예에서, 이러한 프로세서는 상업적으로 이용가능한 프로세서, 제어기, 마이크로 제어기, 또는 상태 머신일 수 있다. 프로세서는 예를 들어, DSP 및 마이크로프로세서, 복수의 마이크로프로세서들, DSP 코어와 결합된 하나 이상의 마이크로 프로세서, 또는 이러한 구성들의 조합과 같이 계산 장치들의 조합으로서 구현될 수 있다. Various example logical blocks, modules, and circuits described in connection with the present disclosure and claims may include a general purpose processor; To implement digital signal processors (DSPs), application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), or other programmable logic devices (PLDs), discrete gate or transistor logic, discrete hardware components, or such functions. It can be implemented or carried out through a combination of those designed. A general purpose processor may be a microprocessor; In alternative embodiments, such a processor may be a commercially available processor, controller, microcontroller, or state machine. A processor may be implemented as a combination of computing devices, such as, for example, a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or a combination of such configurations.
본 개시내용과 관련하여 상술한 방법의 단계들 및 알고리즘은 하드웨어에서, 프로세서에 의해 실행되는 소프트웨어 모듈에서, 또는 이들의 조합에 의해 직접 구현될 수 있다. 소프트웨어 모듈은 본 기술분야에서 공지된 임의의 저장 매체의 형태 내에 상주할 수 있다. 사용가능한 저장 매체의 일부 예들에는 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 플래쉬 메모리, 전기적 프로그램어블 ROM(EPROM), 전기적 소거가능한 프로그램어블 ROM(EEPROM), 레지스터들, 하드디스크, 소거가능 디스크, CD-ROM 등이 포함된다. 소프트웨어 모듈은 단일 명령, 또는 다수의 명령들을 포함할 수 있으며, 수개의 상이한 코드 세그먼트들에 걸쳐서, 상이한 프로그램 사이에, 그리고 다수의 저장 매체에 걸쳐서 분산될 수 있다. 저장 매체는 프로세서가 저장 매체로부터 정보를 판독하고, 정보를 저장 매체에 기록할 수 있도록 프로세서에 연결될 수 있다. 대안적으로, 저장 매체는 프로세서에 통합될 수 있다.The steps and algorithms of the method described above in connection with the present disclosure may be implemented directly in hardware, in a software module executed by a processor, or in a combination thereof. The software module may reside in the form of any storage medium known in the art. Some examples of usable storage media include random access memory (RAM), read-only memory (ROM), flash memory, electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), registers, hard disk, erase Capable disks, CD-ROMs, and the like. A software module can include a single instruction, or multiple instructions, and can be distributed across several different code segments, between different programs, and across multiple storage media. The storage medium can be coupled to the processor such that the processor can read information from the storage medium and write the information to the storage medium. Alternatively, the storage medium may be integrated into the processor.
개시된 방법들은 설명된 방법을 달성하기 위한 하나 이상의 단계들 또는 동작들을 포함한다. 방법 단계들 및/또는 동작들은 청구범위의 범주를 벗어남 없이 다른 것과 교환될 수 있다. 달리 말하면, 단계들 또는 동작들의 특정 순서가 특정되지 않는 한, 특정 단계들 및/또는 동작들의 순서 및/또는 사용은 청구범위의 범주를 벗어남 없이 수정될 수 있다.The disclosed methods include one or more steps or actions for achieving the described method. Method steps and / or actions may be interchanged with one another without departing from the scope of the claims. In other words, unless a specific order of steps or actions is specified, the order and / or use of specific steps and / or actions may be modified without departing from the scope of the claims.
설명된 기능들은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 조합을 통해 구현될 수 있다. 소프트웨어로 구현되는 경우, 상기 기능들은 컴퓨터 판독가능한 매체 상에 하나 이상의 명령들 또는 코드로서 저장될 수 있다. 저장 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용한 매체일 수 있다. 예를 들어, 이러한 컴퓨터 판독가능한 매체는 RAM, ROM, EEPROM, CD-ROM, 또는 명령 또는 데이터 구조의 형태로 요구되는 프로그램 코드 수단을 저장하는데 사용될 수 있고, 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체를 포함하지만, 이들로 제한되는 것은 아니다. 여기서 사용되는 disk 및 disc은 컴팩트 disc(CD), 레이저 disc , 광 disc, DVD, 플로피 disk, 및 블루-레이? disc를 포함하며, 여기서 disk는 데이터를 자기적으로 재생하지만, disc은 레이저를 통해 광학적으로 데이터를 재생한다.The described functions can be implemented through hardware, software, firmware, or a combination thereof. If implemented in software, the functions may be stored as one or more instructions or code on a computer-readable medium. The storage medium may be any available media that can be accessed by a computer. For example, such computer readable media can be used to store required program code means in the form of RAM, ROM, EEPROM, CD-ROM, or instructions or data structures, and any other that can be accessed by a computer. Include but are not limited to media. The disks and discs used here are compact discs (CDs), laser discs, optical discs, DVDs, floppy disks, and Blu-ray? a disc, where the disk magnetically reproduces the data, while the disc optically reproduces the data via a laser.
따라서, 특정 양상들은 제시된 동작들을 수행하기 위한 컴퓨터 프로그램 물건을 포함할 수 있다. 예를들어, 이러한 컴퓨터 프로그램 물건은 저장된(및/또는 인코딩된) 명령들을 갖는 컴퓨터 판독가능 매체를 포함할 수 있으며, 상기 명령들은 설명된 동작들을 수행하는 하나 이상의 프로세서들에 의해 실행가능하다. 특정 양상들에서, 컴퓨터 프로그램 물건은 패키징 물질을 포함할 수 있다.Thus, certain aspects may comprise a computer program product for performing the presented operations. For example, such computer program product may include a computer readable medium having stored (and / or encoded) instructions, which instructions may be executable by one or more processors to perform the described operations. In certain aspects, the computer program product may include a packaging material.
소프트웨어 또는 명령들은 또한 전송 매체를 통해 전송될 수 있다. 예를들어, 소프트웨어가 웹사이트, 서버, 또는 다른 원격 소스로부터 동축 케이블, 광섬유 케이블, 연선, 디지털 가입자 라인(DSL), 또는 적외선, 라디오, 및 마이크로웨이브와 같은 무선 기술들을 통해 전송되는 경우, 이러한 동축 케이블, 광섬유 케이블, 연선, DSL, 또는 적외선, 라디오, 및 마이크로웨이브와 같은 무선 기술들이 전송 매체의 정의 내에 포함될 수 있다.The software or commands may also be transmitted via a transmission medium. For example, if the software is transmitted from a website, server, or other remote source via coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave Coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave may be included within the definition of transmission medium.
또한, 설명된 방법들 및 기술들을 수행하기 위한 모듈들 및/또는 다른 적ㅈ러한 수단들이 사용자 단말 및/또는 이용가능한 기지국에 의해 다운로딩 및/또는 그렇지 않은 경우에 획득될 수 있음이 이해되어야 한다. 예를들어, 이러한 장치는 설명된 방법들을 수행하기 위한 수단의 전송을 용이하게 하는 서버에 연결될 수 있다. 대안적으로, 사용자 단말 및/또는 기지국이 저장 수단을 장치에 커플링 또는 제공하는 경우에 다양한 방법들을 획득할 수 있도록 설명된 다양한 방법들이 저장 수단(예를들어, RAM, ROM, 컴팩트 디스크(CD) 또는 플로피 디스크 등과 같은 물리적 저장 매체)을 통해 제공될 수 있다. 또한, 설명된 방법들 및 기술들을 장치에 제공하기 위한 임의의 다른 적절한 기술이 이용될 수 있다.In addition, it should be understood that modules and / or other suitable means for performing the described methods and techniques may be obtained by a user terminal and / or an available base station and / or otherwise obtained. . For example, such an apparatus may be connected to a server that facilitates the transfer of means for performing the described methods. Alternatively, various methods described may be used to obtain various methods in the case where the user terminal and / or base station couples or provides the storage means to the apparatus, for example storage means (e.g., RAM, ROM, compact disc (CD). Or a physical storage medium such as a floppy disk). In addition, any other suitable technique for providing the described methods and techniques to an apparatus can be used.
청구범위가 설명된 정확한 구성 및 컴포넌트들로 한정되지 않음이 이해되어야 한다. 다양한 수정들, 변경들 및 변화들이 청구범위를 벗어남 없이 위에서 설명된 방법들 및 장치의 배치, 동작 및 상세 내에서 가능할 수 있다.It is to be understood that the claims are not limited to the precise configuration and components described. Various modifications, changes and variations may be possible within the arrangement, operation and details of the methods and apparatus described above without departing from the claims.
Claims (71)
USB 가능(enabled) 장치상의 엔드포인트(endpoint)로 등시(isochronous) 데이터 패킷들을 제공하기 위한 요청을 호스트로부터 수신하는 단계;
상기 등시 데이터 패킷들 각각에 대한 패킷 길이들을 결정하는 단계;
상기 등시 데이터 패킷들 및 상기 패킷 길이들을 벌크 데이터 전송 타입(bulk data transfer type)으로 연접(concatenate)하는 단계 ― 각각의 등시 데이터 패킷은 자신의 대응하는 패킷 길이와 연접됨 ―;
상기 벌크 데이터 전송 타입을 상기 USB 가능 장치로 무선으로 전송하는 단계;
상기 등시 데이터 패킷들을 상기 벌크 데이터 전송 타입으로부터 추출하는 단계; 및
상기 등시 데이터 패킷들을 상기 엔드포인트로 제공하는 단계를 포함하는,
데이터 전송 방법.As a method for transmitting data,
Receiving a request from a host to provide isochronous data packets to an endpoint on a USB enabled device;
Determining packet lengths for each of the isochronous data packets;
Concatenating the isochronous data packets and the packet lengths into a bulk data transfer type, wherein each isochronous data packet is concatenated with its corresponding packet length;
Wirelessly transmitting the bulk data transfer type to the USB capable device;
Extracting the isochronous data packets from the bulk data transmission type; And
Providing the isochronous data packets to the endpoint;
Data transfer method.
상기 엔드포인트로의 전송을 위해 등시 데이터 패킷 각각을 미터링(metering)하는 단계를 더 포함하며, 상기 미터링하는 단계는 등시 스케줄러에 의해 수행되는,
데이터 전송 방법.The method of claim 1,
Metering each isochronous data packet for transmission to the endpoint, wherein the metering is performed by an isochronous scheduler,
Data transfer method.
등시 데이터 패킷 각각에 대한 패킷 길이를 결정하고, 각각의 등시 데이터 패킷이 자신의 대응하는 패킷 길이와 연접되는 방식으로 등시 데이터 패킷들을 패킷 길이들과 연접함으로써 등시 데이터 패킷들을 벌크 전송 타입으로 변환(convert)하도록 구성된 제1 변환 모듈을 포함하는 장치; 및
상기 장치로부터 USB 가능 장치로 상기 벌크 전송 타입을 무선으로 전송하도록 적응된 전송기 ― 상기 벌크 전송 타입은 제1 우선순위에 따라 전송됨 ― 를 포함하며,
상기 전송기는 상기 데이터 패킷들이 등시 데이터를 포함하지 않는 경우에는 제2 우선순위에 따라 데이터 패킷들을 상기 USB 가능 장치로 무선으로 전송하도록 적응되며,
상기 제1 우선순위 및 상기 제2 우선순위는 상이한,
데이터를 전송하기 위한 무선 USB 시스템.Wireless USB system for transferring data,
Determine the packet length for each isochronous data packet and bulk the isochronous data packets by concatenating the isochronous data packets with the packet lengths in such a manner that each isochronous data packet is concatenated with its corresponding packet length. An apparatus comprising a first conversion module configured to convert to; And
A transmitter adapted to wirelessly transfer the bulk transfer type from the device to a USB capable device, wherein the bulk transfer type is transmitted according to a first priority;
The transmitter is adapted to wirelessly transmit data packets to the USB enabled device according to a second priority if the data packets do not contain isochronous data,
Wherein the first priority and the second priority are different,
Wireless USB system for transferring data.
상기 USB 가능 장치는 호스트 유선 어뎁터 및 장치 유선 어뎁터 중 하나를 포함하는,
데이터를 전송하기 위한 무선 USB 시스템.11. The method of claim 10,
The USB capable device includes one of a host wired adapter and a device wired adapter,
Wireless USB system for transferring data.
상기 장치는 데이터 패킷들을 우선순위화 하도록 구성된 모듈을 포함하는,
데이터를 전송하기 위한 무선 USB 시스템.11. The method of claim 10,
The apparatus comprises a module configured to prioritize data packets,
Wireless USB system for transferring data.
벌크 전송 데이터 패킷들 내에 등시 데이터 패킷들을 임베딩(embed)하기 위한 수단; 및
상기 벌크 전송 데이터 패킷들을 무선으로 전송하기 위한 수단을 포함하며,
상기 벌크 전송 데이터 패킷들은 등시 데이터 패킷들을 포함하지 않는 다른 벌크 전송 데이터 패킷들에 비해 보다 높은 우선순위에 따라 전송되며,
상기 임베딩하기 위한 수단은
상기 등시 데이터 패킷들 각각에 대응하는 등시 데이터 패킷 길이을 결정하고; 그리고
상기 벌크 전송 데이터 패킷들 내에 상기 등시 데이터 패킷 길이들 각각에 대한 표시를 포함시키도록 구성되는,
데이터 전송 장치. An apparatus for transmitting data,
Means for embedding isochronous data packets within bulk transport data packets; And
Means for wirelessly transmitting the bulk transmitted data packets,
The bulk transport data packets are transmitted at a higher priority than other bulk transport data packets that do not include isochronous data packets,
Means for embedding
Determine an isochronous data packet length corresponding to each of the isochronous data packets; And
And include an indication for each of the isochronous data packet lengths in the bulk transport data packets.
Data transmission device.
USB 등시 데이터 전송 프로토콜을 사용하여 상기 등시 데이터 패킷들을 수신하기 위한 수단을 더 포함하는,
데이터 전송 장치. 60. The method of claim 59,
Means for receiving the isochronous data packets using a USB isochronous data transfer protocol,
Data transmission device.
상기 벌크 전송 데이터 패킷들을 무선으로 전송하기 위한 수단은 USB 벌크 데이터 전송 프로토콜을 사용하여 상기 벌크 전송 데이터 패킷들을 전송하도록 구성되는,
데이터 전송 장치. 60. The method of claim 59,
Means for wirelessly transmitting the bulk transmit data packets is configured to transmit the bulk transmit data packets using a USB bulk data transfer protocol,
Data transmission device.
상기 임베딩하기 위한 수단은 상기 벌크 전송 데이터 패킷들을 우선순위화하는,
데이터 전송 장치. 60. The method of claim 59,
The means for embedding prioritizes the bulk transmitted data packets,
Data transmission device.
상기 임베딩하기 위한 수단은 상기 벌크 전송 데이터 패킷들을 고 우선순위 큐에 기록함으로써 우선순위화하고, 상기 고 우선순위 큐는 등시 데이터 패킷들을 포함하지 않는 벌크 전송 데이터 패킷들을 포함하는 큐들의 우선순위에 비해 높은 우선순위를 가지는,
데이터 전송 장치. 63. The method of claim 62,
The means for embedding prioritizes by writing the bulk transmit data packets to a high priority queue, the high priority queue at priority of queues containing bulk transmit data packets that do not contain isochronous data packets. Has a higher priority than
Data transmission device.
상기 임베딩하기 위한 수단은 상기 벌크 전송 데이터 패킷들에 대한 고 우선순위를 표시하는 값으로 입력/출력 요청 패킷에 우선순위 표시자를 설정함으로써 상기 벌크 전송 데이터 패킷들을 우선순위화하는,
데이터 전송 장치. 63. The method of claim 62,
The means for embedding prioritizes the bulk transmitted data packets by setting a priority indicator on an input / output request packet to a value indicating a high priority for the bulk transmitted data packets.
Data transmission device.
벌크 데이터 패킷들 및 상기 벌크 데이터 패킷들과 연관된 우선순위 표시자를 수신하기 위한 수단 ― 상기 우선순위 표시자는 등시 데이터 패킷들을 포함하지 않는 제2 벌크 데이터 패킷들에 비해 등시 데이터 패킷들을 포함하는 제1 벌크 데이터 패킷들에 대해 보다 높은 우선순위를 표시함 ―;
상기 제1 벌크 데이터 패킷들로부터 상기 등시 데이터 패킷들을 추출하기 위한 수단; 및
상기 등시 데이터 패킷들을 USB 가능 장치로 전송하기 위한 수단을 포함하며,
상기 추출하기 위한 수단은
특정 등시 데이터 패킷의 길이를 대응하는 제1 벌크 데이터 패킷 내에 포함된 길이 표시자에 기반하여 결정하고; 그리고
상기 대응하는 제1 벌크 데이터 패킷으로부터 상기 특정 등시 데이터 패킷의 길이에 대응하는 수의 데이터 바이트들을 추출하도록 구성되는,
장치.As an apparatus,
Means for receiving bulk data packets and a priority indicator associated with the bulk data packets, the priority indicator including first isochronous data packets compared to second bulk data packets that do not include isochronous data packets. Indicate a higher priority for one bulk data packets;
Means for extracting the isochronous data packets from the first bulk data packets; And
Means for sending the isochronous data packets to a USB capable device,
The means for extracting
Determine a length of a particular isochronous data packet based on a length indicator included in the corresponding first bulk data packet; And
And extract the number of data bytes corresponding to the length of the particular isochronous data packet from the corresponding first bulk data packet,
Device.
상기 전송하기 위한 수단은 USB 등시 데이터 전송 프로토콜을 사용하여 상기 등시 데이터 패킷들을 전송하도록 구성되는,
장치.66. The method of claim 65,
The means for transmitting is configured to transmit the isochronous data packets using a USB isochronous data transfer protocol,
Device.
상기 수신하기 위한 수단은 USB 벌크 데이터 전송 프로토콜을 사용하여 상기 벌크 데이터 패킷들을 수신하도록 구성되는,
장치.66. The method of claim 65,
The means for receiving is configured to receive the bulk data packets using a USB bulk data transfer protocol,
Device.
상기 전송하기 위한 수단은 상기 USB 가능 장치로의 전송을 위해 상기 등시 데이터 패킷들을 미터링(meter)하도록 구성되는,
장치.66. The method of claim 65,
The means for transmitting is configured to meter the isochronous data packets for transmission to the USB enabled device,
Device.
상기 전송하기 위한 수단은 등시 엔드포인트에 의해 정의되는 트래픽 파라미터들 및 서비스 품질 파라미터에 따라 상기 등시 데이터 패킷들을 미터링하도록 구성되는,
장치.69. The method of claim 68,
The means for transmitting is configured to meter the isochronous data packets according to traffic parameters and quality of service parameters defined by the isochronous endpoint,
Device.
상기 명령들은
한 세트의 등시 패킷들의 패킷 길이들을 결정하고;
등시 패킷 각각을 자신의 대응하는 패킷 길이와 연접시키고;
연접된 등시 패킷들 및 패킷 길이들을 USB 프로토콜에 따라 제1 벌크 데이터 패킷들로 연접시키고; 그리고
상기 제1 벌크 데이터 패킷들을 포함하는 벌크 데이터 패킷들을 다른 장치로 무선으로 전송하기 위한 무선 전송을 개시하도록 실행될 수 있으며,
상기 제1 벌크 데이터 패킷들은 등시 데이터 패킷들을 포함하지 않는 제2 벌크 데이터 패킷들에 비해 보다 높은 우선순위에 따라 전송되는,
컴퓨터 판독가능한 매체. A computer readable medium encoded with instructions,
The instructions
Determine packet lengths of a set of isochronous packets;
Concatenate each isochronous packet with its corresponding packet length;
Concatenate concatenated isochronous packets and packet lengths into first bulk data packets according to the USB protocol; And
May be executed to initiate a wireless transmission for wirelessly transmitting bulk data packets including the first bulk data packets to another device,
Wherein the first bulk data packets are transmitted according to a higher priority than second bulk data packets that do not include isochronous data packets,
Computer readable medium.
상기 명령들은
벌크 데이터 패킷들을 수신하고; 그리고
수신된 벌크 데이터 패킷들에 임베딩된 패킷 길이들을 판독함으로써 USB 가능 장치로의 전달을 위해 수신된 벌크 데이터 패킷들로부터 등시 데이터 패킷들을 추출하도록 실행될 수 있으며,
패킷 길이는 연접된 등시 데이터 패킷의 길이를 표시(denote)하는,
컴퓨터 판독가능한 매체. A computer readable medium encoded with instructions,
The instructions
Receive bulk data packets; And
Can be executed to extract isochronous data packets from received bulk data packets for delivery to a USB capable device by reading the packet lengths embedded in the received bulk data packets,
Packet length indicates the length of concatenated isochronous data packets,
Computer readable medium.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US2696908P | 2008-02-07 | 2008-02-07 | |
US61/026,969 | 2008-02-07 | ||
US12/366,591 | 2009-02-05 | ||
US12/366,591 US20100198999A1 (en) | 2009-02-05 | 2009-02-05 | Method and system for wireless usb transfer of isochronous data using bulk data transfer type |
PCT/US2009/033478 WO2009100391A2 (en) | 2008-02-07 | 2009-02-06 | Method and system for wireless usb transfer of isochronous data using bulk data transfer type |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20100107524A KR20100107524A (en) | 2010-10-05 |
KR101188772B1 true KR101188772B1 (en) | 2012-10-11 |
Family
ID=40952724
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020107019889A KR101188772B1 (en) | 2008-02-07 | 2009-02-06 | Method and system for wireless usb transfer of isochronous data using bulk data transfer type |
Country Status (6)
Country | Link |
---|---|
EP (1) | EP2252937A2 (en) |
JP (1) | JP5185399B2 (en) |
KR (1) | KR101188772B1 (en) |
CN (1) | CN101939734A (en) |
TW (1) | TW200947210A (en) |
WO (1) | WO2009100391A2 (en) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140033562A (en) * | 2012-08-31 | 2014-03-19 | 삼성전자주식회사 | Data transmitting apparatus and method for transmitting data |
US10067898B2 (en) * | 2015-02-25 | 2018-09-04 | Qualcomm Incorporated | Protocol adaptation layer data flow control for universal serial bus |
CN106294265A (en) * | 2015-05-19 | 2017-01-04 | 深圳市超越自然多媒体有限公司 | A kind of audio data transmission method between USB sound card and smart machine |
US20170286356A1 (en) * | 2016-04-01 | 2017-10-05 | Intel Corporation | Enhanced quality of service mechanism for ma usb protocol |
TWI714055B (en) | 2019-04-16 | 2020-12-21 | 瑞昱半導體股份有限公司 | Data transmission method and data transmission system |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003218903A (en) | 2002-01-28 | 2003-07-31 | Alpine Electronics Inc | Bus bridge device |
JP2003533943A (en) | 2000-05-15 | 2003-11-11 | トムソン ライセンシング ソシエテ アノニム | Method for transmitting isochronous data through a wireless network |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3653051B2 (en) * | 2002-02-20 | 2005-05-25 | Necアクセステクニカ株式会社 | Data transfer method, system and program by protocol conversion |
JP2006238209A (en) * | 2005-02-25 | 2006-09-07 | Fujitsu Ltd | Hub apparatus and hub system |
JP4541949B2 (en) * | 2005-03-31 | 2010-09-08 | 富士通株式会社 | Data transfer device |
JP2008153898A (en) * | 2006-12-15 | 2008-07-03 | Sony Corp | Communication system, communication device and communication method, and computer program |
CN101237445B (en) * | 2007-01-30 | 2013-01-02 | 世意法(北京)半导体研发有限责任公司 | Buffer management for wireless USB synchronization at end point |
-
2009
- 2009-02-06 TW TW98104008A patent/TW200947210A/en unknown
- 2009-02-06 JP JP2010546077A patent/JP5185399B2/en not_active Expired - Fee Related
- 2009-02-06 WO PCT/US2009/033478 patent/WO2009100391A2/en active Application Filing
- 2009-02-06 KR KR1020107019889A patent/KR101188772B1/en not_active IP Right Cessation
- 2009-02-06 CN CN2009801042032A patent/CN101939734A/en active Pending
- 2009-02-06 EP EP09707315A patent/EP2252937A2/en not_active Withdrawn
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003533943A (en) | 2000-05-15 | 2003-11-11 | トムソン ライセンシング ソシエテ アノニム | Method for transmitting isochronous data through a wireless network |
JP2003218903A (en) | 2002-01-28 | 2003-07-31 | Alpine Electronics Inc | Bus bridge device |
Also Published As
Publication number | Publication date |
---|---|
WO2009100391A3 (en) | 2009-12-30 |
KR20100107524A (en) | 2010-10-05 |
JP5185399B2 (en) | 2013-04-17 |
JP2011512738A (en) | 2011-04-21 |
WO2009100391A2 (en) | 2009-08-13 |
TW200947210A (en) | 2009-11-16 |
EP2252937A2 (en) | 2010-11-24 |
CN101939734A (en) | 2011-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20100198999A1 (en) | Method and system for wireless usb transfer of isochronous data using bulk data transfer type | |
JP5420689B2 (en) | Enhanced wireless USB protocol and hub | |
KR101188772B1 (en) | Method and system for wireless usb transfer of isochronous data using bulk data transfer type | |
US20100188980A1 (en) | Explicit Flow Control in a Gigabit/10 Gigabit Ethernet System | |
US20070047443A1 (en) | Channelized flow control | |
US7493423B2 (en) | Data transfer control device and electronic instrument | |
JP6276392B2 (en) | Method and apparatus for processing signaling data between layers in IP-based digital broadcasting system | |
JP2005517327A (en) | Method and apparatus for concatenating and piggybacking data packets | |
US10067898B2 (en) | Protocol adaptation layer data flow control for universal serial bus | |
CN103348647A (en) | Mechanisms to improve the transmission control protocol performance in wireless networks | |
US8111623B2 (en) | Node, method and system for control of communication including a buffer | |
CA2517426C (en) | Pre-empting low-priority traffic with high-priority traffic | |
CN112328523B (en) | Method, device and system for transmitting double-rate signal | |
CN102821082A (en) | Data transmission method, device and system | |
WO2001075618A3 (en) | Asynchronous input/output interface protocol | |
US20010043567A1 (en) | Efficient full duplex simultaneous message transfer | |
US7688718B2 (en) | Variable-sized packet support for enhanced synchronous connection oriented links over a USB interface | |
US9160338B2 (en) | Adaptive interface for coupling FPGA modules | |
TWI689820B (en) | Usb transmission system, usb device and host capable of usb transmission | |
US20070274209A1 (en) | Prioritizing data in a wireless transmission | |
JP2008544623A (en) | Method and apparatus for data transmission using clock domain | |
WO2017012415A1 (en) | Packet slicing method and apparatus, and computer-readable medium | |
CN103631740A (en) | Method and circuit for achieving self-adaptation byte alignment transmission of SD card under SPI mode | |
CN117251398A (en) | Processing system, related integrated circuit, system and method | |
CN115757250A (en) | Bus conversion system and method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
LAPS | Lapse due to unpaid annual fee |