KR101956574B1 - 휴대용 단말기에서 호스트 디바이스의 운영 체제를 확인하기 위한 장치 및 방법 - Google Patents

휴대용 단말기에서 호스트 디바이스의 운영 체제를 확인하기 위한 장치 및 방법 Download PDF

Info

Publication number
KR101956574B1
KR101956574B1 KR1020120018999A KR20120018999A KR101956574B1 KR 101956574 B1 KR101956574 B1 KR 101956574B1 KR 1020120018999 A KR1020120018999 A KR 1020120018999A KR 20120018999 A KR20120018999 A KR 20120018999A KR 101956574 B1 KR101956574 B1 KR 101956574B1
Authority
KR
South Korea
Prior art keywords
descriptor
host device
operating system
portable terminal
request
Prior art date
Application number
KR1020120018999A
Other languages
English (en)
Other versions
KR20130097381A (ko
Inventor
조순용
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020120018999A priority Critical patent/KR101956574B1/ko
Priority to US13/771,876 priority patent/US9189358B2/en
Priority to EP13156431.2A priority patent/EP2631792A1/en
Priority to CN201310057239.8A priority patent/CN103294464B/zh
Publication of KR20130097381A publication Critical patent/KR20130097381A/ko
Application granted granted Critical
Publication of KR101956574B1 publication Critical patent/KR101956574B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3051Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • G06F9/4413Plug-and-play [PnP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/22Microcontrol or microprogram arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/22Microcontrol or microprogram arrangements
    • G06F9/223Execution means for microinstructions irrespective of the microinstruction function, e.g. decoding of microinstructions and nanoinstructions; timing of microinstructions; programmable logic arrays; delays and fan-out problems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Telephone Function (AREA)
  • Information Transfer Systems (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 호스트 디바이스와 연결되는 휴대용 단말기에 관한 것으로, 특히 휴대용 단말기에서 USB를 통해 연결된 호스트 디바이스의 운영 체제를 판단하기 위한 장치 및 방법에 관한 것으로, 휴대용 단말기에서 호스트 디바이스의 운영 체제를 확인하기 위한 장치는 호스트 디바이스로부터 Descriptor 요청을 수신하는 연결 포트, 수신한 Descriptor 요청을 분석하여 분석 결과를 OS 판단부로 제공하는 분석부, 분석부로부터 수신한 정보를 이용하여 호스트 디바이스의 운영체제를 판단하는 OS 판단부, 호스트 디바이스의 Descriptor 요청을 분석하여 호스트 디바이스의 OS를 판단하도록 처리하는 제어부를 포함하는 것을 특징으로 한다.

Description

휴대용 단말기에서 호스트 디바이스의 운영 체제를 확인하기 위한 장치 및 방법{APPARATUS AND METHOD FOR IDENTIFYING OPERATING SYSTEM OF HOST DEVICE IN PORTABLE TERMINAL}
본 발명은 호스트 디바이스와 연결되는 휴대용 단말기에 관한 것으로, 특히 휴대용 단말기에서 USB를 통해 연결된 호스트 디바이스의 운영 체제를 판단하기 위한 장치 및 방법에 관한 것이다.
최근 휴대용 단말기의 급격한 발달에 따라 특히, 무선 음성 통화 및 정보 교환이 가능한 휴대용 단말기는 생활 필수품이 되었다. 휴대용 단말기의 보급 초기에는 단순히 휴대할 수 있고, 무선 통화가 가능한 것으로 인식되었으나, 그 기술이 발달함과 무선 인터넷의 도입에 따라 휴대용 단말기는 단순한 전화 통화 또는 일정 관리 등의 목적뿐만 아니라 게임, 근거리 통신을 이용한 리모컨, 장착된 디지털 카메라에 의한 이미지 촬영의 그 활용 범위가 갈수록 커지고 있어 사용자의 욕구를 충족시키고 있다.
더하여, 휴대용 단말기는 USB(Universal Serial Bus) 통신을 이용하여 호스트 디바이스와 연결하여 기 저장된 데이터를 호스트 디바이스로 보내거나 호스트 디바이스에 저장된 데이터를 가져올 수 있다.
USB는 공통의 커넥터(Connector)로 다양한 주변기기를 접속 가능하게 하는 인터페이스(Interface) 규격이며, 최대 127개까지의 장치들이 연결될 수 있고, USB를 지원하는 휴대용 단말기의 설정이 변경되기 위해 호스트 디바이스가 재부팅될 필요도 없어 호스트 디바이스의 사용 중에 휴대용 단말기를 연결하거나 제거할 수 있다.
도 1은 종래의 휴대용 단말기를 이용하여 호스트 디바이스와 연결하는 과정을 도시한 도면이다.
도 1을 참조하면, 호스트 디바이스(100)는 참조부호(a)와 같이 다수의 내장 어플리케이션이 설치되어 있다. 이때, 내장 어플리케이션은 OS에서 제공하는 어플리케이션으로 USB 연결을 통해 휴대용 단말기와 연결되는 경우, 다른 어플리케이션보다 우선적으로 실행된다.
참조부호(b)와 같이 케이블 연결(102)을 통해 휴대용 단말기(104)와 호스트 디바이스(106)가 연결되는 경우, 호스트 디바이스(106)는 휴대용 단말기(104)로 Descriptor를 요청하면서 USB enumeration 과정을 수행한다. USB enumeration 과정은 호스트 디바이스에 휴대용 단말기가 연결되었는지 또는 제거되었는지 확인하는 과정이다.
만일, 호스트 디바이스(106)의 OS가 내장 어플리케이션에 우선 순위를 두어 실행시킬 경우, 휴대용 단말기(104)의 연결이 인식되면 휴대용 단말기(104)가 지원하는 프로토콜에 해당하는 내장 어플리케이션을 실행하게 되는 것으로, 도시된 바와 같이 "A" 어플리케이션을 실행하게 된다.
만일, 참조부호(c)와 같이 사용자가 내장 어플리케이션을 사용하지 않을 경우, 사용자는 "A" 어플리케이션의 실행을 종료하고, 내장 어플리케이션이 아닌 "F" 어플리케이션을 실행(110)하여 휴대용 단말기(108)에 대한 동작을 제어할 것이다.
즉, 종래의 휴대용 단말기는 Descriptor에 설정된 프로토콜에 상관없이 호스트 디바이스의 OS에 따라 내장 어플리케이션을 통해 제어될 수 있는 문제점이 발생한다.
따라서, 휴대용 단말기에서 호스트 디바이스의 OS의 내장 어플리케이션을 통해 제어되는 것을 방지하기 위한 장치 및 방법이 요구된다.
본 발명은 상술한 바와 같은 문제점을 해결하기 위하여 도출된 것으로서, 본 발명의 목적은 휴대용 단말기에서 호스트 디바이스의 운영 체제를 확인하기 위한 장치 및 방법을 제공함에 있다.
본 발명의 다른 목적은 휴대용 단말기에서 호스트 디바이스의 Descriptor 요청을 분석하여 운영 체제를 판단하기 위한 장치 및 방법을 제공함에 있다.
본 발명의 또 다른 목적은 휴대용 단말기에서 호스트 디바이스의 운영 체제에 따라 Descriptor를 변환하기 위한 장치 및 방법을 제공함에 있다.
본 발명의 또 다른 목적은 휴대용 단말기에서 호스트 디바이스의 운영 체제에 내장된 어플리케이션이 실행되는 것을 방지하기 위한 장치 및 방법을 제공함에 있다.
상술한 목적들을 달성하기 위한 본 발명의 제 1 견지에 따르면, 휴대용 단말기에서 호스트 디바이스의 운영 체제를 확인하기 위한 장치는 호스트 디바이스로부터 Descriptor 요청을 수신하는 연결 포트, 수신한 Descriptor 요청을 분석하여 분석 결과를 OS 판단부로 제공하는 분석부, 분석부로부터 수신한 정보를 이용하여 호스트 디바이스의 운영체제를 판단하는 OS 판단부, 호스트 디바이스의 Descriptor 요청을 분석하여 호스트 디바이스의 OS를 판단하도록 처리하는 제어부를 포함하는 것을 특징으로 한다.
상술한 목적들을 달성하기 위한 본 발명의 제 2 견지에 따르면, 휴대용 단말기에서 호스트 디바이스의 운영 체제를 확인하기 위한 방법은 호스트 디바이스로부터 Descriptor 요청을 수신하는 과정과, 수신한 Descriptor 요청을 분석하는 과정과, Descriptor 요청 방식을 이용하여 호스트 디바이스의 운영체제를 판단하는 과정을 포함하는 것을 특징으로 한다.
상술한 바와 같이 본 발명은 휴대용 단말기에서 호스트 디바이스의 운영 체제를 확인하기 위한 것으로, 호스트 디바이스의 운영 체제에 따라 Descriptor를 변환하여 호스트 디바이스에 어플리케이션이 실행되는 것을 방지할 수 있다.
도 1은 종래의 휴대용 단말기를 이용하여 호스트 디바이스와 연결하는 과정을 도시한 도면.
도 2는 본 발명에 따라 호스트 디바이스의 운영 체제 정보를 판단하는 휴대용 단말기의 구성을 도시한 블록도,
도 3은 본 발명의 바람직한 일 실시 예에 따른 휴대용 단말기에서 USB 연결시 디바이스의 운영 체제(OS)를 확인하는 과정을 도시한 흐름도,
도 4는 본 발명의 바람직한 일 실시 예에 따른 휴대용 단말기에서 호스트 디바이스의 운영 체제(OS)를 판단하는 과정을 도시한 흐름도,
도 5는 본 발명의 바람직한 일 실시 예에 따른 휴대용 단말기에서 호스트 디바이스의 운영 체제(OS)를 판단하는데 사용하는 Descriptor 요청을 도시한 도면 및,
도 6은 본 발명의 바람직한 일 실시 예에 따른 휴대용 단말기를 이용하여 호스트 디바이스와 연결하는 과정을 도시한 도면.
이하 본 발명의 바람직한 실시 예를 첨부된 도면의 참조와 함께 상세히 설명한다. 그리고, 본 발명을 설명함에 있어서, 관련된 공지기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단된 경우 그 상세한 설명은 생략한다.
이하 설명에서는 본 발명에 따른 휴대용 단말기에서 호스트 디바이스(장치)의 Descriptor 요청을 분석하여 운영 체제를 판단하기 위한 장치 및 방법에 대하여 설명할 것이다.
도 2는 본 발명에 따라 호스트 디바이스의 운영 체제 정보를 판단하는 휴대용 단말기의 구성을 도시한 블록도이다.
도 2를 참조하면, 휴대용 단말기는 제어부(200), 연결 포트(202), 연결 관리부(204), 메모리부(212), 입력부(214), 표시부(216) 및 통신부(218)를 포함하여 구성할 수 있으며, 연결 관리부(204)는 분석부(206), 운영체제 판단부(208) 및 변환부(210)를 포함하여 구성할 수 있다.
먼저, 휴대용 단말기의 제어부(200)는 휴대용 단말기의 전반적인 동작을 제어한다. 예를 들어, 음성통화 및 데이터 통신을 위한 처리 및 제어를 수행하고, 통상적인 기능에 더하여 본 발명에 따라 제어부(200)는 USB 연결하고자 하는 호스트 디바이스로부터 Descriptor 연결 요청을 수신할 경우, 연결 요청을 분석하여 호스트 디바이스의 운영 체제를 판단하도록 처리한다.
더하여, 제어부(200)는 내장 어플리케이션을 실행하는 OS를 사용하는 호스트 디바이스를 판단하는 경우, OS에 내장된 어플리케이션의 실행 방지하도록 Descriptor을 변환시키도록 처리한다.
연결 포트(202)는 호스트 디바이스와 연결하기 위한 연결 단자로 USB 포트를 포함할 수 있으며, 호스트 디바이스로부터 Descriptor 요청을 수신한다.
연결 관리부(204)는 제어부(200)의 제어를 받아 USB로 연결되는 호스트 디바이스의 OS를 판단하고, OS에 내장된 어플리케이션의 실행 방지하도록 Descriptor을 변환시키도록 처리한다.
연결 관리부(204)의 분석부(206)는 호스트 디바이스의 Descriptor 요청을 분석하여 OS 판단부(208)로 제공한다.
이때, 분석부(204)는 호스트 디바이스가 전송하는 셋업 패킷의 wLength 필드를 분석하여 OS 판단부(208)로 제공할 수 있다.
연결 관리부(202)의 OS 판단부(208)는 분석부(206)로부터 제공받은 정보를 이용하여 호스트 디바이스의 OS를 판단한다. 이때, OS 판단부(208)는 OS에 따라 호스트 디바이스의 Descriptor 요청이 서로 다른 것을 이용하는 것이다.
일 예로, OS 판단부(208)는 USB로 연결되는 휴대용 단말기로 2회의 요청을 통해 Descriptor를 획득하고자 함을 확인할 경우, MAC OS를 사용하는 호스트 디바이스의 Descriptor 요청이라고 판단할 수 있다. 더하여, OS 판단부(208)는 USB로 연결되는 휴대용 단말기로 2회의 요청을 통해 Descriptor를 획득하고자 함을 확인할 경우, Windows, Linux OS를 사용하는 호스트 디바이스의 Descriptor 요청이라고 판단할 수 있다.
이때, OS 판단부(208)는 셋업 패킷의 wLength 필드를 확인하여 Descriptor 요청의 횟수를 파악할 수 있다.
연결 관리부(202)의 변환부(210)는 OS에 내장된 어플리케이션의 실행 방지하도록 Descriptor을 변환시킨다.
일 예로, 변환부(210)는 Descriptor에 기재된 프로토콜 정보 대신에 제조자가 정의한 속성 정보를 이용하도록 Descriptor을 변환시켜 "PTP(Picture Transfer Protoco)" 또는 "MTP(Media Transfer Protoco)"를 지원하는 휴대용 단말기가 USB를 통해 호스트 디바이스와 연결하는 경우 호스트 디바이스가 OS에 내장된 "PTP" 또는 "MTP"를 지원하는 어플리케이션을 실행시키는 것을 방지한다.
메모리부(212)는 롬, 램, 플래쉬롬으로 구성된다. 롬은 제어부(200), 연결 관리부(202)의 처리 및 제어를 위한 프로그램의 마이크로코드와 각종 참조 데이터를 저장하고, USB 연결에 필요한 Descriptor를 저장한다.
램은 제어부(200)의 워킹 메모리로, 각종 프로그램 수행 중에 발생하는 일시적인 데이터를 저장한다. 또한, 플래쉬롬은 전화번호부, 발신메시지 및 수신메시지와 같은 갱신 가능한 각종 보관용 데이터를 저장한다.
입력부(214)는 0 ~ 9의 숫자키 버튼들과, 메뉴버튼, 취소버튼, 확인버튼, 통화버튼, 종료버튼, 인터넷접속 버튼, 네비게이션 키(또는 방향키) 버튼들 및 문자 입력 키 등 다수의 기능키들을 구비하며, 사용자가 누르는 키에 대응하는 키 입력 데이터를 제어부(200)로 제공한다.
표시부(216)는 휴대용 단말기의 동작 중에 발생하는 상태 정보, 문자들, 다량의 동영상 및 정지영상 등을 디스플레이하는 것으로, 본 발명에 따라 메시지에 포함된 데이터 가운데 자신에게 허용된 프레임에 해당하는 데이터만을 표시한다. 표시부(216)는 컬러 액정 디스플레이 장치(LCD), AMOLED 등을 사용할 수 있으며 표시부(216)는 터치 입력 장치를 구비하여 터치 입력 방식의 휴대용 단말기에 적용할 경우 입력 장치로 사용할 수 있다.
통신부(218)는 안테나(미도시)를 통해 입출력되는 데이터의 무선신호를 송수신 처리하는 기능을 수행한다. 예를 들어, 송신인 경우, 송신할 데이터를 채널 코딩 및 확산한 후, RF처리하여 송신하는 기능을 수행하고, 수신인 경우, 수신된 RF신호를 기저대역신호로 변환하고 기저대역신호를 역 확산 및 채널 복호하여 데이터를 복원하는 기능을 수행한다.
연결 관리부(204)의 역할은 휴대용 단말기의 제어부(200)에 의해 수행할 수 있으나, 본 발명에서 이를 별도로 구성하여 도시한 것은 설명의 편의를 위한 예시적인 구성이지 결코 본 발명의 범위를 제한하자는 것이 아니며, 당업자라면 본 발명의 범위 내에서 다양한 변형 구성이 가능하다는 것을 알 수 있을 것이다. 예를 들어, 이들 모두를 제어부(200)에서 처리하도록 구성할 수도 있다.
도 3은 본 발명의 바람직한 일 실시 예에 따른 휴대용 단말기에서 USB 연결시 디바이스의 운영 체제(OS)를 확인하는 과정을 도시한 흐름도이다.
도 3을 참조하면, 휴대용 단말기는 먼저 301단계에서 호스트 디바이스와 USB 연결하는 과정을 수행한다. 여기에서, 호스트 디바이스는 OS가 설치된 PC가 될 수 있으며, 휴대용 단말기와 호스트 디바이스는 연결 포트를 통해 서로 연결될 수 있다.
이후, 휴대용 단말기는 303단계로 진행하여 연결된 호스트 디바이스로부터 Descriptor 요청을 수신한 후, 305단계로 진행하여 Descriptor 요청을 분석하는 과정을 수행한다. 여기에서, Descriptor 요청을 분석하는 305단계는 301단계에서 연결한 호스트 디바이스의 OS를 확인하기 위한 과정이다. 이때, 휴대용 단말기는 디바이스의 OS마다 서로 다른 방식으로 Descriptor 요청하는 사실을 이용하여 하는 것이다.
이후, 휴대용 단말기는 307단계로 진행하여 제 1 OS를 사용하는 호스트 디바이스임을 확인하는지 확인한다. 여기에서, 제 1 OS는 USB 연결된 휴대용 단말기의 Descriptor와 상관없이 내장된 어플리케이션을 우선적으로 실행시켜 USB 연결된 휴대용 단말기를 제어하도록 OS를 말하며, 내장된 어플리케이션은 OS 설치시 함께 설치된 어플리케이션을 말한다.
만일, 307단계에서 제 1 OS를 사용하는 호스트 디바이스가 아닌 제 2 OS를 사용하는 호스트 디바이스임을 확인하는 경우, 휴대용 단말기는 311단계로 진행하여 USB enumeration 과정을 시작한 후, 313단계로 진행하여 호스트 디바이스로 Descriptor을 제공한다. 여기에서, 제 2 OS는 USB 연결된 휴대용 단말기의 Descriptor에 해당하는 어플리케이션을 이용하여 USB 연결된 휴대용 단말기를 제어하도록 OS를 말한다.
한편, 307단계에서 제 1 OS를 사용하는 호스트 디바이스임을 확인하는 경우, 휴대용 단말기는 309단계로 진행하여 Descriptor을 변환시키도록 처리한다. 이때, 휴대용 단말기는 제 1 OS에 내장된 어플리케이션의 실행을 방지하도록 Descriptor을 변환시키는 것이다. 일 예로, 휴대용 단말기는 Descriptor에 기재된 프로토콜 정보 대신에 제조자가 정의한 속성 정보를 이용하도록 Descriptor을 변환시켜 제 1 OS에 내장된 어플리케이션이 실행되는 것을 방지할 수 있다.
이후, 휴대용 단말기는 311단계로 진행하여 USB enumeration 과정을 시작한 후, 313단계로 진행하여 호스트 디바이스로 변경된 Descriptor을 제공한다.
이로 인하여, 호스트 디바이스는 변경된 Descriptor에 따라 제 1 OS에 내장된 어플리케이션을 실행하지 않도록 한다.
이후, 휴대용 단말기는 본 알고리즘을 종료한다.
도 4는 본 발명의 바람직한 일 실시 예에 따른 휴대용 단말기에서 호스트 디바이스의 운영 체제(OS)를 판단하는 과정을 도시한 흐름도이다.
도 4를 참조하면, 휴대용 단말기는 먼저 401단계에서 호스트 디바이스로부터 Descriptor 요청을 수신한 후, 403단계로 진행하여 Descriptor 요청으로 데이터의 사이즈를 획득하기 위한 요청을 수신하는지 확인한다.
호스트 디바이스는 설치된 OS의 종류에 따라 서로 다른 방식으로 Descriptor 요청을 수행한다.
일 예로, 호스트 디바이스에 설치되는 OS는 하기 <표 1>과 같이 분류할 수 있다.
OS 그룹 종류 Descriptor 요청 방법
제 1 OS MAC OS Descriptor의 크기를 요청한 후 수신한 크기의 데이터로 Descriptor 요청
제 2 OS Windows 정해진 크기의 데이터로 Descriptor 요청
Linux
<표 1>을 참조하면, 제 1 OS를 사용하는 호스트 디바이스는 USB로 연결되는 휴대용 단말기로 2회의 요청을 통해 Descriptor를 획득할 수 있으며, 제 2 OS를 사용하는 호스트 디바이스는 1회의 요청을 통해 Descriptor를 획득할 수 있다. 상세히 설명하면, 제 1 OS를 사용하는 호스트 디바이스는 Descriptor 요청시 먼저 Descriptor 데이터의 크기를 요청하여 휴대용 단말기로부터 Descriptor 데이터의 크기를 수신한다. 이후, 제 1 OS를 사용하는 호스트 디바이스는 수신한 데이터의 크기로 Descriptor를 요청한다. 반면에 제 2 OS를 사용하는 호스트 디바이스는 바로 미리 정해진 크기로 Descriptor를 요청한다.
이에 따라, 휴대용 단말기는 본 발명의 바람직한 일 실시 예에 따라 호스트 디바이스로부터 수신하는 Descriptor 요청을 분석하여 호스트 디바이스에서 사용하는 OS를 판단할 수 있다.
즉, 403단계에서 데이터의 사이즈를 획득하기 위한 요청을 수신하는 경우, 휴대용 단말기는 405단계로 진행하여 제 1 OS를 사용하는 호스트 디바이스의 Descriptor 요청이라고 판단할 수 있다.
한편, 403단계에서 데이터의 사이즈를 획득하기 위한 요청을 수신하지 않는 경우, 휴대용 단말기는 407단계로 진행하여 제 2 OS를 사용하는 호스트 디바이스의 Descriptor 요청이라고 판단할 수 있다,
위와 같이 호스트 디바이스의 OS를 판단한 휴대용 단말기는 본 알고리즘을 종료한다.
도 5는 본 발명의 바람직한 일 실시 예에 따른 휴대용 단말기에서 호스트 디바이스의 운영 체제(OS)를 판단하는데 사용하는 Descriptor 요청을 도시한 도면이다.
도 5를 참조하면, 휴대용 단말기는 참조부호(a)와 같이 OS별 Descriptor 요청 방법을 구분할 수 있다.
즉, 윈도우즈 또는 리눅스를 사용하는 호스트 디바이스는 참조부호(b)와 같은 셋업 패킷을 이용하여 Descriptor를 요청한다. 이때, 호스트 디바이스는 셋업 패킷의 wLength 필드에 기재된 바와 같이 255 byte 크기로 Descriptor를 요청(501)한다.
이에 따라, 휴대용 단말기는 응답 패킷을 전송하여 호스트 디바이스로 Descriptor를 전송한다.
하지만, MAC OS를 사용하는 호스트 디바이스는 참조부호(c)와 같이 셋업 패킷을 이용하여 Descriptor를 요청한다. 이때, 호스트 디바이스는 셋업 패킷의 wLength 필드에 기재된 바와 같이 2 byte 크기로 Descriptor의 크기를 요청(510)한다.
이에 따라, 휴대용 단말기는 응답 패킷을 전송하여 호스트 디바이스로 Descriptor의 크기를 전송한다.
이후, 호스트 디바이스는 셋업 패킷의 wLength 필드에 기재된 바와 같이 휴대용 단말기로부터 수신한 데이터의 크기로 Descriptor를 요청(512)한다.
이에 따라, 휴대용 단말기는 응답 패킷을 전송하여 호스트 디바이스로 Descriptor를 전송한다.
정리하면, 윈도우즈 또는 리눅스를 사용하는 호스트 디바이스는 1회의 Descriptor 요청을 통해 Descriptor를 획득하고, MAC OS를 사용하는 호스트 디바이스는 2회의 Descriptor 요청을 통해 Descriptor를 획득한다.
도 6은 본 발명의 바람직한 일 실시 예에 따른 휴대용 단말기를 이용하여 호스트 디바이스와 연결하는 과정을 도시한 도면이다.
도 6을 참조하면, 호스트 디바이스(600)는 참조부호(a)와 같이 다수의 내장 어플리케이션이 설치되어 있다. 이때, 내장 어플리케이션은 OS에서 제공하는 어플리케이션으로 USB 연결을 통해 휴대용 단말기와 연결되는 경우, 다른 어플리케이션보다 우선적으로 실행된다.
참조부호(b)와 같이 케이블 연결(602)을 통해 휴대용 단말기(604)와 호스트 디바이스(603)가 연결되는 경우, 호스트 디바이스(603)는 휴대용 단말기(604)로 Descriptor를 요청하게 된다.
이때, 호스트 디바이스는 OS의 종류에 따라 서로 다른 방식으로 Descriptor를 요청하게 된다.
이에 따라, 휴대용 단말기는 호스트 디바이스의 OS에 따라 Descriptor를 변환(605)시킬 수 있다.
즉, 휴대용 단말기는 호스트 디바이스의 Descriptor 요청을 분석하여 호스트 디바이스의 OS를 파악할 수 있으며, 호스트 디바이스에 내장된 어플리케이션이 사용되지 않도록 Descriptor를 수정하여 호스트 디바이스로 전송한다.
이때, 휴대용 단말기는 USB Descriptor(예; Device_Descriptor, Configuration_Descriptor, interface_Descriptor)에 "vender specific"을 설정하도록 할 수 있다.
이는 "PTP(Picture Transfer Protoco)" 또는 "MTP(Media Transfer Protoco)"를 지원하는 휴대용 단말기가 USB를 통해 호스트 디바이스와 연결하는 경우 호스트 디바이스가 OS에 내장된 "PTP" 또는 "MTP"를 지원하는 어플리케이션을 실행시키는 것을 방지하기 위한 것이다.
이에 따라, 참조부호(c)와 같이 수정된 Descriptor를 수신한 호스트 디바이스(607)는 내장된 어플리케이션의 실행을 방지하고 휴대용 단말기의 제조자에 의해 설정된 어플리케이션을 실행시키거나 제조자의 설정에 따른 동작을 수행(609)하도록 처리한다. 즉, 도시된 바와 같이 호스트 디바이스(607)는 A 어플리케이션 실행을 방지하고, F 어플리케이션을 로딩시킬 수 있는 것이다.
한편 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 아니 되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.
200: 제어부 204: 연결 관리부 206: 분석부 208: OS 판단부 210: 변환부

Claims (12)

  1. 휴대용 단말기에 있어서,
    연결 포트; 및
    호스트 디바이스로부터 디스크립터 요청을 수신하도록 상기 연결 포트를 제어하는 제어부를 포함하며,
    상기 제어부는,
    상기 수신된 디스크립터 요청을 분석하고,
    상기 디스크립터 요청의 분석 결과에 기반하여, 상기 호스트 디바이스의 운영체제를 판단하고,
    상기 확인된 호스트 디바이스의 운영체제가 미리 결정된 타입인 경우 상기 디스크립터에 기재된 프로토콜 정보 대신에 변경된 속성 정보가 사용되도록 디스크립터를 변경하도록 설정된 휴대용 단말기.
  2. 제 1항에 있어서,
    상기 제어부는,
    데이터 크기를 획득하는 디스크립터 요청이 확인되면 상기 호스트 디바이스가 제 1 운영체제를 사용한다고 판단하고, 상기 데이터 크기를 획득하는 디스크립터 요청이 확인되지 않으면 상기 호스트 디바이스가 제 2 운영체제를 사용한다고 판단하도록 설정된 휴대용 단말기.
  3. 제 2항에 있어서,
    상기 제어부는,
    상기 호스트 디바이스에 의해 전송되는 셋업 패킷의 wLength 필드 값을 확인하여 상기 데이터 크기를 획득하는 디스크립터 요청을 확인하도록 설정된 휴대용 단말기.
  4. 제 1항에 있어서,
    상기 제어부는,
    상기 변경된 디스크립터를 이용하여 열거(enumeration) 과정을 수행하도록 설정된 휴대용 단말기.
  5. 제 1항에 있어서,
    상기 제어부는,
    Device_Descriptor, Configuration_Descriptor, interface_Descriptor 가운데 적어도 어느 하나를 변경하도록 설정된 휴대용 단말기.
  6. 제 1항에 있어서,
    상기 제어부는,
    윈도우 운영체제, 맥 운영체제 또는 리눅스 운영체제 중 하나를 상기 호스트 디바이스의 운영체제로 판단하도록 설정된 휴대용 단말기.
  7. 휴대용 단말기의 동작 방법에 있어서,
    호스트 디바이스로부터 디스크립터 요청을 수신하는 동작;상기 수신된 디스크립터 요청을 분석하는 동작;
    상기 디스크립터 요청의 분석 결과에 기반하여, 상기 호스트 디바이스의 운영체제를 판단하는 동작; 및
    상기 확인된 호스트 디바이스의 운영체제가 미리 결정된 타입인 경우 상기 디스크립터에 기재된 프로토콜 정보 대신에 변경된 속성 정보가 사용되도록 디스크립터를 변경하는 동작을 포함하는 방법.
  8. 제 7항에 있어서,
    상기 호스트 디바이스의 운영체제를 판단하는 동작은,
    데이터 크기를 획득하는 디스크립터 요청이 확인되면 상기 호스트 디바이스가 제 1 운영체제를 사용한다고 판단하는 동작; 및
    상기 데이터 크기를 획득하는 디스크립터 요청이 확인되지 않으면 상기 호스트 디바이스가 제 2 운영체제를 사용한다고 판단하는 동작을 포함하는 방법.
  9. 제 8항에 있어서,
    상기 데이터 크기를 획득하는 디스크립터 요청은,
    상기 호스트 디바이스에 의해 전송되는 셋업 패킷의 wLength 필드 값을 이용하여 확인하는 방법.
  10. 제 7항에 있어서,
    상기 변경된 디스크립터를 이용하여 열거(enumeration) 과정을 수행하는 과정을 포함하는 방법.
  11. 제 7항에 있어서,
    상기 디스크립터를 변경하는 동작은,
    Device_Descriptor, Configuration_Descriptor, interface_Descriptor 가운데 적어도 어느 하나를 변경하는 동작을 포함하는 방법.
  12. 제 7항에 있어서,
    상기 호스트 디바이스의 운영체제는,
    윈도우 운영체제, 맥 운영체제 또는 리눅스 운영체제 중 하나를 포함하는 방법.
KR1020120018999A 2012-02-24 2012-02-24 휴대용 단말기에서 호스트 디바이스의 운영 체제를 확인하기 위한 장치 및 방법 KR101956574B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020120018999A KR101956574B1 (ko) 2012-02-24 2012-02-24 휴대용 단말기에서 호스트 디바이스의 운영 체제를 확인하기 위한 장치 및 방법
US13/771,876 US9189358B2 (en) 2012-02-24 2013-02-20 Apparatus and method for verifying operating system of host device in portable terminal
EP13156431.2A EP2631792A1 (en) 2012-02-24 2013-02-22 Apparatus and method for verifying operating system of host device in portable terminal
CN201310057239.8A CN103294464B (zh) 2012-02-24 2013-02-22 便携终端中验证主机设备的操作系统的设备和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120018999A KR101956574B1 (ko) 2012-02-24 2012-02-24 휴대용 단말기에서 호스트 디바이스의 운영 체제를 확인하기 위한 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20130097381A KR20130097381A (ko) 2013-09-03
KR101956574B1 true KR101956574B1 (ko) 2019-03-11

Family

ID=47912905

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120018999A KR101956574B1 (ko) 2012-02-24 2012-02-24 휴대용 단말기에서 호스트 디바이스의 운영 체제를 확인하기 위한 장치 및 방법

Country Status (4)

Country Link
US (1) US9189358B2 (ko)
EP (1) EP2631792A1 (ko)
KR (1) KR101956574B1 (ko)
CN (1) CN103294464B (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102981990B (zh) * 2012-11-09 2015-07-22 青岛海信移动通信技术股份有限公司 采用Android平台终端设备的数据传输方法及装置
JP2014216944A (ja) * 2013-04-26 2014-11-17 株式会社東芝 情報処理装置および表示制御方法
US9053216B1 (en) 2013-08-09 2015-06-09 Datto, Inc. CPU register assisted virtual machine screenshot capture timing apparatuses, methods and systems
CN104834611A (zh) * 2014-02-12 2015-08-12 中兴通讯股份有限公司 一种自动识别主机操作系统的方法、装置及usb设备
CN104239244B (zh) * 2014-08-25 2017-07-14 小米科技有限责任公司 对待访问数据进行显示管理的方法和装置
CN107463524A (zh) * 2016-06-06 2017-12-12 华为终端(东莞)有限公司 一种访问数据的方法及相关设备
US10846076B2 (en) * 2016-10-11 2020-11-24 Barfield, Inc. Remote application update of measurement device field firmware
US10542120B2 (en) 2016-11-10 2020-01-21 Microsoft Technology Licensing, Llc Wirelessly providing operating system specific features
CN108629175B (zh) * 2018-05-14 2020-07-17 深圳市江波龙电子股份有限公司 Usb大容量存储设备的访问控制方法及访问控制装置
US11520614B2 (en) * 2020-03-10 2022-12-06 Dish Network L.L.C. Operating system-agnostic container runtime
US20230239429A1 (en) * 2022-01-25 2023-07-27 Mediatek Inc. Communication system and method

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6125411A (en) * 1995-09-13 2000-09-26 Hitachi, Ltd. System storing plural I/O arrangement information wherein each I/O arrangement information corresponding to each operating system is created in response to more than two operating systems
US6832273B2 (en) * 2000-12-21 2004-12-14 Microsoft Corporation System and method to specify extended configuration descriptor information in USB devices
US6804727B1 (en) * 2001-02-23 2004-10-12 Lexmark International, Inc. Method for communication from a host computer to a peripheral device
US6904482B2 (en) * 2001-11-20 2005-06-07 Intel Corporation Common boot environment for a modular server system
US20040203296A1 (en) 2002-11-15 2004-10-14 Globespan Virata Inc. Method and system for attaching a USB network adapter supporting both RNDIS and non-RNDIS capable operating systems
JP4896397B2 (ja) * 2004-12-28 2012-03-14 富士通株式会社 プログラム、制限方法及びコンピュータ
DE102006010218A1 (de) * 2006-03-06 2007-09-13 Giesecke & Devrient Gmbh Verfahren zum Einstellen einer Hilfseinheit auf einen Host und Hilfseinheit
US7574534B2 (en) * 2006-05-23 2009-08-11 International Business Machines Corporation Method for using device enumeration information to identify an operating system running on a computer system
JP2009087124A (ja) * 2007-10-01 2009-04-23 Buffalo Inc 記憶デバイス及び記憶デバイスアクセス制御方法
WO2009113381A1 (ja) * 2008-03-11 2009-09-17 日本電気株式会社 マルチプロセッサシステム、マルチプロセッサシステムのos間デバイス共有方法
TW200943188A (en) 2008-04-01 2009-10-16 Sunplus Innovation Technology Inc A method for automatically detecting an operating system on a USB device
CN101561785B (zh) 2008-04-14 2012-01-04 凌阳创新科技股份有限公司 在usb装置上自动侦测操作系统的方法
JP2011145912A (ja) * 2010-01-15 2011-07-28 Fujitsu Ltd 仮想計算機を使用したクライアントシステム、仮想計算機を使用したクライアント制御方法及びそのプログラム
US8661164B2 (en) * 2010-08-24 2014-02-25 Mediatek Inc. Method of USB device enumeration including detecting the operating system type of the USB host
CN101916238B (zh) * 2010-08-26 2012-01-25 华为终端有限公司 数据卡识别操作系统的方法、装置及通信系统
US8473666B2 (en) * 2011-06-27 2013-06-25 Schneider Electric It Corporation Systems and methods for driverless operation of USB device

Also Published As

Publication number Publication date
US9189358B2 (en) 2015-11-17
CN103294464A (zh) 2013-09-11
CN103294464B (zh) 2018-04-17
EP2631792A1 (en) 2013-08-28
US20130227177A1 (en) 2013-08-29
KR20130097381A (ko) 2013-09-03

Similar Documents

Publication Publication Date Title
KR101956574B1 (ko) 휴대용 단말기에서 호스트 디바이스의 운영 체제를 확인하기 위한 장치 및 방법
US20200175849A1 (en) Remote control system and method for portable terminals
KR100594127B1 (ko) 블루투스 기기에서 본딩 프로세스 방법 및 장치
CN103597805B (zh) 用于促进附件与多个设备之间的交互操作的技术
JP5307276B2 (ja) Usb装置の遠隔制御方法及びこれを実行するシステム
US20170289334A1 (en) Mobile terminal, power adapter, and upgrade method thereof
KR101751225B1 (ko) 이동 통신 단말의 원격제어 장치 및 방법
EP3848842A1 (en) Apparatus and method of controlling permission to applications in a portable terminal
KR20130003863A (ko) 원격 디바이스 드라이버를 이용한 원격 제어 시스템 및 원격 디바이스 드라이버를 이용한 원격 제어 방법
US10165611B2 (en) Bluetooth pairing system and operating method thereof
KR20130037801A (ko) 원격제어장치, 원격제어방법 및 디스플레이장치
US7975075B2 (en) Data communication system and method
CN104184948A (zh) 通过移动终端远程控制拍照设备延时拍照的方法及系统
CN105187878A (zh) 电视蓝牙连接方法及装置
US20140300763A1 (en) Recording medium and control method thereof
US20090023440A1 (en) Communication mediation apparatus and communication mediation method
KR20030057250A (ko) Host 기능을 겸비한 USB 디지털 카메라 시스템
CN112003928B (zh) 多功能屏幕同步控制方法、装置及设备
CN112929226B (zh) 测试系统及方法
JP5707366B2 (ja) Usb端末の制御方法及びこれを実行する装置
US9380199B2 (en) Recording medium and control method thereof
JP6352838B2 (ja) 無線通信装置
US10966273B2 (en) Connection management apparatus and non-transitory computer readable medium
CN102547445A (zh) 电子设备及程序
CN115629778A (zh) Uvc摄像头软件升级方法、装置、存储介质及终端

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant