KR20150124796A - A method and apparatus for controlling data transmitting for universal serial bus communication in a radio environment - Google Patents
A method and apparatus for controlling data transmitting for universal serial bus communication in a radio environment Download PDFInfo
- Publication number
- KR20150124796A KR20150124796A KR1020140051814A KR20140051814A KR20150124796A KR 20150124796 A KR20150124796 A KR 20150124796A KR 1020140051814 A KR1020140051814 A KR 1020140051814A KR 20140051814 A KR20140051814 A KR 20140051814A KR 20150124796 A KR20150124796 A KR 20150124796A
- Authority
- KR
- South Korea
- Prior art keywords
- data
- storage amount
- speed
- data storage
- data transmission
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/10—Flow control between communication endpoints
- H04W28/14—Flow control between communication endpoints using intermediate storage
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Communication Control (AREA)
- Information Transfer Systems (AREA)
Abstract
Description
본 발명은 무선 환경에서 USB(Universal Serial Bus) 통신을 위한 데이터 전송을 제어하는 방법 및 장치에 관한 것이다.
The present invention relates to a method and apparatus for controlling data transmission for USB (Universal Serial Bus) communication in a wireless environment.
무선망을 통해서USB(Universal Serial Bus) 통신을 수행할 경우, 무선 환경은 주변 모든 디바이스들에 의해서 해당 대역폭을 공유하는 특성으로 인해서 유선 환경과 같은 USB 통신을 위한 고정적인 대역폭을 보장해줄 수 없다. 따라서, 무선망의 상태를 고려하지 않고, USB 통신을 수행할 경우, USB통신을 위한 데이터가 유실될 가능성이 발생하는 문제점이 있었다.
When USB (Universal Serial Bus) communication is performed through a wireless network, the wireless environment can not guarantee a fixed bandwidth for USB communication such as a wired environment due to the characteristics of sharing the bandwidth by all peripheral devices. Therefore, when USB communication is performed without considering the state of the wireless network, data for USB communication may be lost.
본 발명은 무선망을 통해서 USB 통신 시, 상기 무선망으로의 접속을 제공하는 무선 장치의 버퍼 상태를 고려하여 USB 디바이스의 전송 트래픽을 제어하는 방안 및 장치를 제안한다.
The present invention proposes a method and apparatus for controlling transmission traffic of a USB device in consideration of a buffer state of a wireless device providing connection to the wireless network during USB communication through a wireless network.
본 발명의 실시 예에 따른 방법은; 무선망에서 USB(Universal Serial Bus) 통신을 위한 데이터 전송을 제어하는 방법에 있어서, 상기 USB 통신을 수행하는 디바이스에게 상기 무선망으로 접속을 제공하는 무선 디바이스로부터, 수신한 상기 무선 디바이스로의 데이터 전송 가능 시간 관련 정보를 기반으로 상기 무선 디바이스의 현재 데이터 저장량에 상응하는 데이터 전송 후 남은 시간이 존재하는 지 확인하는 과정과, 상기 남은 시간이 존재하면, 상기 현재 데이터 저장량과 상기 무선 디바이스의 이전 데이터 저장량을 이용하여 상기 데이터 전송 속도의 변경을 결정하는 과정을 포함한다.A method according to an embodiment of the present invention comprises: A method for controlling data transmission for USB (Universal Serial Bus) communication in a wireless network, the method comprising: transmitting, from a wireless device providing a connection to the wireless network to a device that performs USB communication, Determining whether there is a remaining time after data transmission corresponding to a current data storage amount of the wireless device based on the available time information; if the remaining time exists, And determining a change in the data transmission rate using the data transmission rate.
본 발명의 실시 예에 따른 다른 방법은; 무선망에서 USB(Universal Serial Bus) 통신을 위한 데이터 전송을 제어하는 방법에 있어서, 상기 무선망으로의 접속을 지원하는 무선 디바이스가 데이터 별로 데이터 전송 가능 시간을 미리 설정하는 과정과, 해당 데이터의 현재 데이터 저장량이 미리 결정된 임계값 미만이면, 상기 데이터 전송 가능 시간에 대한 정보를 상기 USB 통신을 수행하려는 디바이스에게 전송하는 과정을 포함한다.
Another method according to an embodiment of the present invention comprises: A method of controlling data transmission for universal serial bus (USB) communication in a wireless network, the method comprising the steps of: a wireless device supporting connection to the wireless network, And transmitting information on the data transmission available time to the device that is to perform the USB communication if the data storage amount is less than a predetermined threshold value.
본 발명의 실시 예에 따른 장치는; 무선망에서 USB(Universal Serial Bus) 통신을 위한 데이터 전송을제어하는 장치에 있어서, 송수신부를 통해서 상기 USB 통신을 수행하는 디바이스에게 상기 무선망으로 접속을 제공하는 무선 디바이스로부터, 수신한 상기 무선 디바이스로의 데이터 전송 가능 시간 관련 정보를 기반으로, 상기 무선 디바이스의 현재 데이터 저장량에 상응하는 데이터 전송 후 남은 시간이 존재하는 지 확인하고, 상기 남은 시간이 존재하면, 상기 현재 데이터 저장량과 상기 무선 디바이스의 이전 데이터 저장량을 이용하여 상기 데이터 전송 속도의 변경을 결정하는 속도 제어부를 포함한다.
An apparatus according to an embodiment of the present invention includes: An apparatus for controlling data transmission for universal serial bus (USB) communication in a wireless network, the apparatus comprising: a wireless device providing a connection to the wireless network to a device that performs USB communication through a transceiver unit; And determining whether there is a remaining time after data transmission corresponding to the current data storage amount of the wireless device based on the data transmission available time information of the wireless device, And a rate control unit for determining the change of the data transmission rate using a data storage amount.
본 발명의 실시 예에 따른 다른 장치는; 무선망에서 USB(Universal Serial Bus) 통신을 위한 데이터 전송을 제어하는 장치에 있어서, 상기 무선망으로의 접속을 지원하는 무선 디바이스가 송신하는 데이터 별로 데이터 전송 가능 시간을 미리 설정하고, 해당 데이터의 현재 데이터 저장량이 미리 결정된 임계값 미만이면, 상기 데이터 전송 가능 시간에 대한 정보를 상기 USB 통신을 수행하려는 디바이스에게 전송하도록 송수신부를 제어하는 제어부를 포함한다.
Another apparatus according to an embodiment of the present invention includes: An apparatus for controlling data transmission for universal serial bus (USB) communication in a wireless network, the apparatus comprising: a wireless device that supports connection to the wireless network; And a control unit for controlling the transmission / reception unit to transmit the information on the data transferable time to the USB communication device if the data storage amount is less than a predetermined threshold value.
본 발명은 무선망을 통해서 USB 통신 시, 상기 무선망으로의 접속을 제공하는 무선 장치의 버퍼 상태를 고려하여 USB의 전송 트래픽이 상기 무선 장치로 전달되는 속도를 적응적으로 조절함에 따라 패킷 손실률 및 지연 시간을 감소시키고, 해당 상황에 따라 적응적으로 속도를 제어할 수 있는 효과가 있다. The present invention relates to a method and apparatus for controlling a packet loss rate and a packet loss rate by adaptively adjusting a transmission rate of USB transmission traffic to the wireless device in consideration of a buffer status of a wireless device providing connection to the wireless network during USB communication through a wireless network, The delay time is reduced and the speed can be adaptively controlled according to the situation.
도 1은 본 발명의 실시 예에 적용되는 USB 2.0이 지원하는 데이터 전송 속도를 설명하기 위한 도면,
도 2는 본 발명의 실시 예에 따른 USB 통신을 수행하는 USB 디바이스 구성도의 일 예를 도시한 도면,
도 3a는 본 발명의 실시 예에 따라 USB 2.0을 지원하는 USB 디바이스의 속도 변경 결정부가 데이터 전송 속도의 변경을 판단하는 동작 흐름도의 일 예,
도 3b는 본 발명의 실시 예에 따라 USB 2.0을 지원하는 USB 디바이스의 속도 변경부가 데이터 전송 속도를 변경하는 동작 흐름도의 일 예,
도 4a는 본 발명의 실시 예에 따라 USB 3.0을 지원하는 USB 디바이스의 속도 변경 결정부가 데이터 전송 속도의 변경을 판단하는 동작 흐름도의 일 예,
도 4b는 본 발명의 실시 예에 따라 USB 3.0을 지원하는 USB 디바이스의 속도 변경부가 데이터 전송 속도를 변경하는 동작 흐름도의 일 예,
도 5a,b는 본 발명의 실시 예에 따른 USB 디바이스의 속도 제어 시 효과를 나타내는 그래프,
도 6a,b는 본 발명의 실시 예에 따른 USB 디바이스의 속도 제어 시 다른 효과를 나타내는 그래프.FIG. 1 is a diagram for explaining a data transfer rate supported by USB 2.0 applied to an embodiment of the present invention; FIG.
2 is a block diagram of a USB device that performs USB communication according to an embodiment of the present invention.
FIG. 3A is an example of an operation flow chart for determining a change in data transmission speed of a USB device supporting USB 2.0 according to an embodiment of the present invention,
FIG. 3B is a flowchart illustrating an operation of changing a data rate of a USB device supporting USB 2.0 according to an exemplary embodiment of the present invention,
FIG. 4A is a flowchart illustrating a flow of a method for determining a change in a data transmission rate of a USB device supporting USB 3.0 according to an exemplary embodiment of the present invention,
4B illustrates an example of an operation flow chart for changing a data transmission speed of a USB device supporting USB 3.0 according to an embodiment of the present invention,
5A and 5B are graphs showing effects of speed control of a USB device according to an embodiment of the present invention,
6A and 6B are graphs showing other effects in speed control of a USB device according to an embodiment of the present invention.
이하 첨부된 도면을 참조하여 본 발명의 바람직한 실시 예에 대한 동작 원리를 상세히 설명한다. 도면상에 표시된 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 참조번호로 나타내었으며, 다음에서 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.The operation principle of the preferred embodiment of the present invention will be described in detail with reference to the accompanying drawings. The same elements shown in the drawings are denoted by the same reference numerals even though they are shown in different drawings. In the following description of the present invention, detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention unclear. The detailed description thereof will be omitted. The following terms are defined in consideration of the functions of the present invention, and these may be changed according to the intention of the user, the operator, or the like. Therefore, the definition should be based on the contents throughout this specification.
일반적으로 USB 통신의 데이터 전송은 time-driven data scheduling 방식을 사용한다. 이 경우, 1ms마다 서브 프레임(sub-frame)이 발생하고, 매 서브 프레임마다 송신할 데이터를 내부에서 정의한다.Generally, USB communication uses time-driven data scheduling. In this case, a sub-frame occurs every 1 ms, and data to be transmitted is defined internally for each sub-frame.
이러한 USB 통신의 데이터 전송은 USB 프로토콜에 따라 데이터 전송 속도가 결정된다. The data transmission speed of the USB communication is determined according to the USB protocol.
도 1은 본 발명의 실시 예에 적용되는 USB 2.0이 지원하는 데이터 전송 속도를 설명하기 위한 도면이다.FIG. 1 is a diagram for explaining a data transfer rate supported by USB 2.0 according to an embodiment of the present invention.
도 1을 참조하면, USB 2.0은 2개의 데이터 전송 속도 즉, Full speed와 High speed를 지원한다. 그리고, 선택된 속도에 따라 프레임이 설정된다. 만약, Full speed가 선택된 경우, 1ms(101, 102,…)마다 서브프레임이 전송되어, 대략 12Mbps의 속도를 지원할 수 있다. 그리고, Full speed 보다 빠른 속도를 제공하는 High speed가 선택될 수 있다. 이 경우, High speed는 일 예로, 1ms(101)의 서브 프레임을 8개의 마이크로(micro) 프레임들로 나누어 전송되며, 대략 480Mbps의 속도를 지원할 수 있다.Referring to FIG. 1, USB 2.0 supports two data rates, Full speed and High speed. Then, the frame is set according to the selected speed. If Full speed is selected, subframes are transmitted every 1 ms (101, 102, ...) to support a speed of approximately 12 Mbps. And, High speed can be chosen to provide faster speed than full speed. In this case, the high speed is, for example, divided into sub-frames of 1 ms (101) divided into eight micro frames, and can support a speed of about 480 Mbps.
한편, USB 3.0은 super speed를 지원한다. super speed는 high speed와 마찬가지로 1ms 마다 8개의 마이크로 프레임들을 사용한다. 그러나, 데이터 패킷의 전송시 마다 하나의 token과 handshake 를 교환하는 high speed와 달리, super speed는 하나의 token과 handshake을 이용하여 다수의 데이터 패킷을 전송하는 방식을 사용함에 따라 최대 5Gbps의 속도를 지원할 수 있다. USB 3.0과 USB 2.0은 각각 서로 다른 모듈(module)들을 보유하고, 서로 다른 포트(port)를 사용한다. 이에 따라, USB 3.0의 포트와 USB 2.0의 포트 중 특정 포트로의 사용 및 속도가 결정되면, 해당 포트만 사용하게 되며 다른 포트는 사용하지 않게 된다. 예를 들어, USB 2.0의 포트로의 사용 및 속도가 결정되면, USB 3.0의 super speed로는 전환될 수 없다. 일반적인 USB의 데이터 전송 방식에서는, USB 호스트가 적어도 하나의 USB 디바이스를 통한 클라이언트의 초기 접속을 인지하면, 해당 클라이언트의 USB 디바이스의 성능을 기반으로, 상기 클라이언트와의 통신을 위한 속도를 결정한다. USB 2.0의 경우, 보통, 초기 접속 시 USB 호스트는 클라이언트의 속도를 full speed로 인지한다. 그리고, enumeration reset 단계에서 USB 호스트는 high speed current 를 data 전송을 위한 bus 선에 전송한다. 그러면, high speed를 지원하는 성능을 가지는 클라이언트는 high speed current에 대한 응답을 전송한다. 이에 따라, USB 호스트가 적어도 하나의 USB 디바이스로부터 응답을 수신하면, USB 호스트는 상기 클라이언트와의 통신을 위한 속도를 high-speed (480Mbps)로 설정한다. 상기 Enumeration 단계에서 해당 클라이언트와의 속도 셋팅(setting)이 완료되면, 이후 속도는 변경되지 않는다. 여기서, Enumeration 단계는, USB 호스트가 USB 디바이스들을 검출 및 식별하는 동작에 해당하며, 본 발명에 직접적인 영향을 미치지 않으므로, 여기서는 상세한 설명을 생략하기로 한다.Meanwhile, USB 3.0 supports super speed. Super speed, like high speed, uses 8 micro frames every 1 ms. However, unlike high speed, which exchanges handshake with one token for each data packet transmission, super speed uses a token and handshake to transmit a large number of data packets. . USB 3.0 and USB 2.0 each have different modules and use different ports. As a result, if the USB 3.0 port and the USB 2.0 port are used and the speed is determined, the corresponding port is used, and the other port is not used. For example, if the speed and usage of a USB 2.0 port is determined, it can not be converted to super speed of USB 3.0. In a general USB data transmission method, when a USB host recognizes an initial connection of a client through at least one USB device, the speed for communication with the client is determined based on the performance of the USB device of the client. In the case of USB 2.0, usually, the USB host recognizes the speed of the client as full speed on initial connection. In the enumeration reset step, the USB host transmits a high speed current to the bus line for data transmission. Then, the client having the capability to support the high speed transmits the response to the high speed current. Accordingly, when the USB host receives a response from at least one USB device, the USB host sets the speed for communication with the client to high-speed (480 Mbps). When the speed setting with the client is completed in the enumeration step, the speed does not change thereafter. Here, the Enumeration step corresponds to an operation in which the USB host detects and identifies USB devices, and does not directly affect the present invention, and therefore, a detailed description thereof will be omitted here.
앞서 설명한 바와 같이 기존의 USB 클라이언트는 Enumeration 단계에서 해당 클라이언트와의 속도 셋팅을 완료하면, 이후 속도를 변경하지 않는다. 그리하여, 무선망이 제공되는 송신 레이트(rate)에 상응하게 적응적으로 속도를 변경하기 어려웠다. 그리하여, USB 통신 시 무선 환경에 따라 속도를 제어하는 방안이 요구되어 진다.As described above, the existing USB client does not change the speed after completing the speed setting with the client in the enumeration step. Thus, it was difficult to change the speed adaptively according to the transmission rate at which the wireless network is provided. Therefore, it is required to control the speed according to the wireless environment in USB communication.
이에 따라 본 발명의 실시 예에서는 무선망을 통해서 USB 통신 시, USB 레이어(layer)에서 무선망의 현재 송신 레이트 상황을 획득하고, 획득한 무선망의 송신 레이트 상황에 상응하게 속도를 적응적으로 변경하여 사용하는 방안을 제안한다. 이하, 본 명세서에서의 USB 통신은 USB 호스트로부터 발생한 데이터들을 무선망을 통해서 해당 USB 디바이스에 전달하거나, 반대로, 해당 USB 디바이스에서 발생한 데이터들을 무선망을 통해서 상기 USB 호스트에게 전달하는 동작을 포함한다. Accordingly, in the embodiment of the present invention, in the USB communication through the wireless network, the current transmission rate situation of the wireless network at the USB layer is acquired, and the rate is adaptively changed corresponding to the transmission rate situation of the acquired wireless network And suggests ways to use it. Hereinafter, USB communication in this specification includes transmitting data generated from a USB host to a corresponding USB device through a wireless network, or conversely transmitting data generated from the USB device to the USB host through a wireless network.
도 2는 본 발명의 실시 예에 따른 USB 통신을 수행하는 USB 디바이스 구성도의 일 예를 도시한 도면이다. 여기서, 디바이스(200)는 USB 호스트 또는 클라이언트의 USB 디바이스로 동작할 수 있다.2 is a block diagram of a USB device for performing USB communication according to an embodiment of the present invention. Here, the
도 2를 참조하면, 일 예로, 본 발명의 실시 예에 따른 USB 디바이스(200)는 USB 연결부(202)와, 속도 변경 결정부(204)와, 속도 변경부(208) 및 속도 설정부(208)를 포함한다.2, a
상기 USB 연결부(202)는 USB 통신을 위한 무선망으로의 접속을 제공하는 무선 장치 일 예로, Wi-Fi 디바이스 (220)와 연결을 설정한다.The
상기 Wi-Fi 디바이스 (220)는 상기 USB 연결부(202)를 통해서 상기 USB 디바이스(200)로 전달받은 데이터를 저장하는 버퍼부(222)와, 상기 버퍼부(222)가 포함하는 버퍼들의 데이터들을 관리 및 제어하는 버퍼 제어부(224)를 포함한다. 상기 버퍼부(222)는 해당 데이터의 종류에 따라 분류하여 저장한다. 이때, 상기 데이터의 종류는 실시간 데이터에 해당하는 영상 및 음성과, 배경 및 BE(best effort) 등으로 분류될 수 있다. 일 예로, 상기 버퍼부(222)는 음성, 영상, 배경 및 BE 각각을 위한 버퍼들(222a~222d)을 포함하는 경우를 가정하자.The Wi-
상기 버퍼 제어부(224)는 상기 버퍼부(224)가 포함하는 버퍼들(222a~222d) 각각의 데이터 저장량을 확인한다. 그리고, 상기 버퍼 제어부(224)는 상기 버퍼부(222)가 저장하고 있는 데이터들 중 음성 또는 영상 데이터 각각에 대한 버퍼의 데이터 저장량이 미리 결정된 임계량 미만임을 확인하면, 해당 데이터의 현재 데이터 저장량과, 전송 기회(Transmission Opportunity: TxOP)를 속도 제어 인자로 매핑시켜 상기 속도 변경 결정부(204)에게 전달할 수 있다. 본 발명의 실시 예에 따른 속도 제어 인자는 실시간 데이터에 해당하는 음성 및 영상 데이터에 대해 해당 USB 디바이스가 미리 설정된 시간 동안 해당 데이터의 전송이 가능함을 알려주는 인자로, 일 예로, flag 형태로 표기되어 전송되거나, 각 데이터 별로 상이한 값을 매핑하여 전송될 수도 있다.The
상기 속도 변경 결정부(204)는 해당 데이터의 속도 제어 인자를 수신하면, 상기 속도 제어 인자에 대응하는 데이터의 전송 속도의 증/감 여부를 결정하고, 결정된 속도 변경 지시를 상기 속도 변경부(206)에게 전달한다.Upon receiving the speed control factor of the data, the
구체적인 예로, 상기 USB 디바이스(200)가 음성 데이터에 대한 현재 속도 제어 인자를 수신한 경우를 가정하자. 그러면, 상기 속도 변경 결정부 처리부(204)는 상기 현재 속도 제어 인자를 수신하기 이전에 수신한 이전 속도 제어 인자에서 전송된 데이터 량(일 예로, byte 수, x)과, 상기 이전 속도 제어 인자에서 데이터 전송 시 소요된 총 시간(tx)을 이용하여 이전 속도 제어 인자에 따른 데이터 전송 속도(rx)를 하기 <수학식 1>과 같이 계산할 수 있다.As a specific example, assume that the
여기서, x의 초기값은 미리 설정된 최대값으로 설정되고, tx의 초기값은 상기 이전 속도 제어 인자에 매핑된 디폴트(default) 시간(ms)으로 설정된다. 이때, 상기 속도 변경 결정부(204)는 실시간 데이터에 대응하는 음성 데이터 및 영상 데이터 각각에 대해 상이하게 설정된 속도 제어 인자 및 해당 속도 제어 인자 별 디폴트 시간을 저장할 수 있다. 또는, 다른 실시 예에 따라 상기 속도 변경 결정부(204)는 상기 버퍼 제어부(224)를 통해서 해당 속도 제어 인자의 수신 시 그에 매핑하는 해당 디폴트 속도 제어 인자 시간을 함께 수신할 수도 있다. 상기 디폴트 시간은 해당 속도 제어 인자가 설정된 데이터가 USB 연결부(202)를 통해서 상기 버퍼부(222)로 연속하여 전달 가능한 독점 시간으로 정의된다. 그리고, 속도 제어 인자는 일 예로, 실시간 데이터인 음성 및 영상에 대해 설정되며, 상대적으로 크기가 큰 영상이 음성에 비해 큰 값을 갖도록 설정될 수 있다. 예를 들어, 영상은 3.008ms로 설정될 수 있고, 음성은 1.504ms로 설정될 수 있다.Here, the initial value of x is set to a preset maximum value, and the initial value of t x is set to a default time (ms) mapped to the previous speed control factor. At this time, the speed
그리고나서, 상기 속도 변경 결정부(204)는 상기 이전 속도 제어 인자에 따른 데이터 전송 속도를 이용하여 하기 <수학식 2>와 같이, 상기 이전 속도 제어 인자에 따라 상기 버퍼부(222)의 현재 데이터 저장량을 전송하는데 필요한 시간(treq)를 계산한다.Then, the
여기서, dq는 Wi-Fi 디바이스(220) 내의 버퍼에서 현재 데이터 저장량을 나타낸다.Where d q represents the current amount of data storage in the buffer in the Wi-
그러면, 상기 속도 변경 결정부(204)는 하기 <수학식 3>에서와 같이 속도 제어 인자에 매핑되어 있는 디폴트 시간에서 상기 이전 속도 제어 인자에 따라 상기 버퍼부(222)의 현재 데이터 저장량을 전송하는데 필요한 시간(treq)을 빼어, 상기 버퍼부(222)의 현재 데이터 저장량을 모두 전송한 이후 남은(reminaing) 시간(tremt)을 확인한다.Then, the speed
상기 확인 결과, 상기 <수학식 3>에 따라 계산된 남은 시간이 0이상인 경우, 속도 변경을 결정하고, 속도 변경 지시를 상기 속도 변경부(206)에게 전달한다.If it is determined that the remaining time calculated according to Equation (3) is equal to or greater than 0, the speed change is determined and a speed change instruction is transmitted to the
그러면, 상기 속도 변경부(206)는 상기 속도 변경 지시에 상응하게 현재 속도를 변경한다. 이 경우, 상기 속도 변경부(206)는 상기 USB 디바이스가 지원하는 속도에 따라 상이하게 결정된다. 일 예로, 상기 USB 디바이스(200)가 USB 2.0을 지원할 경우를 가정하면, 초기 속도는 Full speed로 설정되어 있다. 초기 속도를 high speed로 설정할 경우, Full speed에 비해 상대적으로 많은 데이터 저장량을 Wi-Fi 버퍼에 발생시키므로, 속도 변경이 자주 요구되는 상황이 발생할 수 있다. 그리하여, 본 발명의 실시 예에서는, USB 2.0을 지원하는 USB 디바이스에 대해 초기 속도를 Full speed로 설정한다.Then, the
이때, 상기 속도 변경부(206)가 상기 속도 변경 지시를 수신한 경우, 상기 속도 변경부(206)는 현재 속도를 Full speed에서 high speed로 변경을 결정하고, 상기 속도 설정부(208)가 해당 속도로 변경하도록 제어한다. 상기 속도 설정부(208)는 상기 속도 변경부(206)의 제어에 따라 현재 속도를 full speed(214)에서 high speed(212)로 변경하거나, high speed(212) 내에서 데이터 페이로드(data payload)의 크기 별로 세분화되는 high speed의 속도들로 변경할 수 있다. 마찬가지로, Super speed(210)로 현재 속도가 설정된 경우, 상기 속도 설정부(208)는 상기 속도 변경부(206)의 제어에 따라 Super speed(210)의 현재 단계를 변경한다. 이에 대해 하기에서 상세히 후술한다. When the
먼저, Full speed에서 high speed 초기 속도 변경 시, 상기 속도 변경부(206)는 하기 <표 1>과 같이 데이터 페이로드의 크기 별로 세분화되는 high speed의 속도들 중 최고 속도로 설정하도록 상기 속도 설정부(210)를 제어할 수 있다.First, when changing the initial speed of the high speed at full speed, the
상기 <표 1>을 참조하면, high speed는 일 예로, 총 10개의 데이터 페이로드 각각에 대응하는 속도로 분류될 수 있다. 최고 단계로 설정된 512 byte의 데이터 페이로드의 경우, 최대 전송 횟수(max transfer)가 13이므로, 512 byte * 13의 최대 속도를 지원할 수 있다. 상기 <표 1>을 참조하면, 데이터 페이로드 별로 일 예로, 최대 대역폭(Max bandwidth), 전송 단위인 마이크로 프레임 대역폭, 최대 전송 횟수, 남아있는 데이터 량(bytes) 및 마이크로 프레임에서 전송 가능한 데이터 량 등이 매핑될 수 있다.Referring to Table 1, the high speed can be classified into a speed corresponding to each of 10 data payloads in total. For a 512 byte data payload set to the highest level, the maximum transfer is 13, so it can support a maximum speed of 512 bytes * 13. Referring to Table 1, a maximum bandwidth (maximum bandwidth), a micro frame bandwidth as a transmission unit, a maximum transmission number, a remaining data amount (bytes), and a data amount that can be transmitted in a micro frame Can be mapped.
상기 high speed의 최고 속도로 설정된 이후, 상기 속도 변경부(206)는 상기 버퍼부(222)의 현재 데이터 저장량에 따라 상기 최고 속도를 단계적으로 감소시키도록 상기 속도 설정부(208)를 제어할 수 있다. 즉, 상기 <표 1>의 데이터 페이로드의 크기를 감소시킨다.After setting the maximum speed of the high speed, the
구체적으로, 상기 속도 변경부(206)는 상기 속도 변경 결정부(204)로부터 속도 변경 지시를 수신하면, 이에 따라 현재 속도를 변경한 후 변경된 현재 속도를 저장한다. 그리고, 다음 속도 변경 지시가 수신되면, 상기 속도 변경부(206)는 상기 속도 변경 결정부(204)로부터 상기 버퍼부(222)의 현재 데이터 저장량(dq)과, 이전 속도 제어 인자의 송신 시 상기 버퍼부(222)의 이전 데이터 저장량(dq-1)을 비교한다. 상기 비교 결과, dq가 dq-1보다 클 경우, 현재 상기 버퍼부(222)의 데이터 저장량이 증가하고 있으므로, 상기 속도 변경부(206)는 저장하고 있는 현재 설정된 페이로드 데이터의 크기를 1단계 감소시키도록 상기 속도 설정부(208)를 제어한다. 그리고, 만약, 상기 비교 결과, dq가 0일 경우, 현재 설정된 페이로드 데이터의 크기를 1단계 증가시키도록 상기 속도 설정부(208)를 제어한다.Specifically, when the
다른 예로, 상기 USB 디바이스(200)가 USB 3.0을 지원할 경우를 가정하면, 초기 속도는 Super speed로 설정되어 있다. 이에 따라 상기 속도 변경부(206)가 상기 속도 변경 지시를 수신한 경우, 상기 속도 변경부(206)는 Super speed(210)의 현재 단계를 변경하도록 상기 속도 설정부(208)를 제어한다. 구체적으로, Super speed는 총 15개의 단계(NumP: Number of Packets)의 속도로 세분화될 수 있다. 여기서, NumP는 도면에 도시하지는 않았으나 상기 USB 디바이스(200)의 버퍼에서 저장 가능한 데이터 량(이하, '잔여 버퍼 크기'라 칭함)으로 정의될 수 있다. 일 예로, 1부터 15까지 15개의 NumP 각각에 대해 전송 가능한 데이터량 즉, 패킷들의 수가 상이하게 설정되어 있다. NumP의 숫자가 커질수록 전송 가능한 데이터량이 커지는 경우를 가정하자.As another example, assuming that the
마찬가지로, USB 3.0을 지원할 경우에도, 상기 속도 변경 지시를 수신하여 초기 속도 변경 시, NumP의 최대값인 15로 설정한다. 그리고, 상기 속도 변경부(206)는 상기 USB 디바이스(200)의 잔여 버퍼 크기에 상응하는 NumP를 현재 속도로 변경하도록 상기 속도 설정부(208)를 제어한다. 이후, 상기 속도 변경부(206)는 Wi-fi 버퍼의 데이터 량에 따라 상기 최고 속도를 단계적으로 감소시킬 수 있다. 즉, 현재 저장하고 있는 NumP를 변경하도록 상기 속도 설정부(208)를 제어한다.Likewise, even when USB 3.0 is supported, the speed change instruction is received, and when the initial speed is changed, the maximum value of NumP is set to 15. The
구체적으로, 상기 속도 변경부(206)는 상기 속도 변경 결정부(204)로부터 속도 변경 지시를 수신하면, 이에 따라 현재 속도를 변경한 후 변경된 현재 속도를 저장한다. 그리고, 다음 속도 변경 지시가 수신되면, 상기 속도 변경부(206)는 상기 속도 변경 결정부(204)로부터 획득한 상기 버퍼부(222)의 현재 데이터 저장량(dq)과, 이전 속도 제어 인자의 송신 시 상기 버퍼부(222)의 이전 데이터 저장량(dq-1)을 비교한다. 상기 비교 결과, dq가 dq-1보다 클 경우, 현재 상기 버퍼부(222)에 쌓이는 데이터량이 증가하고 있음을 의미하므로, 상기 속도 변경부(206)는 저장하고 있는 현재 설정된 NumP를 감소시키도록 상기 속도 설정부(208)를 제어한다. 구체적인 예로, 상기 속도 변경부(206)는 현재 NumP 파라미터 y에 1을 더한(y+1) 후, 현재 NumP에서 상기 (y+1)을 뺀 값으로 새로운 NumP값을 설정할 수 있다.Specifically, when the
만약, 상기 비교 결과, dq가 0일 경우, 현재 NumP 파라미터 y에 1을 뺀 (y-1) 후, 현재 NumP에서 상기 (y-1)을 뺀 값으로 새로운 NumP값을 설정할 수 있다.If the comparison result d q is 0, a new NumP value can be set to a value obtained by subtracting (y-1) from the current NumP after (y-1) minus 1 by the current NumP parameter y.
한편, 상기 속도 변경부(206)는 속도 변경 지시들을 수신함에 따라 계속해서 속도 변경을 수행하는 동안, 상기 버퍼부(222)가 저장하고 있는 데이터 량이 계속 증가할 경우, 현재 속도가 낮아지게되면, 상기 속도 변경부(206)는 앞서 설명한 과정들을 거치지 않고, 현재 속도를 원래 상태로 되돌리도록 상기 속도 설정부(208)를 제어할 수 있다. 다시 말해서, USB 2.0의 경우, 변경된 현재 속도 즉, 페이로드 데이터의 크기가 2byte 이하로 떨어질 경우, 상기 속도 변경부(206)는 full speed로 현재 속도를 복원하도록 상기 속도 설정부(208)를 제어할 수 있다. 그리고, USB 3,0의 경우, 상기 속도 변경부(206)는 변경된 현재 속도를 NumP '1'로 설정하도록 상기 속도 설정부(208)를 제어할 수 있다.Meanwhile, if the current speed is lowered when the amount of data stored in the
도 3a는 본 발명의 실시 예에 따라 USB 2.0을 지원하는 USB 디바이스의 속도 변경 결정부가 데이터 전송 속도의 변경을 판단하는 동작 흐름도의 일 예이다. 설명의 편의상, 여기서 속도 변경 결정부는 도 2의 속도 변경 결정부(204)인 경우를 가정하자.FIG. 3A is an example of an operation flowchart for determining a change in a data transmission speed of a USB device supporting USB 2.0 according to an embodiment of the present invention. For convenience of description, it is assumed that the speed change determination unit is the speed
도 3a를 참조하면, 302단계에서 상기 속도 변경 결정부(204)는 Wi-Fi 디바이스를 통해서 속도 제어 인자를 수신한 경우, 304단계로 진행한다. 이때, 상기 속도 변경 결정부(204)는 상기 속도 제어 인자가 설정된 데이터가 저장된 버퍼의 데이터 저장량을 함께 수신할 수 있다.Referring to FIG. 3A, when the
그러면, 304단계에서 상기 속도 변경 결정부(204)는 이전 속도 제어 인자에 매핑된 디폴트 시간에서 상기 버퍼부(222)의 현재 데이터 저장량을 모두 전송한 후 남은 시간이 존재하는 지 여부를 확인한다. 여기서, 남은 시간은 앞서 설명한 <수학식 3>에 따라 계산될 수 있다. 상기 확인 결과 상기 디폴트 시간에서 남은 시간이 존재하지 않는 경우, 상기 속도 변경 결정부(204)는 302단계로 복귀하여 다음 속도 제어 인자의 수신을 대기한다. In
상기 확인 결과, 상기 디폴트 시간에서 남은 시간이 존재하는 경우, 상기 속도 변경 결정부(204)는 306단계에서 USB 디바이스의 데이터 전송 속도의 변경을 결정하고, 속도 변경 지시를 상기 속도 변경부(206)에게 전달한다.
If it is determined that there is a remaining time in the default time, the speed
도 3b는 본 발명의 실시 예에 따라 USB 2.0을 지원하는 USB 디바이스의 속도 변경부가 데이터 전송 속도를 변경하는 동작 흐름도의 일 예이다. 마찬가지로, 상기 속도 변경부는 도 2의 속도 변경부(206)인 경우를 가정하자.FIG. 3B is an example of an operation flow chart for changing the data transmission speed of a USB device supporting USB 2.0 according to an embodiment of the present invention. Similarly, it is assumed that the speed changing unit is the
도 3b를 참조하면, 308단계에서 속도 변경부(206)는 속도 변경 지시를 수신하면, 310단계로 진행한다. 만약, 현재 속도 변경이 초기인 경우, 상기 속도 변경부(206)는 현재 속도를 full speed에서 high speed의 최대 속도에 대응하는 페이로드 크기로 설정하도록 상기 속도 설정부(208)로 제어한다. 310단계에서 상기 속도 변경부(206)는 버퍼부(222)에 대해 현재 데이터 저장량과, 이전 속도 제어 인자에 대응하는 이전 데이터 저장량을 확인한다. 그리고, 312단계에서 상기 속도 변경부(206)는 상기 현재 데이터 저장량이 이전 데이터 저장량보다 큰 지 여부를 확인한다. 상기 확인 결과 상기 현재 데이터 저장량이 상기 이전 데이터 저장량보다 작을 경우, 314단계에서 상기 속도 변경부(206)는 상기 현재 데이터 저장량이 '0'인지 확인한다. 상기 확인 결과, '0'이 아니면, 310단계로 복귀한다. 상기 확인 결과, 상기 현재 데이터 저장량이 '0'인 경우, 316단계에서 상기 속도 변경부(206)는 현재 속도를 1단계 증가시키도록 속도 설정부(208)를 제어한다. 만약, 현재 속도가 high speed의 페이로드 크기들 중 하나인 경우, 상기 속도 변경부(206)는 현재 속도를 현재 페이로드 크기보다 1단계 큰 페이로드 크기로 변경하도록 상기 속도 설정부(208)를 제어한다. 그리고, 상기 속도 변경부(206)는 다음 속도 변경 지시의 수신 시 현재 속도의 변경을 위해서 상기 변경된 현재 속도를 저장한다. 그리고, 320단계로 진행한다. 320단계에서 상기 속도 변경 결정부(204)는 304단계에서 획득한 남은 시간에서 상기 변경된 현재 속도로 상기 버퍼부(222)의 현재 데이터 저장량을 모두 전송하였으면, full speed로 복원하고, 도 3b의 동작을 종료한다. 314단계의 확인 결과, 상기 현재 데이터 저장량이 '0'이 아닌 경우, 308단계로 복귀하여 다음 속도 변경 지시의 수신을 대기한다.Referring to FIG. 3B, in
한편, 312단계에서의 확인 결과, 상기 현재 데이터 저장량이 이전 데이터 저장량보다 작을 경우, 318단계에서 상기 속도 변경부(206)는 현재 속도를 현재 페이로드 크기보다 1단계 작은 페이로드 크기로 변경하도록 상기 설정부(208)를 제어한다. 그리고, 상기 속도 변경부(2096)는 다음 속도 변경 지시의 수신 시 현재 속도의 변경을 위해서 상기 변경된 현재 속도를 저장한다. 320단계에서 상기 속도 변경 결정부(204)는 304단계에서 획득한 남은 시간에서 변경된 현재 속도에서 상기 변경된 속도로 상기 버퍼부(222)의 현재 데이터 저장량을 모두 전송하였으면, full speed로 복원하고, 도 3b의 동작을 종료한다. On the other hand, if it is determined in
이후, 다음 속도 변경 지시가 수신되면, 이동 단말은 full speed 에서 다시 high speed로 복원한다. 이때, 이전 속도 변경 지시가 수신 시 변경된 현재 속도인 high speed의 페이로드 크기에서 316단계 또는 318단계를 거쳐 속도 변경을 수행한 후, 320단계를 수행하면 다시 full speed로 복원한다. 이러한 속도 변경 과정은 속도 변경 지시를 수신할 때마다 반복된다.Thereafter, when the next speed change instruction is received, the mobile terminal returns to high speed again at full speed. At this time, the speed change is performed through
도 4a는 본 발명의 실시 예에 따라 USB 3.0을 지원하는 USB 디바이스의 속도 변경 결정부가 데이터 전송 속도의 변경을 판단하는 동작 흐름도의 일 예이다. 설명의 편의상, 여기서 속도 변경 결정부는 도 2의 속도 변경 결정부(204)인 경우를 가정하자.FIG. 4A is an example of an operation flowchart for determining a change in data transmission speed of a USB device supporting USB 3.0 according to an embodiment of the present invention. For convenience of description, it is assumed that the speed change determination unit is the speed
도 4a를 참조하면, 400단계에서 상기 속도 변경 결정부(204)는 Wi-Fi 디바이스를 통해서 현재 속도 제어 인자를 수신한 경우, 이전 속도 제어 인자의 수신 시 설정된 현재 속도를 확인하고, 402단계로 진행한다. 이때, 상기 속도 변경 결정부(204)는 상기 속도 제어 인자가 설정된 데이터가 저장된 Wi-Fi 디바이스의 버퍼부의 데이터 저장량을 함께 수신할 수 있다.Referring to FIG. 4A, when the current speed control factor is received through the Wi-Fi device, the
그러면, 402단계에서 상기 속도 변경 결정부(204)는 이전 속도 제어 인자에 매핑된 디폴트 시간에서 상기 버퍼부의 현재 데이터 저장량을 모두 전송한 후 남은 시간이 존재하는 지 여부를 확인한다. 여기서, 남은 시간은 앞서 설명한 <수학식 3>에 따라 계산될 수 있다. 상기 확인 결과 상기 디폴트 시간에서 남은 시간이 존재하지 않는 경우, 상기 속도 변경 결정부(204)는 400단계로 복귀하여 다음 속도 제어 인자의 수신을 대기한다. In
상기 확인 결과, 상기 디폴트 시간에서 남은 시간이 존재하는 경우, 상기 속도 변경 결정부(204)는 404단계에서 USB 디바이스의 데이터 전송 속도의 변경을 결정하고, 속도 변경 지시를 상기 속도 변경부(206)에게 전달한다.
If it is determined that there is a remaining time in the default time, the speed
도 4b는 본 발명의 실시 예에 따라 USB 3.0을 지원하는 USB 디바이스의 속도 변경부가 데이터 전송 속도를 변경하는 동작 흐름도의 일 예이다. 마찬가지로, 상기 속도 변경부는 도 2의 속도 변경부(206)인 경우를 가정하자.FIG. 4B is an example of an operation flow chart for changing the data transmission speed of the USB device supporting USB 3.0 according to the embodiment of the present invention. Similarly, it is assumed that the speed changing unit is the
도 4b를 참조하면, 406단계에서 속도 변경부(206)는 속도 변경 지시를 수신하면, 408단계로 진행한다. 408단계에서 상기 속도 변경부(206)는 버퍼부 에 대해 현재 데이터 저장량과, 이전 속도 제어 인자에 대응하는 이전 데이터 저장량을 확인한다. 그리고, 410단계에서 상기 속도 변경부(206)는 상기 현재 데이터 저장량이 이전 데이터 저장량보다 큰 지 여부를 확인한다. 상기 확인 결과 상기 현재 데이터 저장량이 상기 이전 데이터 저장량보다 작을 경우, 412단계에서 상기 속도 변경부(206)는 상기 현재 데이터 저장량이 '0'인지 확인한다. 상기 확인 결과, '0'이 아니면, 406단계로 복귀한다. 상기 확인 결과, 상기 현재 데이터 저장량이 '0'인 경우, 414단계에서 상기 속도 변경부(206)는 현재 속도를 1단계 증가시키도록 속도 설정부(208)를 제어한다. 만약, 현재 속도 변경이 초기인 경우, 상기 속도 변경부(206)는 현재 속도를 Super speed의 최대값인 NumP 15로 설정된다. 이 경우, 상기 속도 변경부(206)는 현재 속도를 유지한다. 만약, 현재 속도가 super speed의 NumP들 중 최대값을 제외한 나머지들 중 하나인 경우, 상기 속도 변경부(206)는 현재 속도를 현재 Nump보다 1단계 증가시키도록 상기 속도 설정부(208)를 제어한다. 그리고, 상기 속도 변경부(2096)는 다음 속도 변경 지시의 수신 시 현재 속도의 변경을 위해서 상기 변경된 현재 속도를 저장한다. 418단계로 진행한다. 그리고, 418단계에서 상기 속도 변경부(206)는 402단계에서 남은 시간 동안 변경된 현재 속도로 상기 버퍼부(222)의 현재 데이터 저장량을 모두 전송하였으면, 변경된 현재 속도를 Super speed의 최저 단계인 NumP 1로 설정하고, 도 4b의 동작을 종료한다.Referring to FIG. 4B, in
412단계의 확인 결과, 상기 현재 데이터 저장량이 '0'이 아닌 경우, 406단계로 복귀하여 다음 속도 변경 지시의 수신을 대기한다.If it is determined in
한편, 410단계에서의 확인 결과, 상기 현재 데이터 저장량이 이전 데이터 저장량보다 작을 경우, 416단계에서 상기 속도 변경부(206)는 현재 속도를 현재 NumP 보다 1단계 작은 NumP로 변경하도록 상기 설정부(208)를 제어한다. 상기 속도 변경부(2096)는 다음 속도 변경 지시의 수신 시 현재 속도의 변경을 위해서 상기 변경된 현재 속도를 저장한다. 그리고, 418단계에서 상기 속도 변경부(206)는 402단계에서 남은 시간 동안 변경된 현재 속도로 상기 버퍼부(222)의 현재 데이터 저장량을 모두 전송하였으면, 변경된 현재 속도를 Super speed의 최저 단계인 NumP 1로 설정하고, 도 4b의 동작을 종료한다. 이후, 다음 속도 변경 지시가 수신되면, 이동 단말은 Super speed의 NumP 1에서 이전 속도 변경 지시의 수신 시 변경된 NumP로 복원한다. 그리고, 복원된 NumP에서 414단계 또는 416단계를 거쳐 속도 변경을 수행한 후, 418단계를 수행하면 다시 Super speed의 NumP 15로 복원한다. 이러한 속도 변경 과정은 속도 변경 지시를 수신할 때마다 반복된다.On the other hand, if it is determined in
이하, 도 5a 내지 도 6b의 그래프에서, high speed와 full spped 각각은 USB 2.0 에서의 현재 속도를 high speed와 full spped 만을 사용하는 경우를 의미한다. PS/Basic 은 도 3a의 실시 예에 따라 현재 속도를 full speed 와 high speed의 최고 속도만으로 제어하는 상황이며, PS/Advanced 는 도 3b 의 실시 예에 따라 현재 속도를 high speed의 페이로드 크기들을 조절하는 상황을 나타낸다.Hereinafter, in the graphs of FIGS. 5A and 6B, high speed and full spped respectively refer to the case where only the high speed and the full spped are used in the current speed in the USB 2.0. PS / Basic is a situation in which the current speed is controlled only by the full speed of the full speed and the high speed according to the embodiment of FIG. 3A, and the PS / Advanced controls the current speed by the payload sizes of the high speed according to the embodiment of FIG. .
도 5a,b는 본 발명의 실시 예에 따른 USB 디바이스의 속도 제어 시 효과를 나타내는 그래프이다. 5A and 5B are graphs illustrating effects of speed control of a USB device according to an embodiment of the present invention.
도 5a를 참조하면, 해당 USB 디바이스가 high speed, full speed를 고정적으로 사용하는 경우에 반해, 본 발명의 실시 예에 따른 적응적 속도 제어를 수행하는 PS/Basic 및 PS/Advanced한 경우, 클라이언트 수가 증가함에 따라 데이터 전송의 성공률이 안정적임을 나타내고 있다. 5A, in the case of PS / Basic and PS / Advanced for performing adaptive speed control according to the embodiment of the present invention, while the USB device fixedly uses high speed and full speed, The success rate of data transmission is stable.
도 5b를 참조하면, 해당 USB 디바이스가 high speed를 고정적으로 사용하는 경우, 클라이언트 수의 증가에 따라 데이터 전송률이 증가하지만, Wi-Fi 디바이스 내의 버퍼부에서 오버 플로우가 발생할 가능성이 있다. 그리고, full speed를 고정적으로 사용하는 경우에 Wi-Fi 디바이스 내의 버퍼부에서 오버 플로우가 발생할 가능성이 낮은 반면 처리량 역시 낮았다. 반면, 본 발명의 실시 예에 따른 적응적 속도 제어를 수행하는 PS/Advanced 및 PS/Basic의 경우, 클라이언트 수가 증가함에 따라 데이터 전송의 성공률이 안정적으로 증가하면서, Wi-Fi 디바이스 내의 버퍼부의 데이터 저장량을 고려함에 따라 오버 플로우가 발생할 가능성도 낮음을 볼 수 있다.Referring to FIG. 5B, when the USB device fixedly uses high speed, the data rate increases with an increase in the number of clients, but overflow may occur in the buffer unit in the Wi-Fi device. And, if the full speed is fixed, the possibility of overflow in the buffer part of the Wi-Fi device is low, but the throughput is also low. On the other hand, in the case of PS / Advanced and PS / Basic performing adaptive rate control according to the embodiment of the present invention, as the number of clients increases, the success rate of data transmission increases steadily, The possibility of overflow is low.
도 6a,b는 본 발명의 실시 예에 따른 USB 디바이스의 속도 제어 시 다른 효과를 나타내는 그래프이다. 도 6a 는 1GByte 의 데이터를 전송할 때 소요되는 시간을 분 단위로 표현하고, 도 6b 는 각 패킷의 평균 데이터 전송 지연 시간을 나타낸다.6A and 6B are graphs showing other effects of speed control of a USB device according to an embodiment of the present invention. FIG. 6A shows the time required to transmit 1 GByte of data in minutes, and FIG. 6B shows the average data transmission delay time of each packet.
도 6a를 참조하면, 해당 USB 디바이스가 high speed를 사용하는 경우, 클라이언트 수의 증가에 따라 데이터 전송률이 증가함에 따라 full speed를 고정적으로 사용하는 경우에 비해 지연 시간이 낮다. 그러나, 앞서 설명한 바와 같은 Wi-Fi 디바이스 내의] 버퍼부에서 오버 플로우가 발생할 가능성이 있다. 반면, 본 발명의 실시 예에 따른 적응적 속도 제어를 수행(PS/Advanced, PS/Basic)한 경우, 클라이언트 수가 증가함에 따라 Wi-Fi 디바이스 내의 버퍼부의 데이터 저장량을 고려함에 따라 오버 플로우가 발생할 가능성이 낮으면서도 지연시간이 high speed를 사용하는 경우에 비해 크게 높지 않음을 볼 수 있다.Referring to FIG. 6A, when the USB device uses high speed, as the data rate increases with the increase in the number of clients, the delay time is lower than when the full speed is fixedly used. However, there is a possibility that an overflow may occur in the buffer portion within the Wi-Fi device as described above. On the other hand, when the adaptive rate control according to the embodiment of the present invention is performed (PS / Advanced, PS / Basic), as the number of clients increases, the overflow may occur And the delay time is not so high as compared with the case of using the high speed.
도 6b 참조하면, 해당 USB 디바이스가 high speed와, full speed를 고정적으로 사용하는 경우 USB 통신을 수행할 디바이스간 데이터 전송 소요 시간이 클라이언트의 수가 증가함에 따라 증가함을 볼 수 있다. 이에 반해, 본 발명의 실시 예에 따른 적응적 속도 제어를 수행하는 PS/Advanced 및 PS/Basic의 경우, 클라이언트 수가 증가함에 따라 USB 통신을 수행할 디바이스간 데이터 전송 소요 시간이 크게 변화하지 않음을 볼 수 있다.
Referring to FIG. 6B, it can be seen that, when the USB device fixedly uses high speed and full speed, the time required for data transfer between USB communication devices increases as the number of clients increases. On the other hand, in the case of PS / Advanced and PS / Basic which perform adaptive speed control according to the embodiment of the present invention, the time required for data transmission between devices to perform USB communication does not change significantly as the number of clients increases .
한편 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 안되며 후술하는 특허 청구의 범위뿐만 아니라 이 특허 청구의 범위와 균등한 것들에 의해 정해져야 한다.While the present invention has been described in connection with what is presently considered to be the most practical and preferred embodiment, it is to be understood that the invention is not limited to the disclosed embodiments, but is capable of various modifications within the scope of the invention. Therefore, the scope of the present invention should not be limited by the illustrated embodiments, but should be determined by the scope of the appended claims and equivalents thereof.
Claims (16)
상기 USB 통신을 수행하는 디바이스에게 상기 무선망으로 접속을 제공하는 무선 디바이스로부터, 수신한 상기 무선 디바이스로의 데이터 전송 가능 시간 관련 정보를 기반으로 상기 무선 디바이스의 현재 데이터 저장량에 상응하는 데이터 전송 후 남은 시간이 존재하는 지 확인하는 과정과,
상기 남은 시간이 존재하면, 상기 현재 데이터 저장량과 상기 무선 디바이스의 이전 데이터 저장량을 이용하여 상기 데이터 전송 속도의 변경을 결정하는 과정을 포함하는 USB 통신을 위한 데이터 전송 제어 방법.
A method of controlling data transmission for universal serial bus (USB) communication in a wireless network,
The method comprising: receiving, from a wireless device providing a connection to the wireless network, a device that performs USB communication, the remaining data after data transmission corresponding to the current data storage amount of the wireless device, Checking whether there is a time,
And if the remaining time exists, determining a change in the data transmission rate using the current data storage amount and the previous data storage amount of the wireless device.
상기 데이터 전송 가능 시간 관련 정보는,
데이터 전송 가능 시간이 미리 설정된 데이터에 대한 상기 데이터 전송 가능 시간 설정 여부를 지시하는 정보와, 상기 데이터에 대한 현재 데이터 저장량 및 상기 데이터 전송 가능 시간 중 적어도 하나를 포함함을 특징으로 하는 USB 통신을 위한 데이터 전송 제어 방법.
The method according to claim 1,
The data-transfer-possible-time-
Wherein the data transmission time includes at least one of information indicating whether or not the data transmission available time is set for the preset data, and a current data storage amount and the data transmission available time for the data. A method for controlling data transmission.
상기 확인하는 과정은,
상기 데이터 전송 가능 시간 중 상기 데이터의 상기 현재 데이터 저장량에 상응하는 데이터 전송 후 상기 남은 시간이 존재하는 지 확인하는 과정을 포함하는 USB 통신을 위한 데이터 전송 제어 방법.
3. The method of claim 2,
In the checking process,
And checking whether the remaining time exists after the data transmission corresponding to the current data storage amount of the data among the data transmission available time.
상기 남은 시간이 존재하면, 상기 데이터의 현재 데이터 저장량과 상기 데이터의 이전 데이터 저장량을 획득하는 과정과.
상기 현재 데이터 저장량이 상기 이전 데이터 저장량보다 크면, 상기 데이터 전송 속도를 미리 결정된 단계만큼 감소시키는 과정을 포함하는 USB 통신을 위한 데이터 전송 제어 방법.
The method of claim 3, wherein the step of determining the change of the data transmission rate comprises:
Acquiring a current data storage amount of the data and a previous data storage amount of the data when the remaining time exists;
And decreasing the data transmission rate by a predetermined number if the current data storage amount is greater than the previous data storage amount.
상기 현재 데이터 저장량이 상기 이전 데이터 저장량보다 작으면, 상기 현재 데이터 저장량이 0임을 확인하는 과정과,
상기 현재 데이터 저장량이 0이면, 상기 데이터 전송 속도를 미리 결정된 단계만큼 증가시키는 과정을 포함하는 USB 통신을 위한 데이터 전송 제어 방법.
5. The method of claim 4,
Confirming that the current data storage amount is 0 if the current data storage amount is smaller than the previous data storage amount;
And increasing the data transmission rate by a predetermined number if the current data storage amount is zero.
상기 데이터 전송 속도는,
상기 디바이스의 버퍼의 현재 데이터 저장량을 이용하여 설정됨을 특징으로 하는 USB 통신을 위한 데이터 전송 제어 방법.
The method according to claim 1,
Wherein the data transfer rate
And setting a current data storage amount of the buffer of the device.
상기 무선망으로의 접속을 지원하는 무선 디바이스가 데이터 별로 데이터 전송 가능 시간을 미리 설정하는 과정과,
해당 데이터의 현재 데이터 저장량이 미리 결정된 임계값 미만이면, 상기 데이터 전송 가능 시간에 대한 정보를 상기 USB 통신을 수행하려는 디바이스에게 전송하는 과정을 포함하는 USB 통신을 위한 데이터 전송 제어 방법.
A method of controlling data transmission for universal serial bus (USB) communication in a wireless network,
The method comprising the steps of: a wireless device supporting connection to the wireless network,
If the current data storage amount of the data is less than a predetermined threshold value, transmitting information on the data transmission available time to the USB communication device.
상기 데이터 전송 가능 시간에 대한 정보는,
상기 데이터에 대한 상기 데이터 전송 가능 시간 설정 여부를 지시하는 정보와, 상기 데이터에 대한 현재 데이터 저장량 및 상기 데이터 전송 가능 시간 중 적어도 하나를 포함함을 특징으로 하는 USB 통신을 위한 데이터 전송 제어 방법.
8. The method of claim 7,
The information on the data transmission available time may be, for example,
Wherein the at least one of the information indicating whether to set the data transmission enable time for the data and the current data storage amount and the data transfer enable time for the data.
송수신부를 통해서 상기 USB 통신을 수행하는 디바이스에게 상기 무선망으로 접속을 제공하는 무선 디바이스로부터, 수신한 상기 무선 디바이스로의 데이터 전송 가능 시간 관련 정보를 기반으로, 상기 무선 디바이스의 현재 데이터 저장량에 상응하는 데이터 전송 후 남은 시간이 존재하는 지 확인하고, 상기 남은 시간이 존재하면, 상기 현재 데이터 저장량과 상기 무선 디바이스의 이전 데이터 저장량을 이용하여 상기 데이터 전송 속도의 변경을 결정하는 속도 제어부를 포함하는 장치.
An apparatus for controlling data transmission for USB (Universal Serial Bus) communication in a wireless network,
Receiving, from the wireless device providing the connection to the wireless network to the device that performs the USB communication through the transmission / reception unit, information corresponding to the current data storage amount of the wireless device Determining whether there is a remaining time after data transmission, and, when the remaining time exists, determining a change in the data transmission rate using the current data storage amount and the previous data storage amount of the wireless device.
상기 데이터 전송 가능 시간 관련 정보는,
데이터 전송 가능 시간이 미리 설정된 데이터에 대한 상기 데이터 전송 가능 시간 설정 여부를 지시하는 정보와, 상기 데이터에 대한 현재 데이터 저장량 및 상기 데이터 전송 가능 시간 중 적어도 하나를 포함함을 특징으로 하는 장치.10. The method of claim 9,
The data-transfer-possible-time-
Information indicating whether or not the data transmission available time for the preset data is set, and the current data storage amount and the data transmission available time for the data.
상기 속도 제어부는,
상기 데이터 전송 가능 시간 중 상기 데이터의 상기 현재 데이터 저장량에 상응하는 데이터 전송 후 상기 남은 시간이 존재하는 지 확인함을 특징으로 하는 장치.
11. The method of claim 10,
Wherein the speed control unit comprises:
And determines whether the remaining time exists after the data transmission corresponding to the current data storage amount of the data among the data transmission available time.
상기 속도 제어부는,
상기 남은 시간이 존재하면, 상기 데이터의 현재 데이터 저장량과 상기 데이터의 이전 데이터 저장량을 획득하고, 상기 현재 데이터 저장량이 상기 이전 데이터 저장량보다 크면, 상기 데이터 전송 속도를 미리 결정된 단계만큼 감소시킴을 특징으로 하는 장치.
12. The method of claim 11,
Wherein the speed control unit comprises:
And if the remaining time is present, acquires a current data storage amount of the data and a previous data storage amount of the data, and decreases the data transmission speed by a predetermined step if the current data storage amount is larger than the previous data storage amount .
상기 속도 제어부는, 상기 현재 데이터 저장량이 상기 이전 데이터 저장량보다 작으면, 상기 현재 데이터 저장량이 0임을 확인하고, 상기 현재 데이터 저장량이 0이면, 상기 데이터 전송 속도를 미리 결정된 단계만큼 증가시킴을 특징으로 하는 장치.
13. The method of claim 12,
Wherein the rate control unit confirms that the current data storage amount is 0 if the current data storage amount is smaller than the previous data storage amount and increases the data transmission speed by a predetermined step if the current data storage amount is 0 .
상기 데이터 전송 속도는,
상기 디바이스의 버퍼의 현재 데이터 저장량을 이용하여 설정됨을 특징으로 하는 장치.
10. The method of claim 9,
Wherein the data transfer rate
The current data storage amount of the buffer of the device.
상기 무선망으로의 접속을 지원하는 무선 디바이스가 송신하는 데이터 별로 데이터 전송 가능 시간을 미리 설정하고, 해당 데이터의 현재 데이터 저장량이 미리 결정된 임계값 미만이면, 상기 데이터 전송 가능 시간에 대한 정보를 상기 USB 통신을 수행하려는 디바이스에게 전송하도록 송수신부를 제어하는 제어부를 포함하는 장치.
An apparatus for controlling data transmission for USB (Universal Serial Bus) communication in a wireless network,
A wireless device that supports connection to the wireless network sets a data transmission available time for each data to be transmitted, and if the current data storage amount of the data is less than a predetermined threshold value, And controls the transmission / reception unit to transmit the data to the device that is to perform the communication.
상기 데이터 전송 가능 시간에 대한 정보는,
상기 데이터에 대한 상기 데이터 전송 가능 시간 설정 여부를 지시하는 정보와, 상기 데이터에 대한 현재 데이터 저장량 및 상기 데이터 전송 가능 시간 중 적어도 하나를 포함함을 특징으로 하는 장치.
16. The method of claim 15,
The information on the data transmission available time may be, for example,
Information indicating whether to set the data transmission enable time for the data, and at least one of a current data storage amount and a data transmission enable time for the data.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140051814A KR20150124796A (en) | 2014-04-29 | 2014-04-29 | A method and apparatus for controlling data transmitting for universal serial bus communication in a radio environment |
PCT/KR2015/004333 WO2015167254A1 (en) | 2014-04-29 | 2015-04-29 | Method and device for controlling data transmission for usb communication in wireless environment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140051814A KR20150124796A (en) | 2014-04-29 | 2014-04-29 | A method and apparatus for controlling data transmitting for universal serial bus communication in a radio environment |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20150124796A true KR20150124796A (en) | 2015-11-06 |
Family
ID=54358896
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020140051814A KR20150124796A (en) | 2014-04-29 | 2014-04-29 | A method and apparatus for controlling data transmitting for universal serial bus communication in a radio environment |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR20150124796A (en) |
WO (1) | WO2015167254A1 (en) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7571246B2 (en) * | 2004-07-29 | 2009-08-04 | Microsoft Corporation | Media transrating over a bandwidth-limited network |
US8200856B2 (en) * | 2006-05-25 | 2012-06-12 | Qualcomm Incorporated | Flow control for universal serial bus (USB) |
JP2009110609A (en) * | 2007-10-31 | 2009-05-21 | Hitachi Ltd | Stream data transfer control mechanism |
JP5262535B2 (en) * | 2008-10-01 | 2013-08-14 | 株式会社リコー | Wireless USB host device |
US8493992B2 (en) * | 2010-02-04 | 2013-07-23 | Texas Instruments Incorporated | Interrelated WiFi and USB protocols and other application framework processes, circuits and systems |
-
2014
- 2014-04-29 KR KR1020140051814A patent/KR20150124796A/en not_active Application Discontinuation
-
2015
- 2015-04-29 WO PCT/KR2015/004333 patent/WO2015167254A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2015167254A1 (en) | 2015-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5238036B2 (en) | Limiting RLC window size in HSDPA flow control | |
US20190028929A1 (en) | Data-interface flow-splitting method, apparatus, terminal device, and computer storage medium | |
EP1603283A2 (en) | Access to a shared communication medium | |
US8214552B2 (en) | Transmission apparatus, transmission method, communication apparatus, and program | |
KR101978457B1 (en) | Adjusting thread priority to improve throughput between peer-to-peer (p2p) devices | |
JP2014502446A (en) | System and method for communicating in a network | |
EP4156766A1 (en) | Data packet sending method and apparatus | |
CN114157603A (en) | Congestion control method, device, equipment and storage medium | |
JP2019525622A (en) | System and method for uplink data scheduling for grant-free transmission | |
US20200252337A1 (en) | Data transmission method, device, and computer storage medium | |
CN109314884B (en) | Service data distribution method and device | |
CN110312283B (en) | Information processing method and device | |
WO2019105317A1 (en) | Method for sending service packet, network device, and system | |
US10560389B2 (en) | Method and apparatus for controlling send buffer of transmission control protocol in communication system | |
WO2011006336A1 (en) | Time division duplexing (tdd) style-based data transmission method and apparatus | |
CN105900481A (en) | Bandwidth selection method of wireless fidelity technology and access point (ap) | |
KR102121782B1 (en) | Method and system for providing deterministic quality of service for communication devices | |
EP2922365A1 (en) | Packet transmission method, system, and station | |
US20150312012A1 (en) | Enforcing station fairness with mu-mimo deployments | |
CN115066844A (en) | Dynamic uplink end-to-end data transmission scheme with optimized memory path | |
EP3136665B1 (en) | Method for processing data packet of rlc layer and rlc entity | |
KR101573549B1 (en) | Data transmission system and method for transmitting data between different type protocols | |
KR20150124796A (en) | A method and apparatus for controlling data transmitting for universal serial bus communication in a radio environment | |
CN111615170B (en) | Data transmission method and system | |
JP2016072824A (en) | Radio communication equipment capable of changing aggregation amount in accordance with radio communication environment, radio communication program and method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |