KR101202788B1 - Universal serial bus apparatus and operating system distinction method of the universal serial bus apparatus - Google Patents
Universal serial bus apparatus and operating system distinction method of the universal serial bus apparatus Download PDFInfo
- Publication number
- KR101202788B1 KR101202788B1 KR1020120045358A KR20120045358A KR101202788B1 KR 101202788 B1 KR101202788 B1 KR 101202788B1 KR 1020120045358 A KR1020120045358 A KR 1020120045358A KR 20120045358 A KR20120045358 A KR 20120045358A KR 101202788 B1 KR101202788 B1 KR 101202788B1
- Authority
- KR
- South Korea
- Prior art keywords
- host terminal
- terminal device
- usb
- received
- descriptor
- 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/10—Program control for peripheral devices
- G06F13/102—Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4406—Loading of operating system
- G06F9/441—Multiboot arrangements, i.e. selecting an operating system to be loaded
Abstract
Description
본 발명의 실시예들은 USB(Universal Serial Bus) 장치가 호스트 단말 장치에 설치되어 있는 운영체제(Operating System: OS)를 판별하는 기법에 대한 기술에 대한 것이다.Embodiments of the present invention are directed to a technique for determining an operating system (OS) in which a universal serial bus (USB) device is installed in a host terminal device.
최근, USB(Universal Serial Bus)를 이용한 다양한 외부 장치가 출시되고 있다. 예컨대, USB를 이용한 외부 장치로는 USB 메모리, USB 모뎀, USB 키보드, USB 마우스 등이 있다. Recently, various external devices using a universal serial bus (USB) have been released. For example, external devices using USB include a USB memory, a USB modem, a USB keyboard, and a USB mouse.
USB는 컴퓨터와 주변 기기를 연결하는데 쓰이는 입출력 표준 가운데 하나로 대표적인 버전으로는 USB 1.0, 1.1, 2.0, 3.0 등이 있다. USB는 다양한 기존의 직렬, 병렬 방식의 연결을 대체하기 위하여 만들어진 것으로, 키보드, 마우스, 게임패드, 조이스틱, 스캐너, 디지털 카메라, 프린터, PDA, 저장장치와 같은 다양한 기기를 연결하는 데 사용되고 있다. USB is one of the input and output standards used to connect computers and peripherals, and its representative versions include USB 1.0, 1.1, 2.0, and 3.0. USB is designed to replace many existing serial and parallel connections, and is used to connect a variety of devices such as keyboards, mice, gamepads, joysticks, scanners, digital cameras, printers, PDAs, and storage devices.
이러한 기기 연결의 대부분은 표준 연결 방식을 이용하여 이루어지고 있으며, USB는 원래 PC를 위하여 개발되었지만 지금은 PDA나 게임콘솔 등에서도 채택되어 사용되고 있고, USB의 전원 공급 기능을 이용하여 충전 용도로도 많이 사용되고 있다. Most of these devices are connected using standard connection methods. USB was originally developed for PCs, but now it is also adopted in PDAs and game consoles. It is used.
또한, 최근에는 하나의 USB 장치에 메모리, 모뎀, 입력 장치 등 다양한 디바이스(device)들을 포함시켜, 하나의 USB 장치를 통해 다양한 기능을 수행할 수 있도록 하는 제품이 등장하고 있다.Recently, a variety of devices including a memory, a modem, an input device, and the like are included in a single USB device, thereby enabling various functions to be performed through a single USB device.
예컨대, 최근 널리 사용되고 있는 스마트 폰 같은 휴대 기기는 USB를 통해 호스트 컴퓨터와 연결되어, 저장 장치의 역할을 수행하기도 하고, 스마트 폰의 제어 용도로 사용되기도 하며, 스마트 폰에 내장되어 있는 카메라의 역할을 수행하기도 한다.For example, mobile devices such as smart phones, which are widely used in recent years, are connected to a host computer via USB to serve as a storage device, to be used for controlling a smartphone, and to serve as a camera embedded in a smartphone. It may be done.
보통, USB 장치는 호스트 단말 장치에 설치되어 있는 운영체제(Operating System: OS)의 종류를 판별하지 못하기 때문에 다양한 디바이스가 포함되어 있는 USB 장치를 호스트 단말 장치에 설치되어 있는 OS의 종류에 따라 서로 다르게 사용하거나, 호스트 단말 장치에 설치되어 있는 OS의 종류에 따라 USB 장치의 기능을 변경하여 사용하는데 어려움이 있을 수 있다.In general, since the USB device cannot determine the type of operating system (OS) installed in the host terminal device, the USB device including various devices may be different from the OS type installed in the host terminal device. It may be difficult to use or change the function of the USB device according to the type of OS installed in the host terminal device.
따라서, USB 장치가 호스트 단말 장치에 설치되어 있는 OS의 종류를 판별할 수 있도록 하는 기술의 개발을 통해 USB 장치 사용과 관련된 응용 기술의 개발을 촉진시킬 필요가 있다.Therefore, it is necessary to promote the development of application technology related to the use of the USB device through the development of a technology that allows the USB device to determine the type of OS installed in the host terminal device.
본 발명의 실시예들은 USB(Universal Serial Bus) 장치가 호스트 단말 장치에 연결될 때, 상기 호스트 단말 장치로부터 수신되는 적어도 하나의 USB 데이터의 수신 순서와 종류에 기초하여 상기 호스트 단말 장치에 설치되어 있는 OS의 종류를 판별할 수 있도록 함으로써, USB 장치 사용과 관련된 응용 기술 개발의 촉진을 도모하고자 한다.Embodiments of the present invention provide an OS installed in the host terminal device based on a reception order and a type of at least one USB data received from the host terminal device when the universal serial bus (USB) device is connected to the host terminal device. The purpose of this study is to facilitate the development of application technologies related to the use of USB devices.
본 발명의 일실시예에 따른 USB(Universal Serial Bus) 장치는 상기 USB 장치가 호스트 단말 장치에 연결되면, 상기 호스트 단말 장치로부터 상기 USB 장치의 인식과 연관된 적어도 하나의 USB 데이터를 수신하는 데이터 수신부, 상기 데이터 수신부를 통해 수신되는 상기 적어도 하나의 USB 데이터의 수신 순서와 종류를 확인하는 확인부 및 상기 적어도 하나의 USB 데이터의 수신 순서와 종류에 기초하여 상기 호스트 단말 장치에 설치되어 있는 운영체제(Operating System: OS)의 종류를 판단하는 판단부를 포함한다.According to an embodiment of the present invention, a universal serial bus (USB) device may include a data receiver configured to receive at least one USB data associated with recognition of the USB device from the host terminal device when the USB device is connected to a host terminal device; An operating system installed in the host terminal device based on a confirmation unit for confirming the order and type of the at least one USB data received through the data receiver and the order and type of the at least one USB data. It includes a determination unit for determining the type of (OS).
또한, 본 발명의 일실시예에 따른 USB 장치의 운영체제 판별 방법은 상기 USB 장치가 호스트 단말 장치에 연결되면, 상기 호스트 단말 장치로부터 상기 USB 장치의 인식과 연관된 적어도 하나의 USB 데이터를 수신하는 단계, 상기 적어도 하나의 USB 데이터의 수신 순서와 종류를 확인하는 단계 및 상기 적어도 하나의 USB 데이터의 수신 순서와 종류에 기초하여 상기 호스트 단말 장치에 설치되어 있는 OS의 종류를 판단하는 단계를 포함한다.The method of determining an operating system of a USB device according to an embodiment of the present invention may include receiving at least one USB data associated with recognition of the USB device from the host terminal device when the USB device is connected to a host terminal device; Determining a reception order and a type of the at least one USB data, and determining a type of the OS installed in the host terminal device based on the reception order and the type of the at least one USB data.
본 발명의 실시예들은 USB(Universal Serial Bus) 장치가 호스트 단말 장치에 연결될 때, 상기 호스트 단말 장치로부터 수신되는 적어도 하나의 USB 데이터의 수신 순서와 종류에 기초하여 상기 호스트 단말 장치에 설치되어 있는 OS의 종류를 판별할 수 있도록 함으로써, USB 장치 사용과 관련된 응용 기술의 개발을 촉진시킬 수 있다.Embodiments of the present invention provide an OS installed in the host terminal device based on a reception order and a type of at least one USB data received from the host terminal device when the universal serial bus (USB) device is connected to the host terminal device. By making it possible to determine the type of, the development of application technology related to the use of the USB device can be promoted.
도 1은 본 발명의 일실시예에 따른 USB(Universal Serial Bus) 장치의 구조를 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 USB 장치의 운영체제 판별 방법을 도시한 순서도이다.
도 3은 본 발명의 일실시예에 따른 USB 장치의 운영체제 판별 방법 중 호스트 단말 장치에 설치되어 있는 운영체제의 종류를 판단하는 구체적 단계를 도시한 순서도이다.1 is a diagram showing the structure of a USB (Universal Serial Bus) device according to an embodiment of the present invention.
2 is a flowchart illustrating a method for determining an operating system of a USB device according to an embodiment of the present invention.
3 is a flowchart illustrating specific steps of determining a type of operating system installed in a host terminal device in a method for determining an operating system of a USB device according to an embodiment of the present invention.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다. While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that the invention is not intended to be limited to the particular embodiments, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention. Like reference numerals are used for like elements in describing each drawing.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. When a component is referred to as being "connected" or "connected" to another component, it may be directly connected to or connected to that other component, but it may be understood that other components may be present in between. Should be. On the other hand, when an element is referred to as being "directly connected" or "directly connected" to another element, it should be understood that there are no other elements in between.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used herein is for the purpose of describing particular example embodiments only and is not intended to be limiting of the present invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In this application, the terms "comprise" or "have" are intended to indicate that there is a feature, number, step, operation, component, part, or combination thereof described in the specification, and one or more other features. It is to be understood that the present invention does not exclude the possibility of the presence or the addition of numbers, steps, operations, components, components, or a combination thereof.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in the commonly used dictionaries should be construed as having meanings consistent with the meanings in the context of the related art and shall not be construed in ideal or excessively formal meanings unless expressly defined in this application. Do not.
이하에서, 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, embodiments according to the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명의 일실시예에 따른 USB(Universal Serial Bus) 장치의 구조를 도시한 도면이다.1 is a diagram showing the structure of a USB (Universal Serial Bus) device according to an embodiment of the present invention.
도 1을 참조하면, 본 발명의 일실시예에 따른 USB 장치(110)와 호스트 단말 장치(130)가 도시되어 있다.Referring to FIG. 1, a
여기서, 호스트 단말 장치(130)는 데스크탑 PC, 노트북, 모바일 단말, PDA, 태블릿 PC 등 USB 인터페이스를 기초로 USB 장치(110)와 연결되어 USB 장치(110)와 데이터 송수신을 수행할 수 있는 마이크로 프로세서 기반의 장치를 의미한다.Here, the
본 발명의 일실시예에 따른 USB 장치(110)는 데이터 수신부(111), 확인부(112) 및 판단부(113)를 포함한다.The
USB 장치(110)가 호스트 단말 장치(130)와 연결되면, 호스트 단말 장치(130)는 USB 장치(110)를 인식하기 위해 USB 장치(110)와 USB 데이터를 송수신한다.When the
이때, 호스트 단말 장치(130)에 설치되어 있는 운영체제(Operating System: OS)의 종류에 따라 호스트 단말 장치(130)가 USB 장치(110)로 전송하는 USB 데이터의 순서와 종류는 하기의 표 1과 같다.
In this case, the order and type of USB data transmitted from the
만약, 호스트 단말 장치(130)에 "WindowsTM"라는 OS가 설치되어 있다면, 호스트 단말 장치(130)는 USB 장치(110)에 대해 상기 표 1에 나타낸 1번부터 17번까지의 USB 데이터 중 WindowsTM OS에 대해 "○"로 표시된 USB 데이터만을 1번부터 17번까지 순차적으로 전송할 수 있다.If an OS called "Windows TM " is installed in the
또한, 호스트 단말 장치(130)에 "MacTM"이라는 OS가 설치되어 있다면, 호스트 단말 장치(130)는 USB 장치(110)에 대해 상기 표 1에 나타낸 1번부터 17번까지의 USB 데이터 중 MacTM OS에 대해 "○"로 표시된 USB 데이터만을 1번부터 17번까지 순차적으로 전송할 수 있다.In addition, if the OS "Mac TM " is installed in the
마지막으로, 호스트 단말 장치(130)에 "LinuxTM"라는 OS가 설치되어 있다면, 호스트 단말 장치(130)는 USB 장치(110)에 대해 상기 표 1에 나타낸 1번부터 17번까지의 USB 데이터 중 LinuxTM OS에 대해 "○"로 표시된 USB 데이터만을 1번부터 17번까지 순차적으로 전송할 수 있다.Finally, if the OS "Linux TM " is installed in the
이렇게, USB 장치(110)가 호스트 단말 장치(130)에 연결되어, 호스트 단말 장치(130)가 USB 장치(110)에 대해 USB 장치(110)의 인식과 연관된 적어도 하나의 USB 데이터를 전송하면, 데이터 수신부(111)는 호스트 단말 장치(130)로부터 상기 적어도 하나의 USB 데이터를 수신한다.As such, when the
이때, 확인부(112)는 데이터 수신부(111)를 통해 수신되는 상기 적어도 하나의 USB 데이터의 수신 순서와 종류를 확인한다.At this time, the
그리고, 판단부(113)는 상기 적어도 하나의 USB 데이터의 수신 순서와 종류에 기초하여 호스트 단말 장치(130)에 설치되어 있는 OS의 종류를 판단한다.The
이때, 본 발명의 일실시예에 따르면, 판단부(113)는 제1 데이터 판단부(114) 및 제1 OS 판단부(115)를 포함할 수 있다.At this time, according to an embodiment of the present invention, the
제1 데이터 판단부(114)는 상기 적어도 하나의 USB 데이터 중 호스트 단말 장치(130)로부터 Get Configuration Descriptor가 최초로 수신되기 이전에 Get String Descriptor가 수신되었는지 여부를 판단한다.The first
만약, 호스트 단말 장치(130)로부터 상기 Get Configuration Descriptor가 최초로 수신되기 이전에 상기 Get String Descriptor가 수신된 것으로 판단된 경우, 제1 OS 판단부(115)는 호스트 단말 장치(130)에 설치되어 있는 OS를 MacTM OS로 판단할 수 있다.If it is determined that the Get String Descriptor is received before the Get Configuration Descriptor is first received from the
관련하여, 호스트 단말 장치(130)에 WindowsTM OS와 LinuxTM OS가 설치되어 있는 경우, 호스트 단말 장치(130)는 USB 장치(110)에 대해 Get Configuration Descriptor를 최초로 전송하기 이전에 Get String Descriptor를 전송하지 않는다.In this regard, when the Windows TM OS and the Linux TM OS are installed in the
즉, 상기 표 1을 이용하여 설명하면, 호스트 단말 장치(130)에 WindowsTM OS와 LinuxTM OS가 설치되어 있는 경우, 호스트 단말 장치(130)는 USB 장치(110)에 대해 상기 표 1의 6번에 나타낸 바와 같은 Get Configuration Descriptor를 최초로 전송하기 이전에 상기 표 1의 4번 또는 5번에 나타낸 바와 같은 Get String Descriptor를 전송하지 않는다.That is, referring to Table 1 above, when the Windows TM OS and the Linux TM OS are installed in the
하지만, 호스트 단말 장치(130)에 MacTM OS가 설치되어 있는 경우, 호스트 단말 장치(130)는 USB 장치(110)에 대해 Get Configuration Descriptor를 최초로 전송하기 이전에 Get String Descriptor를 전송한다.However, when the Mac TM OS is installed in the
즉, 상기 표 1을 이용하여 설명하면, 호스트 단말 장치(130)에 MacTM OS가 설치되어 있는 경우, 호스트 단말 장치(130)는 USB 장치(110)에 대해 상기 표 1의 6번에 나타낸 바와 같은 Get Configuration Descriptor를 최초로 전송하기 이전에 상기 표 1의 4번과 5번에 나타낸 바와 같은 Get String Descriptor를 전송한다.That is, referring to Table 1, when the Mac TM OS is installed in the
다시 말해서, 데이터 수신부(111)가 호스트 단말 장치(130)로부터 Get Configuration Descriptor를 최초로 수신하기 이전에 Get String Descriptor를 수신하였다면, 호스트 단말 장치(130)에 설치되어 있는 OS는 MacTM OS라고 판단할 수 있다.In other words, if the
따라서, 제1 데이터 판단부(114)에서 호스트 단말 장치(130)로부터 Get Configuration Descriptor가 최초로 수신되기 이전에 Get String Descriptor가 수신된 것으로 판단된 경우, 제1 OS 판단부(115)는 호스트 단말 장치(130)에 설치되어 있는 OS를 MacTM OS로 판단할 수 있다.Therefore, when the
이때, 본 발명의 일실시예에 따르면, 판단부(113)는 제2 데이터 판단부(116) 및 제2 OS 판단부(117)를 더 포함할 수 있다.In this case, according to an embodiment of the present invention, the
제2 데이터 판단부(116)는 제1 데이터 판단부(114)에서 호스트 단말 장치(130)로부터 Get Configuration Descriptor가 최초로 수신되기 이전에 Get String Descriptor가 수신되지 않은 것으로 판단된 경우, 상기 적어도 하나의 USB 데이터 중 호스트 단말 장치(130)로부터 Set Configuration이 수신되기 이전에 제조사를 나타내는 문자열이 String Descriptor의 몇 번째에 위치하는지 여부를 나타내는 인덱스인 "iManufacturer"에 대한 Get String Descriptor가 수신되었는지 여부를 판단한다.When the
이때, 호스트 단말 장치(130)로부터 상기 Set Configuration이 수신되기 이전에 상기 "iManufacturer"에 대한 Get String Descriptor가 수신된 것으로 판단된 경우, 제2 OS 판단부(117)는 호스트 단말 장치(130)에 설치되어 있는 OS를 LinuxTM OS로 판단할 수 있다.In this case, when it is determined that the Get String Descriptor for the “iManufacturer” is received before the Set Configuration is received from the
관련하여, 호스트 단말 장치(130)에 WindowsTM OS가 설치되어 있는 경우, 호스트 단말 장치(130)는 USB 장치(110)에 대해 Get Configuration Descriptor를 최초로 전송하기 이전에 Get String Descriptor를 전송하지 않고, 그 이후 USB 장치(110)에 대해 Set Configuration을 전송하기 이전에 "iManufacturer"에 대한 Get String Descriptor를 전송하지 않는다.In this regard, when the Windows TM OS is installed in the
즉, 상기 표 1을 이용하여 설명하면, 호스트 단말 장치(130)에 WindowsTM OS가 설치되어 있는 경우, 호스트 단말 장치(130)는 USB 장치(110)에 대해 상기 표 1의 6번에 나타낸 바와 같은 Get Configuration Descriptor를 최초로 전송하기 이전에 상기 표 1의 4번 또는 5번에 나타낸 바와 같은 Get String Descriptor를 전송하지 않고, 그 이후 USB 장치(110)에 대해 상기 표 1의 15번에 나타낸 바와 같은 Set Configuration을 전송하기 이전에 상기 표 1의 11번에 나타낸 바와 같은 "iManufacturer"에 대한 Get String Descriptor를 전송하지 않는다.That is, referring to Table 1, when the Windows TM OS is installed in the
하지만, 호스트 단말 장치(130)에 LinuxTM OS가 설치되어 있는 경우, 호스트 단말 장치(130)는 USB 장치(110)에 대해 Get Configuration Descriptor를 최초로 전송하기 이전에 Get String Descriptor를 전송하지 않지만, 그 이후 USB 장치(110)에 대해 Set Configuration을 전송하기 이전에 "iManufacturer"에 대한 Get String Descriptor를 전송한다.However, when the Linux TM OS is installed in the
즉, 상기 표 1을 이용하여 설명하면, 호스트 단말 장치(130)에 LinuxTM OS가 설치되어 있는 경우, 호스트 단말 장치(130)는 USB 장치(110)에 대해 상기 표 1의 6번에 나타낸 바와 같은 Get Configuration Descriptor를 최초로 전송하기 이전에 표 1의 4번 또는 5번에 나타낸 바와 같은 Get String Descriptor를 전송하지 않고, 그 이후 USB 장치(110)에 대해 상기 표 1의 15번에 나타낸 바와 같은 Set Configuration을 전송하기 이전에 상기 표 1의 11번에 나타낸 바와 같은 "iManufacturer"에 대한 Get String Descriptor를 전송한다.That is, referring to Table 1, when the Linux TM OS is installed in the
다시 말해서, 데이터 수신부(111)가 호스트 단말 장치(130)로부터 Get Configuration Descriptor를 최초로 수신하기 이전에 Get String Descriptor를 수신하지 않았고, 그 이후, 호스트 단말 장치(130)로부터 Set Configuration을 수신하기 이전에 "iManufacturer"에 대한 Get String Descriptor를 수신하였다면, 호스트 단말 장치(130)에 설치되어 있는 OS는 LinuxTM OS라고 판단할 수 있다.In other words, the
따라서, 제1 데이터 판단부(114)에서 호스트 단말 장치(130)로부터 Get Configuration Descriptor가 최초로 수신되기 이전에 Get String Descriptor가 수신되지 않은 것으로 판단되었고, 제2 데이터 판단부(116)에서 호스트 단말 장치(130)로부터 Set Configuration이 수신되기 이전에 "iManufacturer"에 대한 Get String Descriptor가 수신된 것으로 판단된 경우, 제2 OS 판단부(117)는 호스트 단말 장치(130)에 설치되어 있는 OS를 LinuxTM OS로 판단할 수 있다.Accordingly, it was determined that the Get String Descriptor was not received before the Get Configuration Descriptor was first received from the
이때, 본 발명의 일실시예에 따르면, 제2 OS 판단부(117)는 제1 데이터 판단부(114)에서 호스트 단말 장치(130)로부터 Get Configuration Descriptor가 최초로 수신되기 이전에 Get String Descriptor가 수신되지 않은 것으로 판단되었고, 제2 데이터 판단부(116)에서 호스트 단말 장치(130)로부터 Set Configuration이 수신되기 이전에 "iManufacturer"에 대한 Get String Descriptor가 수신되지 않은 것으로 판단된 경우, 호스트 단말 장치(130)에 설치되어 있는 OS를 WindowsTM OS로 판단할 수 있다.At this time, according to an embodiment of the present invention, the
즉, 제2 OS 판단부(117)는 앞서 살펴본 MacTM OS 또는 LinuxTM OS의 특징과 다른 USB 데이터 수신 패턴이 있는 것으로 판단된 경우, 호스트 단말 장치(130)에 설치되어 있는 OS를 WindowsTM OS로 판단할 수 있다.That is, when it is determined that there is a USB data receiving pattern different from the characteristics of the Mac TM OS or Linux TM OS described above, the second
이때, WindowsTM OS는 앞서 살펴본 MacTM OS 또는 LinuxTM OS의 특징과 다른 USB 데이터 수신 패턴에 더해 추가적으로 WindowsTM OS의 고유한 USB 데이터 수신 패턴을 가질 수 있다. 따라서, 본 발명의 일실시예에 따른 USB 장치(110)는 WindowsTM OS의 고유한 USB 데이터 수신 패턴을 추가적으로 고려하여 호스트 단말 장치(130)에 설치되어 있는 OS를 WindowsTM OS로 판단할 수 있다.In this case, the Windows TM OS may have a unique USB data receiving pattern of the Windows TM OS in addition to the USB data receiving pattern different from the features of the Mac TM OS or the Linux TM OS described above. Thus,
이와 관련하여, 본 발명의 일실시예에 따르면, 판단부(113)는 제3 데이터 판단부(118) 및 제3 OS 판단부(119)를 더 포함할 수 있다.In this regard, according to an embodiment of the present disclosure, the
제3 데이터 판단부(118)는 제1 데이터 판단부(114)에서 호스트 단말 장치(130)로부터 Get Configuration Descriptor가 최초로 수신되기 이전에 Get String Descriptor가 수신되지 않은 것으로 판단되고, 제2 데이터 판단부(116)에서 호스트 단말 장치(130)로부터 Set Configuration이 수신되기 "iManufacturer"에 대한 Get String Descriptor가 수신되지 않은 것으로 판단된 경우, 상기 적어도 하나의 USB 데이터 중 호스트 단말 장치(130)로부터 Get MS OS Compatible Id Descriptor가 수신되었는지 여부를 판단한다.The
이때, 호스트 단말 장치(130)로부터 상기 Get MS OS Compatible Id Descriptor가 수신된 것으로 판단된 경우, 제3 OS 판단부(119)는 호스트 단말 장치(130)에 설치되어 있는 OS를 WindowsTM OS로 판단할 수 있다.In this case, when it is determined that the Get MS OS Compatible Id Descriptor is received from the
관련하여, 호스트 단말 장치(130)에 WindowsTM OS가 설치되어 있는 경우, 호스트 단말 장치(130)는 USB 장치(110)에 대해 Get Configuration Descriptor를 최초로 전송하기 이전에 Get String Descriptor를 전송하지 않고, 그 이후 USB 장치(110)에 대해 Set Configuration을 전송하기 이전에 "iManufacturer"에 대한 Get String Descriptor를 전송하지 않으며, 그 이후 USB 장치(110)에 대해 Get MS OS Compatible Id Descriptor를 전송한다.In this regard, when the Windows TM OS is installed in the
즉, 상기 표 1을 이용하여 설명하면, 호스트 단말 장치(130)에 WindowsTM OS가 설치되어 있는 경우, 호스트 단말 장치(130)는 USB 장치(110)에 대해 상기 표 1의 6번에 나타낸 바와 같은 Get Configuration Descriptor를 최초로 전송하기 이전에 표 1의 4번 또는 5번에 나타낸 바와 같은 Get String Descriptor를 전송하지 않고, 그 이후 USB 장치(110)에 대해 상기 표 1의 15번에 나타낸 바와 같은 Set Configuration을 전송하기 이전에 상기 표 1의 11번에 나타낸 바와 같은 "iManufacturer"에 대한 Get String Descriptor를 전송하지 않으며, 그 이후 USB 장치(110)에 대해 상기 표 1의 16번에 나타낸 바와 같은 Get MS OS Compatible Id Descriptor를 전송한다.That is, referring to Table 1, when the Windows TM OS is installed in the
다시 말해서, 데이터 수신부(111)가 호스트 단말 장치(130)로부터 Get Configuration Descriptor를 최초로 수신하기 이전에 Get String Descriptor를 수신하지 않았고, 그 이후, 호스트 단말 장치(130)로부터 Set Configuration을 수신하기 이전에 "iManufacturer"에 대한 Get String Descriptor를 수신하지 않았으며, 그 이후, 호스트 단말 장치(130)로부터 Get MS OS Compatible Id Descriptor를 수신하였다면, 호스트 단말 장치(130)에 설치되어 있는 OS는 WindowsTM OS라고 판단할 수 있다.In other words, the
따라서, 제1 데이터 판단부(114)에서 호스트 단말 장치(130)로부터 Get Configuration Descriptor가 최초로 수신되기 이전에 Get String Descriptor가 수신되지 않은 것으로 판단되었고, 제2 데이터 판단부(116)에서 호스트 단말 장치(130)로부터 Set Configuration이 수신되기 이전에 "iManufacturer"에 대한 Get String Descriptor가 수신되지 않은 것으로 판단되었으며, 제3 데이터 판단부(118)에서 호스트 단말 장치(130)로부터 Get MS OS Compatible Id Descriptor가 수신된 것으로 판단된 경우, 제3 OS 판단부(119)는 호스트 단말 장치(130)에 설치되어 있는 OS를 WindowsTM OS로 판단할 수 있다.Accordingly, it was determined that the Get String Descriptor was not received before the Get Configuration Descriptor was first received from the
본 발명의 일실시예에 따르면, USB 장치(110)는 정보 저장부(120), 정보 추출부(121) 및 정보 전송부(122)를 더 포함할 수 있다.According to an embodiment of the present invention, the
먼저, 본 발명의 일실시예에 따른 USB 장치(110)에는 메모리 장치, 입력 장치 또는 네트워크 장치 등과 같은 다양한 디바이스가 포함될 수 있다.First, the
정보 저장부(120)에는 USB 장치(110)에 포함되어 있는 적어도 하나의 디바이스에 대한 디바이스 인터페이스 정보가 OS의 종류에 따라 서로 다르게 구분되어 저장되어 있다.The
예컨대, USB 장치(110)에 A 디바이스, B 디바이스, C 디바이스가 포함되어 있는 경우, 정보 저장부(120)에는 MacTM OS에 대해 A 디바이스, LinuxTM OS에 대해 B 디바이스, WindowsTM OS에 대해 C 디바이스에 대한 디바이스 인터페이스 정보가 대응되도록 저장되어 있을 수 있다.For example, in the case that contains the A device, B device, C devices on the
이때, 정보 추출부(121)는 판단부(113)에서 호스트 단말 장치(130)에 설치되어 있는 OS 종류에 대한 판단이 완료되면, 정보 저장부(120)로부터 호스트 단말 장치(130)에 설치되어 있는 OS의 종류에 대응되는 디바이스 인터페이스 정보를 추출한다.At this time, the
예컨대, 호스트 단말 장치(130)에 설치되어 있는 OS가 WindowsTM OS로 판단된 경우, 정보 추출부(121)는 정보 저장부(120)로부터 WindowsTM OS에 대응되도록 저장되어 있는 상기 C 디바이스에 대한 디바이스 인터페이스 정보를 추출할 수 있다.For example, when it is determined that the OS installed in the
그리고 나서, 정보 전송부(122)는 상기 추출된 디바이스 인터페이스 정보를 호스트 단말 장치(130)로 전송한다.Then, the
이때, 본 발명의 일실시예에 따르면, 호스트 단말 장치(130)는 USB 장치(110)로부터 수신된 디바이스 인터페이스 정보를 기초로 상기 수신된 디바이스 인터페이스 정보에 대응되는 디바이스에 대한 드라이버를 로딩하여 USB 장치(110)를 상기 수신된 디바이스 인터페이스 정보에 대응되는 디바이스로 인식할 수 있다.In this case, according to an embodiment of the present invention, the
예컨대, USB 장치(110)가 상기 C 디바이스에 대한 디바이스 인터페이스 정보를 호스트 단말 장치(130)로 전송한 경우, 호스트 단말 장치(130)는 상기 C 디바이스에 대한 디바이스 인터페이스 정보를 기초로 상기 C 디바이스에 대한 드라이버를 로딩하여 USB 장치(110)를 C 디바이스로 인식할 수 있다. 즉, 호스트 단말 장치(130)에 WindowsTM OS가 설치되어 있는 경우, USB 장치(110)는 호스트 단말 장치(130)에 대해 C 디바이스로 인식되어 동작할 수 있다.For example, when the
결국, 본 발명의 일실시예에 따른 USB 장치(110)는 USB 장치(110)가 호스트 단말 장치(130)에 연결될 때, 호스트 단말 장치(130)로부터 수신되는 적어도 하나의 USB 데이터의 수신 순서와 종류에 기초하여 호스트 단말 장치(130)에 설치되어 있는 OS의 종류를 판별할 수 있음으로 인해, USB 장치(110)에 다수의 디바이스들이 포함되어 있는 경우, 호스트 단말 장치(130)에 설치되어 있는 OS의 종류에 따라 서로 다른 디바이스로 동작하도록 구현될 수 있다.As a result, when the
도 2는 본 발명의 일실시예에 따른 USB 장치의 운영체제 판별 방법을 도시한 순서도이다.2 is a flowchart illustrating a method for determining an operating system of a USB device according to an embodiment of the present invention.
단계(S210)에서는 USB 장치가 호스트 단말 장치에 연결되면, 상기 호스트 단말 장치로부터 상기 USB 장치의 인식과 연관된 적어도 하나의 USB 데이터를 수신한다.In operation S210, when the USB device is connected to the host terminal device, at least one USB data associated with the recognition of the USB device is received from the host terminal device.
단계(S220)에서는 상기 적어도 하나의 USB 데이터의 수신 순서와 종류를 확인한다.In step S220, the order and type of reception of the at least one USB data is checked.
단계(S230)에서는 상기 적어도 하나의 USB 데이터의 수신 순서와 종류에 기초하여 상기 호스트 단말 장치에 설치되어 있는 OS의 종류를 판단한다.In step S230, the type of OS installed in the host terminal device is determined based on the reception order and the type of the at least one USB data.
이때, 단계(S230)에서는 상기 호스트 단말 장치에 설치되어 있는 OS의 종류를 판단하는 과정과 관련하여 다수의 실시예들로 구성될 수 있는데, 도 3을 참조하여 단계(S230)에 대한 실시예들을 상세히 설명하기로 한다.In this case, in operation S230, a plurality of embodiments may be configured in relation to a process of determining the type of OS installed in the host terminal device. Referring to FIG. 3, embodiments of operation S230 are described. It will be described in detail.
도 3은 본 발명의 일실시예에 따른 USB 장치의 운영체제 판별 방법 중 호스트 단말 장치에 설치되어 있는 OS의 종류를 판단하는 구체적 단계를 도시한 순서도이다.3 is a flowchart illustrating specific steps of determining a type of OS installed in a host terminal device in a method of determining an operating system of a USB device according to an embodiment of the present invention.
단계(S310)에서는 상기 적어도 하나의 USB 데이터 중 상기 호스트 단말 장치로부터 Get Configuration Descriptor가 최초로 수신되기 이전에 Get String Descriptor가 수신되었는지 여부를 판단한다.In step S310, it is determined whether the Get String Descriptor is received before the Get Configuration Descriptor is first received from the host terminal device among the at least one USB data.
만약, 단계(S320)에서 단계(S310)에 대한 판단을 수행한 결과, 상기 호스트 단말 장치로부터 상기 Get Configuration Descriptor가 최초로 수신되기 이전에 상기 Get String Descriptor가 수신된 것으로 판단된 경우, 단계(S330)에서는 상기 호스트 단말 장치에 설치되어 있는 OS를 MacTM OS로 판단할 수 있다.If it is determined in step S320 that the Get String Descriptor is received before the Get Configuration Descriptor is first received from the host terminal device, in step S330. In the following description, the OS installed in the host terminal device may be determined as a Mac TM OS.
하지만, 단계(S320)에서 단계(S310)에 대한 판단을 수행한 결과, 상기 호스트 단말 장치로부터 상기 Get Configuration Descriptor가 최초로 수신되기 이전에 상기 Get String Descriptor가 수신되지 않은 것으로 판단된 경우, 단계(S340)에서는 상기 적어도 하나의 USB 데이터 중 상기 호스트 단말 장치로부터 Set Configuration이 수신되기 이전에 제조사를 나타내는 문자열이 String Descriptor의 몇 번째에 위치하는지 여부를 나타내는 인덱스인 "iManufacturer"에 대한 Get String Descriptor가 수신되었는지 여부를 판단할 수 있다.However, if it is determined in step S320 that step S310 is performed and it is determined that the Get String Descriptor is not received before the Get Configuration Descriptor is first received from the host terminal device, step S340. ), The Get String Descriptor for “iManufacturer”, which is an index indicating whether the character string indicating the manufacturer is located in the String Descriptor, before the Set Configuration is received from the host terminal device among the at least one USB data. It can be determined.
이때, 단계(S350)에서 단계(S340)에 대한 판단을 수행한 결과, 상기 호스트 단말 장치로부터 상기 Set Configuration이 수신되기 이전에 상기 "iManufacturer"에 대한 Get String Descriptor가 수신된 것으로 판단된 경우, 단계(S360)에서는 상기 호스트 단말 장치에 설치되어 있는 OS를 LinuxTM OS로 판단할 수 있다.In this case, when it is determined in step S350 that step S340 is performed, it is determined that the Get String Descriptor for the "iManufacturer" is received before the set configuration is received from the host terminal device. In operation S360, the OS installed in the host terminal device may be determined as a Linux TM OS.
하지만, 단계(S350)에서 단계(S340)에 대한 판단을 수행한 결과, 상기 호스트 단말 장치로부터 상기 Set Configuration이 수신되기 이전에 상기 "iManufacturer"에 대한 Get String Descriptor가 수신되지 않은 것으로 판단된 경우, 단계(S370)에서는 상기 적어도 하나의 USB 데이터 중 상기 호스트 단말 장치로부터 Get MS OS Compatible Id Descriptor가 수신되었는지 여부를 판단할 수 있다.However, if it is determined in step S350 that step S340 is performed and it is determined that the Get String Descriptor for the "iManufacturer" is not received before the set configuration is received from the host terminal device, In operation S370, it may be determined whether Get MS OS Compatible Id Descriptor is received from the host terminal device among the at least one USB data.
그리고 나서, 단계(S380)에서는 상기 호스트 단말 장치로부터 상기 Get MS OS Compatible Id Descriptor가 수신된 것으로 판단된 경우, 상기 호스트 단말 장치에 설치되어 있는 OS를 WindowsTM OS로 판단할 수 있다.In operation S380, when it is determined that the Get MS OS Compatible Id Descriptor is received from the host terminal device, the OS installed in the host terminal device may be determined as a Windows TM OS.
이때, 본 발명의 다른 일실시예에 따르면, 도 3에는 도시되어 있지 않지만, 상기 WindowsTM OS 여부를 판단하는 구성과 관련하여, 단계(S350)에서 단계(S340)에 대한 판단을 수행한 결과, 상기 호스트 단말 장치로부터 상기 Set Configuration이 수신되기 이전에 상기 "iManufacturer"에 대한 Get String Descriptor가 수신되지 않은 것으로 판단된 경우, 단계(S370)의 판단 없이, 바로 단계(S380)에서 상기 호스트 단말 장치에 설치되어 있는 OS를 WindowsTM OS로 판단할 수 있다.At this time, according to another embodiment of the present invention, although not shown in Figure 3, with respect to the configuration for determining whether the Windows TM OS, as a result of performing the determination of step S340 in step S350, If it is determined that the Get String Descriptor for the "iManufacturer" has not been received before the Set Configuration is received from the host terminal device, the host terminal device is immediately transmitted to the host terminal device in step S380 without determining in step S370. The installed OS can be determined as Windows TM OS.
이상, 도 3을 참조하여 단계(S230)에 대한 실시예들을 상세히 설명하였다. 이하에서는 도 2를 참조하여 본 발명의 일실시예에 따른 USB 장치의 운영체제 판별 방법에 대해 계속 설명하기로 한다.In the above, embodiments of step S230 have been described in detail with reference to FIG. 3. Hereinafter, a method of determining an operating system of a USB device according to an embodiment of the present invention will be described with reference to FIG. 2.
본 발명의 일실시예에 따르면, 상기 USB 장치에는 적어도 하나의 디바이스가 포함되어 있을 수 있다.According to an embodiment of the present invention, the USB device may include at least one device.
이때, 본 발명의 일실시예에 따르면, 상기 USB 장치의 운영체제 판별 방법은 단계(S210)이전에 상기 USB 장치에 포함되어 있는 적어도 하나의 디바이스에 대한 디바이스 인터페이스 정보가 OS의 종류에 따라 서로 다르게 구분되어 저장되어 있는 정보 저장부를 유지하는 단계를 더 포함할 수 있다. In this case, according to an embodiment of the present invention, in the operating system determination method of the USB device, device interface information for at least one device included in the USB device is different from each other according to the type of OS before step S210. The method may further include maintaining an information storage unit that has been stored.
이때, 본 발명의 일실시예에 따르면, 상기 USB 장치의 운영체제 판별 방법은 단계(S230)에서 상기 호스트 단말 장치에 설치되어 있는 OS의 종류에 대한 판단이 완료되면, 단계(S230)이후에 상기 정보 저장부로부터 상기 호스트 단말 장치에 설치되어 있는 OS의 종류에 대응되는 디바이스 인터페이스 정보를 추출하는 단계 및 상기 추출된 디바이스 인터페이스 정보를 상기 호스트 단말 장치로 전송하는 단계를 더 포함할 수 있다.At this time, according to an embodiment of the present invention, when the determination of the type of OS installed in the host terminal device is completed in step S230, the information after the step (S230) The method may further include extracting device interface information corresponding to a type of OS installed in the host terminal device from a storage unit and transmitting the extracted device interface information to the host terminal device.
이때, 상기 호스트 단말 장치는 상기 USB 장치로부터 수신된 디바이스 인터페이스 정보를 기초로 상기 수신된 디바이스 인터페이스 정보에 대응되는 디바이스에 대한 드라이버를 로딩하여 상기 USB 장치를 상기 수신된 디바이스 인터페이스 정보에 대응되는 디바이스로 인식할 수 있다.In this case, the host terminal device loads a driver for a device corresponding to the received device interface information based on the device interface information received from the USB device and transfers the USB device to the device corresponding to the received device interface information. I can recognize it.
이상, 도 2와 도 3을 참조하여 본 발명의 일실시예에 따른 USB 장치의 운영체제 판별 방법에 대해 설명하였다. 여기서, 본 발명의 일실시예에 따른 USB 장치의 운영체제 판별 방법은 도 1을 이용하여 설명한 USB 장치(110)의 동작에 대한 구성과 대응될 수 있으므로, 이에 대한 보다 상세한 설명은 생략하기로 한다.The operating system determination method of the USB device according to an embodiment of the present invention has been described above with reference to FIGS. 2 and 3. Here, since the operating system determination method of the USB device according to an embodiment of the present invention may correspond to the configuration of the operation of the
본 발명의 일실시예에 따른 USB 장치의 운영체제 판별 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method for determining an operating system of a USB device according to an embodiment of the present invention may be implemented in the form of program instructions that can be executed by various computer means and recorded in a computer readable medium. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded on the medium may be those specially designed and constructed for the present invention or may be available to those skilled in the art of computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic disks, such as floppy disks. Magneto-optical media, and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like. The hardware device described above may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. In the present invention as described above has been described by the specific embodiments, such as specific components and limited embodiments and drawings, but this is provided to help a more general understanding of the present invention, the present invention is not limited to the above embodiments. For those skilled in the art, various modifications and variations are possible from these descriptions.
따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.Accordingly, the spirit of the present invention should not be construed as being limited to the embodiments described, and all of the equivalents or equivalents of the claims, as well as the following claims, belong to the scope of the present invention .
110: USB 장치
111: 데이터 수신부 112: 확인부
113: 판단부
114: 제1 데이터 판단부 115: 제1 OS 판단부
116: 제2 데이터 판단부 117: 제2 OS 판단부
118: 제3 데이터 판단부 119: 제3 OS 판단부
120: 정보 저장부 121: 정보 추출부
122: 정보 전송부
130: 호스트 단말 장치110: USB device
111: data receiving unit 112: confirmation unit
113: Judgment
114: first data determination unit 115: first OS determination unit
116: second data determination unit 117: second OS determination unit
118: third data determination unit 119: third OS determination unit
120: information storage unit 121: information extraction unit
122: information transmission unit
130: host terminal device
Claims (15)
상기 USB 장치가 호스트 단말 장치에 연결되면, 상기 호스트 단말 장치로부터 상기 USB 장치의 인식과 연관된 적어도 하나의 USB 데이터를 수신하는 데이터 수신부;
상기 데이터 수신부를 통해 수신되는 상기 적어도 하나의 USB 데이터의 수신 순서와 종류를 확인하는 확인부; 및
상기 적어도 하나의 USB 데이터의 수신 순서와 종류에 기초하여 상기 호스트 단말 장치에 설치되어 있는 운영체제(Operating System: OS)의 종류를 판단하는 판단부
를 포함하고,
상기 판단부는
상기 적어도 하나의 USB 데이터 중 상기 호스트 단말 장치로부터 Get Configuration Descriptor가 최초로 수신되기 이전에 Get String Descriptor가 수신되었는지 여부를 판단하는 제1 데이터 판단부; 및
상기 호스트 단말 장치로부터 상기 Get Configuration Descriptor가 최초로 수신되기 이전에 상기 Get String Descriptor가 수신된 것으로 판단된 경우, 상기 호스트 단말 장치에 설치되어 있는 OS를 MacTM OS로 판단하는 제1 OS 판단부
를 포함하는 USB 장치.In Universal Serial Bus (USB) devices,
A data receiver configured to receive at least one USB data associated with recognition of the USB device from the host terminal device when the USB device is connected to a host terminal device;
A confirmation unit confirming a reception order and a type of the at least one USB data received through the data reception unit; And
Determination unit for determining the type of operating system (OS) installed in the host terminal device based on the received order and type of the at least one USB data.
Including,
The determination unit
A first data determination unit determining whether a Get String Descriptor is received before the Get Configuration Descriptor is first received from the host terminal device among the at least one USB data; And
A first OS determination unit for determining an OS installed in the host terminal device as a Mac TM OS when it is determined that the Get String Descriptor is received before the Get Configuration Descriptor is first received from the host terminal device
USB device comprising a.
상기 판단부는
상기 호스트 단말 장치로부터 상기 Get Configuration Descriptor가 최초로 수신되기 이전에 상기 Get String Descriptor가 수신되지 않은 것으로 판단된 경우, 상기 적어도 하나의 USB 데이터 중 상기 호스트 단말 장치로부터 Set Configuration이 수신되기 이전에 제조사를 나타내는 문자열이 String Descriptor의 몇 번째에 위치하는지 여부를 나타내는 인덱스인 "iManufacturer"에 대한 Get String Descriptor가 수신되었는지 여부를 판단하는 제2 데이터 판단부; 및
상기 호스트 단말 장치로부터 상기 Set Configuration이 수신되기 이전에 상기 "iManufacturer"에 대한 Get String Descriptor가 수신된 것으로 판단된 경우, 상기 호스트 단말 장치에 설치되어 있는 OS를 LinuxTM OS로 판단하는 제2 OS 판단부
를 더 포함하는 USB 장치.The method of claim 1,
The determination unit
If it is determined that the Get String Descriptor is not received before the Get Configuration Descriptor is first received from the host terminal device, the manufacturer indicates the manufacturer before the Set Configuration is received from the host terminal device among the at least one USB data. A second data determination unit that determines whether a Get String Descriptor for “iManufacturer”, which is an index indicating whether a string is located in the String Descriptor, is received; And
If it is determined that the Get String Descriptor for the "iManufacturer" has been received before the Set Configuration is received from the host terminal device, the second OS is determined to determine the OS installed in the host terminal device as a Linux TM OS. part
USB device further including.
상기 제2 OS 판단부는
상기 호스트 단말 장치로부터 상기 Set Configuration이 수신되기 이전에 상기 "iManufacturer"에 대한 Get String Descriptor가 수신되지 않은 것으로 판단된 경우, 상기 호스트 단말 장치에 설치되어 있는 OS를 WindowsTM OS로 판단하는 USB 장치.The method of claim 3,
The second OS determination unit
And if it is determined that the Get String Descriptor for the "iManufacturer" has not been received before the Set Configuration is received from the host terminal device, the USB device determining the OS installed in the host terminal device as a Windows TM OS.
상기 판단부는
상기 호스트 단말 장치로부터 상기 Set Configuration이 수신되기 이전에 상기 "iManufacturer"에 대한 Get String Descriptor가 수신되지 않은 것으로 판단된 경우, 상기 적어도 하나의 USB 데이터 중 상기 호스트 단말 장치로부터 Get MS OS Compatible Id Descriptor가 수신되었는지 여부를 판단하는 제3 데이터 판단부; 및
상기 호스트 단말 장치로부터 상기 Get MS OS Compatible Id Descriptor가 수신된 것으로 판단된 경우, 상기 호스트 단말 장치에 설치되어 있는 OS를 WindowsTM OS로 판단하는 제3 OS 판단부
를 더 포함하는 USB 장치.The method of claim 3,
The determination unit
If it is determined that the Get String Descriptor for the “iManufacturer” has not been received before the Set Configuration is received from the host terminal device, the Get MS OS Compatible Id Descriptor is determined from the host terminal device among the at least one USB data. A third data determination unit determining whether it has been received; And
If it is determined that the Get MS OS Compatible Id Descriptor has been received from the host terminal device, the third OS determination unit determines the OS installed in the host terminal device as a Windows TM OS.
USB device further including.
상기 USB 장치에 포함되어 있는 적어도 하나의 디바이스에 대한 디바이스 인터페이스 정보가 OS의 종류에 따라 서로 다르게 구분되어 저장되어 있는 정보 저장부;
상기 호스트 단말 장치에 설치되어 있는 OS의 종류에 대한 판단이 완료되면, 상기 정보 저장부로부터 상기 호스트 단말 장치에 설치되어 있는 OS의 종류에 대응되는 디바이스 인터페이스 정보를 추출하는 정보 추출부; 및
상기 추출된 디바이스 인터페이스 정보를 상기 호스트 단말 장치로 전송하는 정보 전송부
를 더 포함하는 USB 장치.The method of claim 1,
An information storage unit in which device interface information of at least one device included in the USB device is classified and stored differently according to the type of OS;
An information extraction unit for extracting device interface information corresponding to the type of OS installed in the host terminal device from the information storage unit when determination of the type of OS installed in the host terminal device is completed; And
An information transmitter for transmitting the extracted device interface information to the host terminal device.
USB device further including.
상기 호스트 단말 장치는
상기 USB 장치로부터 수신된 디바이스 인터페이스 정보를 기초로 상기 수신된 디바이스 인터페이스 정보에 대응되는 디바이스에 대한 드라이버를 로딩하여 상기 USB 장치를 상기 수신된 디바이스 인터페이스 정보에 대응되는 디바이스로 인식하는 USB 장치.The method according to claim 6,
The host terminal device
And loading a driver for a device corresponding to the received device interface information based on the device interface information received from the USB device to recognize the USB device as a device corresponding to the received device interface information.
상기 USB 장치가 호스트 단말 장치에 연결되면, 상기 호스트 단말 장치로부터 상기 USB 장치의 인식과 연관된 적어도 하나의 USB 데이터를 수신하는 단계;
상기 적어도 하나의 USB 데이터의 수신 순서와 종류를 확인하는 단계; 및
상기 적어도 하나의 USB 데이터의 수신 순서와 종류에 기초하여 상기 호스트 단말 장치에 설치되어 있는 운영체제(Operating System: OS)의 종류를 판단하는 단계
를 포함하고,
상기 OS의 종류를 판단하는 단계는
상기 적어도 하나의 USB 데이터 중 상기 호스트 단말 장치로부터 Get Configuration Descriptor가 최초로 수신되기 이전에 Get String Descriptor가 수신되었는지 여부를 판단하는 단계; 및
상기 호스트 단말 장치로부터 상기 Get Configuration Descriptor가 최초로 수신되기 이전에 상기 Get String Descriptor가 수신된 것으로 판단된 경우, 상기 호스트 단말 장치에 설치되어 있는 OS를 MacTM OS로 판단하는 단계
를 포함하는 USB 장치의 운영체제 판별 방법.In the operating system determination method of the USB (Universal Serial Bus) device,
When the USB device is connected to a host terminal device, receiving at least one USB data associated with recognition of the USB device from the host terminal device;
Confirming a reception order and a type of the at least one USB data; And
Determining a type of operating system (OS) installed in the host terminal device based on the reception order and the type of the at least one USB data;
Including,
Determining the type of OS is
Determining whether a Get String Descriptor has been received before the Get Configuration Descriptor is first received from the host terminal device among the at least one USB data; And
If it is determined that the Get String Descriptor is received before the Get Configuration Descriptor is first received from the host terminal device, determining the OS installed in the host terminal device as a Mac TM OS.
Operating system determination method of the USB device comprising a.
상기 OS의 종류를 판단하는 단계는
상기 호스트 단말 장치로부터 상기 Get Configuration Descriptor가 최초로 수신되기 이전에 상기 Get String Descriptor가 수신되지 않은 것으로 판단된 경우, 상기 적어도 하나의 USB 데이터 중 상기 호스트 단말 장치로부터 Set Configuration이 수신되기 이전에 제조사를 나타내는 문자열이 String Descriptor의 몇 번째에 위치하는지 여부를 나타내는 인덱스인 "iManufacturer"에 대한 Get String Descriptor가 수신되었는지 여부를 판단하는 단계; 및
상기 호스트 단말 장치로부터 상기 Set Configuration이 수신되기 이전에 상기 "iManufacturer"에 대한 Get String Descriptor가 수신된 것으로 판단된 경우, 상기 호스트 단말 장치에 설치되어 있는 OS를 LinuxTM OS로 판단하는 단계
를 더 포함하는 USB 장치의 운영체제 판별 방법.9. The method of claim 8,
Determining the type of OS is
If it is determined that the Get String Descriptor is not received before the Get Configuration Descriptor is first received from the host terminal device, the manufacturer indicates the manufacturer before the Set Configuration is received from the host terminal device among the at least one USB data. Determining whether a Get String Descriptor for “iManufacturer”, which is an index indicating whether a string is located in the String Descriptor, has been received; And
If it is determined that the Get String Descriptor for the "iManufacturer" has been received before the Set Configuration is received from the host terminal device, determining the OS installed in the host terminal device as a Linux TM OS.
Operating system determination method of the USB device further comprising.
상기 OS의 종류를 판단하는 단계는
상기 호스트 단말 장치로부터 상기 Set Configuration이 수신되기 이전에 상기 "iManufacturer"에 대한 Get String Descriptor가 수신되지 않은 것으로 판단된 경우, 상기 호스트 단말 장치에 설치되어 있는 OS를 WindowsTM OS로 판단하는 단계
를 더 포함하는 USB 장치의 운영체제 판별 방법.The method of claim 10,
Determining the type of OS is
If it is determined that the Get String Descriptor for the "iManufacturer" is not received before the Set Configuration is received from the host terminal device, determining the OS installed in the host terminal device as a Windows TM OS.
Operating system determination method of the USB device further comprising.
상기 OS의 종류를 판단하는 단계는
상기 호스트 단말 장치로부터 상기 Set Configuration이 수신되기 이전에 상기 "iManufacturer"에 대한 Get String Descriptor가 수신되지 않은 것으로 판단된 경우, 상기 적어도 하나의 USB 데이터 중 상기 호스트 단말 장치로부터 Get MS OS Compatible Id Descriptor가 수신되었는지 여부를 판단하는 단계; 및
상기 호스트 단말 장치로부터 상기 Get MS OS Compatible Id Descriptor가 수신된 것으로 판단된 경우, 상기 호스트 단말 장치에 설치되어 있는 OS를 WindowsTM OS로 판단하는 단계
를 더 포함하는 USB 장치의 운영체제 판별 방법.The method of claim 10,
Determining the type of OS is
If it is determined that the Get String Descriptor for the “iManufacturer” has not been received before the Set Configuration is received from the host terminal device, the Get MS OS Compatible Id Descriptor is determined from the host terminal device among the at least one USB data. Determining whether it has been received; And
If it is determined that the Get MS OS Compatible Id Descriptor has been received from the host terminal device, determining an OS installed in the host terminal device as a Windows TM OS.
Operating system determination method of the USB device further comprising.
상기 USB 장치에 포함되어 있는 적어도 하나의 디바이스에 대한 디바이스 인터페이스 정보가 OS의 종류에 따라 서로 다르게 구분되어 저장되어 있는 정보 저장부를 유지하는 단계;
상기 호스트 단말 장치에 설치되어 있는 OS의 종류에 대한 판단이 완료되면, 상기 정보 저장부로부터 상기 호스트 단말 장치에 설치되어 있는 OS의 종류에 대응되는 디바이스 인터페이스 정보를 추출하는 단계; 및
상기 추출된 디바이스 인터페이스 정보를 상기 호스트 단말 장치로 전송하는 단계
를 더 포함하는 USB 장치의 운영체제 판별 방법.9. The method of claim 8,
Maintaining an information storage unit in which device interface information of at least one device included in the USB device is classified and stored differently according to the type of OS;
Extracting device interface information corresponding to the type of OS installed in the host terminal device from the information storage unit when the determination of the type of OS installed in the host terminal device is completed; And
Transmitting the extracted device interface information to the host terminal device
Operating system determination method of the USB device further comprising.
상기 호스트 단말 장치는
상기 USB 장치로부터 수신된 디바이스 인터페이스 정보를 기초로 상기 수신된 디바이스 인터페이스 정보에 대응되는 디바이스에 대한 드라이버를 로딩하여 상기 USB 장치를 상기 수신된 디바이스 인터페이스 정보에 대응되는 디바이스로 인식하는 USB 장치의 운영체제 판별 방법.The method of claim 13,
The host terminal device
Determining an operating system of a USB device that recognizes the USB device as a device corresponding to the received device interface information by loading a driver for the device corresponding to the received device interface information based on the device interface information received from the USB device. Way.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120045358A KR101202788B1 (en) | 2012-04-25 | 2012-04-30 | Universal serial bus apparatus and operating system distinction method of the universal serial bus apparatus |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120043134 | 2012-04-25 | ||
KR1020120045358A KR101202788B1 (en) | 2012-04-25 | 2012-04-30 | Universal serial bus apparatus and operating system distinction method of the universal serial bus apparatus |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101202788B1 true KR101202788B1 (en) | 2012-11-19 |
Family
ID=47564965
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020120045358A KR101202788B1 (en) | 2012-04-25 | 2012-04-30 | Universal serial bus apparatus and operating system distinction method of the universal serial bus apparatus |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101202788B1 (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7870302B2 (en) | 2008-04-01 | 2011-01-11 | Sunplus Innovation Technology Inc. | Method for automatically identifying an operating system for a USB device |
EP2423825A1 (en) | 2010-08-26 | 2012-02-29 | Huawei Device Co., Ltd. | Method for data card to identify the OS, and apparatus and communication system thereof |
US20120054372A1 (en) | 2010-08-24 | 2012-03-01 | Mediatek Inc. | Method of usb device enumeration including detecting the operating system type of the usb host |
-
2012
- 2012-04-30 KR KR1020120045358A patent/KR101202788B1/en active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7870302B2 (en) | 2008-04-01 | 2011-01-11 | Sunplus Innovation Technology Inc. | Method for automatically identifying an operating system for a USB device |
US20120054372A1 (en) | 2010-08-24 | 2012-03-01 | Mediatek Inc. | Method of usb device enumeration including detecting the operating system type of the usb host |
EP2423825A1 (en) | 2010-08-26 | 2012-02-29 | Huawei Device Co., Ltd. | Method for data card to identify the OS, and apparatus and communication system thereof |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103037538B (en) | Data transmission method and mobile terminal | |
CN101957807B (en) | Method for USB device to recognize version type of Windows operating system | |
CN108845930B (en) | Interface operation test method and device, storage medium and electronic device | |
US20160210632A1 (en) | Secured payment method and relevant device and system | |
CN104246759A (en) | Application programming interface testing services | |
WO2015165412A1 (en) | Method for modifying webpage and apparatus for modifying webpage | |
TWI470436B (en) | System, method, and computer program product for ordering a plurality of write commands associated with a storage device | |
US20140071974A1 (en) | Information processing apparatus, information processing method and computer program | |
KR102498223B1 (en) | Method for operating universal flash stroage (ufs) device, method for operating ufs host, and method for operating ufs systrem having them | |
KR102048222B1 (en) | Apparatus and method for recognizing an external device in a communication system | |
US20110106984A1 (en) | Radio communication device, method of responding to host apparatus and program | |
US20200205001A1 (en) | Electronic apparatus and method of executing application program | |
US20160179296A1 (en) | Method and device for video rendering | |
CN104285210A (en) | Method, apparatus and system of recovering operating system on portable communication device | |
CN112996020B (en) | Bluetooth-based automatic test method and device and Bluetooth test terminal | |
CN101772761A (en) | Electronic device interface control system | |
CN109451098A (en) | FPGA accelerator card MAC Address configuration method, device and accelerator card | |
US20150235228A1 (en) | Method, device and system for on-line payment information transmission | |
KR101202788B1 (en) | Universal serial bus apparatus and operating system distinction method of the universal serial bus apparatus | |
CN109005469B (en) | Message format conversion method and device, storage medium and android terminal | |
CN108304369B (en) | File type identification method and device | |
US20150055868A1 (en) | Character data processing method, information processing method, and information processing apparatus | |
CN115187999A (en) | Text recognition method and device, electronic equipment and computer readable storage medium | |
CN111262737B (en) | Port configuration management method and device, storage medium and terminal | |
WO2020147269A1 (en) | Blockchain extension method and system, electronic device and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
A302 | Request for accelerated examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20150826 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20160825 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20170825 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20180829 Year of fee payment: 7 |