KR101767262B1 - UPnP를 이용한 입력 시스템에서 입력 방식을 변경하기 위한 방법 및 장치 - Google Patents

UPnP를 이용한 입력 시스템에서 입력 방식을 변경하기 위한 방법 및 장치 Download PDF

Info

Publication number
KR101767262B1
KR101767262B1 KR1020100025812A KR20100025812A KR101767262B1 KR 101767262 B1 KR101767262 B1 KR 101767262B1 KR 1020100025812 A KR1020100025812 A KR 1020100025812A KR 20100025812 A KR20100025812 A KR 20100025812A KR 101767262 B1 KR101767262 B1 KR 101767262B1
Authority
KR
South Korea
Prior art keywords
input
transmitting
receiving
changed
information
Prior art date
Application number
KR1020100025812A
Other languages
English (en)
Other versions
KR20110051123A (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 PCT/KR2010/007843 priority Critical patent/WO2011056032A2/en
Priority to JP2012537824A priority patent/JP5448222B2/ja
Priority to EP10828567.7A priority patent/EP2499804B1/en
Priority to CN201080050630.XA priority patent/CN102598625B/zh
Priority to US12/942,605 priority patent/US9015383B2/en
Publication of KR20110051123A publication Critical patent/KR20110051123A/ko
Priority to US14/673,075 priority patent/US9667487B2/en
Application granted granted Critical
Publication of KR101767262B1 publication Critical patent/KR101767262B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0806Configuration setting for initial configuration or provisioning, e.g. plug-and-play
    • H04L41/0809Plug-and-play configuration
    • 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/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4286Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a handshaking protocol, e.g. RS232C link
    • 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
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/12Arrangements for remote connection or disconnection of substations or of equipment thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2807Exchanging configuration information on appliance services in a home automation network
    • H04L12/2809Exchanging configuration information on appliance services in a home automation network indicating that an appliance service is present in a home automation network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2816Controlling appliance services of a home automation network by calling their functionalities
    • H04L12/282Controlling appliance services of a home automation network by calling their functionalities based on user interaction within the home
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L2012/284Home automation networks characterised by the type of medium used
    • H04L2012/2841Wireless
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Automation & Control Theory (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Human Computer Interaction (AREA)
  • Information Transfer Systems (AREA)
  • Computer And Data Communications (AREA)
  • Input From Keyboards Or The Like (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Communication Control (AREA)

Abstract

본 발명은 UPnP(Universal Plug and Play)를 이용한 입력 시스템에서 입력 방식을 변경하기 위한 방법에 있어서, 제어 포인트(Control Point)가 입력을 수행할 입력 장치들로부터 입력 능력에 대한 정보를 요청하고, 상기 요청에 대한 응답으로 입력 능력에 대한 정보를 수신하는 과정과, 상기 제어 포인트가 상기 수신한 입력 능력 정보를 이용하여 입력 신호를 수신하기 위한 수신 장치와 입력 신호를 송신하기 위한 송신 장치를 결정하여 세션 설정을 수행하는 과정과, 상기 수신 장치가 상기 송신 장치로부터 입력 데이터를 수신하는 과정과, 상기 수신 장치의 입력 방식이 변경된 경우, 상기 변경된 입력 방식에 대한 정보를 상기 송신 장치로 전달하고, 상기 송신 장치가 변경된 입력 방식에 따른 입력 데이터의 포맷에 대한 정보를 포함하는 리포트 디스크립터(report descriptor)를 상기 수신 장치로 전달하는 과정을 포함함을 특징으로 한다.

Description

UPnP를 이용한 입력 시스템에서 입력 방식을 변경하기 위한 방법 및 장치{METHOD AND APPARATUS FOR CHANGING INPUT FORMAT IN INPUT SYSTEM USING UNIVERSAL PLUG AND PLAY}
본 발명은 UPnP(Universal Plug and Play) 프로토콜에 관한 것으로서, 특히 UPnP를 이용한 입력 시스템에서 입력 방식을 변경하기 위한 방법 및 장치에 관한 것이다.
사용자는 PC(Personal Computer), 랩탑(Laptop), PDA(Personal Digital Assistant)와 같은 컴퓨팅 장치를 제어하기 위하여 다양한 입력 장치를 사용한다. 이러한 입력장치에는 키보드, 마우스와 같은 일반적인 입력장치와, 조이스틱(Joystick), 게임 패드(Game pad)와 같이 게임을 즐기기 위한 입력장치, 또한 스타일러스(Stylus)와 같이 전문적인 디자이너를 위한 입력장치도 포함된다. 이와 같이 입력장치의 목적과 종류는 그 수를 헤아릴 수 없을 만큼 다양하다.
이와 같이 다양한 입력장치에서 전달되는 입력데이터를 수신하기 위해서 호스트 장치(Host device)는 각 입력장치의 입력을 수신하고 해석할 수 있는 다양한 드라이버를 구비하여야 하며, 입력장치가 연결되었을 경우 위와 같은 드라이버를 통해 입력 데이터를 해석하여 사용하게 된다. 따라서 호스트 장치는 어떠한 입력장치가 연결될 지 알 수 없기 때문에 시장에 출시된 모든 종류의 디바이스 드라이버를 구비하거나 입력장치에 적합한 드라이버를 사용자가 설치해야만 하는 문제점이 있다.
위와 같은 문제점을 해결하기 위하여, USB(Universal Serial Bus)는 현존하는 모든 장치를 타입별로 구분하여 클래스(Class)로 나누어 각 클래스 드라이버(Class Driver)는 특정 클래스 장치를 관리하며, 특히 HID(Humal Interface Device)와 같은 클래스의 경우는 입력장치에서 전송하게 될 데이터의 형식을 정의한 리포트 디스크립터(Report descriptor)를 전달함으로서, 새로운 형태의 입력장치가 등장하게 되어도 적용이 용이하도록 설계되었다.
USB 입력장치는 다양한 입력장치를 하나의 단일한 포트(Port)와 클래스 드라이버를 사용하여 제어할 수 있는 장점이 있으나, 유선 연결에 국한된 한계가 있다. 이를 개선하기 위해 블루투스(Blutooth) SIG, USB와 같은 표준에서는 블루투스 HID 프로파일(profile), 무선(Wireless) USB와 같은 표준기술을 개발하여 무선으로 HID를 호스트 장치에 연결할 수 있는 방법을 제공한다. 그러나 이러한 기술들은 기존에 유선으로 제공되는 기능을 단순히 무선환경으로 확장한 것에 불과하며, 무선 환경 또는 네트워크 환경에서 고려할 수 있는 문제점 및 새로운 기능들을 포함하지 않는다.
최근 들어 휴대폰, PDA와 같은 모바일 장비는 과거의 장치들에 비해 강력한 처리 능력과 성능을 보유하게 되었으며 네트워크에 쉽게 접속할 수 있는 환경에서 동작한다. 이를 바탕으로 UPnP 텔레포니(Telephony) WC에서는 네트워크를 이용하여 한 장치를 다른 장치의 입력 장치로 사용하고자 하는 서비스가 정의되고 있다.
본 발명은 UPnP(Universal Plug and Play)를 이용한 입력 시스템에서 입력 동작을 수행 중 입력 방식을 신속하게 변경하기 위한 방법 및 장치를 제공하고자 한다.
이를 달성하기 위한 본 발명의 일 형태에 따르면, UPnP(Universal Plug and Play)를 이용한 입력 시스템에서 입력 방식을 변경하기 위한 방법에 있어서, 제어 포인트(Control Point)가 입력을 수행할 입력 장치들로부터 입력 능력에 대한 정보를 요청하고, 상기 요청에 대한 응답으로 입력 능력에 대한 정보를 수신하는 과정과, 상기 제어 포인트가 상기 수신한 입력 능력 정보를 이용하여 입력 신호를 수신하기 위한 수신 장치와 입력 신호를 송신하기 위한 송신 장치를 결정하여 세션 설정을 수행하는 과정과, 상기 수신 장치가 상기 송신 장치로부터 입력 데이터를 수신하는 과정과, 상기 수신 장치의 입력 방식이 변경된 경우, 상기 변경된 입력 방식에 대한 정보를 상기 송신 장치로 전달하고, 변경된 입력 방식에 따른 입력 데이터의 포맷에 대한 정보를 포함하는 리포트 디스크립터(report descriptor)를 상기 송신 장치로부터 수신하는 과정을 포함함을 특징으로 하며,
상기 입력 능력 정보는, 상기 입력 데이터의 포맷에 대한 정보를 포함하는 리포트 디스크립터를 포함하는 것을 특징으로 하며,
상기 제어 포인트가 상기 수신한 입력 능력 정보를 이용하여 입력 신호를 수신하기 위한 수신 장치와 입력 신호를 송신하기 위한 송신 장치를 결정하여 세션 설정을 수행하는 과정은, 상기 제어 포인트가 세션을 연결하기 위한 설정값들을 상기 송신 장치 및 수신 장치로 전달하며, 상기 송신 장치 및 수신 장치는 상기 설정값들을 이용하여 세션을 생성하는 단계와, 상기 송신 장치 및 상기 수신 장치는 데이터 전송 간의 제어를 위한 컨트롤 채널(Control Channel)과 비동기 데이터의 전송을 위한 인터럽트 채널(Interrupt Channel)을 생성하는 단계를 포함함을 특징으로 하며,
상기 변경된 입력 방식에 대한 정보를 상기 송신 장치로 전달하고, 변경된 입력 방식에 따른 입력 데이터의 포맷에 대한 정보를 포함하는 리포트 디스크립터(report descriptor)를 상기 송신 장치로부터 수신하는 과정은, 상기 변경된 입력 방식에 대한 정보를 상기 송신 장치로 전달하고, TCP 채널을 통해 새로운 세션을 생성하며, 변경된 입력 방식에 따른 입력 데이터의 포맷에 대한 정보를 포함하는 리포트 디스크립터를 상기 생성된 세션을 통해 상기 송신 장치로부터 수신하는 과정임을 특징으로 하며,
상기 변경된 입력 방식에 대한 정보를 상기 송신 장치로 전달하고, 변경된 입력 방식에 따른 입력 데이터의 포맷에 대한 정보를 포함하는 리포트 디스크립터를 상기 송신 장치로부터 수신하는 과정은, 상기 변경된 입력 방식에 따른 리포트 디스크립터를 요청하는 리퀘스트를 상기 송신 장치로 전달하고, 새로운 TCP 채널을 생성하며, 변경된 입력 방식에 따른 입력 데이터의 포맷에 대한 정보를 포함하는 리포트 디스크립터를 상기 생성된 채널을 통해 상기 송신 장치로부터 수신하는 과정임을 특징으로 하며,
상기 변경된 입력 방식에 따른 리포트 디스크립터를 요청하는 리퀘스트는, 입력 형식에 대한 정보를 포함한 입력 타입과, USB HID 서브클래스 정보를 포함함을 특징으로 하며,
상기 변경된 입력 방식에 대한 정보를 상기 송신 장치로 전달하고, 변경된 입력 방식에 따른 입력 데이터의 포맷에 대한 정보를 포함하는 리포트 디스크립터를 상기 송신 장치로부터 수신하는 과정은, 상기 변경된 입력 방식에 따른 리포트 디스크립터를 요청하는 리퀘스트를 상기 송신 장치로 전달하고, 상기 변경된 입력 방식에 따른 입력 데이터의 포맷에 대한 정보를 포함하는 리포트 디스크립터를 상기 컨트롤 채널을 통해 상기 송신 장치로부터 수신하는 과정임을 특징으로 한다.
본 발명의 다른 형태에 따르면, UPnP를 이용한 입력 시스템에 있어서, 사용자로부터의 입력을 수신하여 입력 데이터를 송신하는 송신 장치와, 상기 송신 장치로부터 입력 데이터를 수신하여 상기 입력 데이터에 따른 동작을 수행하는 수신 장치와, 입력을 수행할 입력 장치들로부터 입력 능력에 대한 정보를 요청하고, 상기 요청에 대한 응답으로 입력 능력에 대한 정보를 수신하며, 상기 수신한 입력 능력 정보를 이용하여 입력 신호를 수신하기 위한 수신 장치와 입력 신호를 송신하기 위한 송신 장치를 결정하여 세션 설정을 수행하는 제어 포인트(Control Point)를 포함하며, 상기 수신 장치는 입력 방식이 변경된 경우, 상기 변경된 입력 방식에 대한 정보를 상기 송신 장치로 전달하고, 변경된 입력 방식에 따른 입력 데이터의 포맷에 대한 정보를 포함하는 리포트 디스크립터를 상기 송신 장치로부터 수신하는 것을 특징으로 한다.
본 발명은 UPnP를 이용한 입력 시스템에서 입력 장치가 특정 방식의 입력을 수행중에 다른 입력 방식으로 입력을 변경할 수 있게 하는 효과가 있다. 또한 입력 방식을 변경하는데 기존의 USB 클래스 드라이버(Class driver)를 재사용할 수 있어 개발의 효율성을 높이는 효과가 있다.
또한, 블루투스(Bluetooth) HID 전송 프로토콜을 사용하여 블루투스에서 사용하던 소프트웨어 모듈을 재사용하는 것이 가능하며, TCP 레벨에서의 입력 방식의 변경도 가능하다. 또한 신용카드 정보와 같이 보안이 필요한 정보의 경우 사용자 의사에 따라서 보안 설정이 가능하다.
도 1은 본 발명이 적용되는 UPnP를 이용한 입력 시스템의 블록 구성을 나타낸 도면
도 2는 UPnP를 이용한 입력 시스템에서 입력 동작의 흐름을 나타낸 도면
도 3은 본 발명의 일 실시 예에 따른 입력 데이터의 전송 프로토콜 및 데이터 포맷을 변경하기 위한 장치의 블록 구성을 나타낸 도면
도 4는 본 발명의 일 실시 예에 따른 UPnP 액션을 이용하여 리포트 디스크립터(Report Descriptor)를 전달하는 동작을 나타낸 도면
도 5는 본 발명의 이 실시 예에 따른 TCP 채널을 이용하여 리포트 디스크립터를 전달하는 동작을 나타낸 도면
도 6은 본 발명의 삼 실시 예에 따른 블루투스(Bluetooth) 리퀘스트를 이용하여 리포트 디스크립터를 전달하는 동작을 나타낸 도면
도 7은 본 발명의 일 실시 예에 따라 변경된 Capability Description의 예를 나타낸 도면
도 8은 본 발명의 일 실시 예에 따라 확장된 Capability Description의 예를 나타낸 도면
도 9는 본 발명의 이 실시 예에 따라 변경된 ConnectionInfo의 예를 나타낸 도면
도 10는 본 발명의 이 실시 예에 따라 확장된 ConnectionInfo의 예를 나타낸 도면
이하 첨부된 도면을 참조하여 본 발명을 구성하는 장치 및 동작 방법을 본 발명의 실시 예를 참조하여 상세히 설명한다. 하기 설명에서는 구체적인 구성 소자 등과 같은 특정 사항들이 나타나고 있는데 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐 이러한 특정 사항들이 본 발명의 범위 내에서 소정의 변형이나 혹은 변경이 이루어질 수 있음은 이 기술분야에서 통상의 지식을 가진 자에게는 자명하다 할 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다.
도 1은 UPnP를 이용한 입력 시스템의 블록 구성을 나타낸 도면이다. 도 1에서 볼 수 있듯이 UPnP 입력 시스템은 두 개의 입력 장치(Input Device, 120, 130)와 입력 제어포인트(Input Control Point, 이하 CP로 표기함, 110)를 포함하여 구성된다. 각 입력 장치(120, 130)는 운영 체제의 입력 기능(121, 131)을 가지며, InputConfig 서비스(122, 132)와, 서버 혹은 클라이언트로 동작하며 상대방 측으로 입력 정보를 전송하기 위한 전송 수단(Transfer Server/Client, 123, 133)을 포함한다. CP(110)는 네트워크 상에서 InputConfig 서비스(122, 132)를 발견하고, 각 입력 장치가 처리할 수 있는 입력 장치의 종류, 입력 방식 및 필요한 정보들을 설정할 수 있다. 보통 두 개의 서비스의 한쪽은 입력 데이터를 전달하고, 다른 한쪽은 입력 데이터를 수신하게 되며, CP(110)는 발신측에서 보낼 데이터와 수신측에서 받을 수 있는 데이터 간의 상호 운용성 확보를 위하여 사용할 입력 데이터의 포맷 및 전송 방법을 각 서비스로 전달하는 역할을 수행한다. 입력 타입은 각 입력 장치의 입력 능력을 나타내는 Capability 문서에 기술되어 있으며, 입력 장치의 종류와 입력 방식 이외의 디바이스의 특성에 관련된 정보들을 기술할 수 있으며, 각 항목은 현재 UPnP Telephony WC에서 표준화되고 있다.
도 2는 UPnP를 이용한 입력 시스템에서 입력 동작의 흐름을 나타낸 도면이다. 도 2를 참조하면, 210단계에서 CP(110)가 InputConfig 서비스(122, 132)로 GetInputCapability()와 같은 UPnP 액션을 이용하여 입력 장치(120, 130)들의 Capability를 수신하고, 220단계에서 수신된 Capability를 바탕으로 각 입력 장치(120, 130)의 역할을 결정하고 전송 프로토콜을 결정한다. 이후에 230단계 및 240단계에서는 SetinputSession()과 같은 UPnP 액션을 이용하여 각 장치의 세션을 생성하고, 250 및 260단계에서 StartinputSession()과 같은 UPnP 액션을 이용하여 두 장치의 세션을 시작하여 두 장치 간의 입력 데이터 전송을 시작한다. 상기 세션은 각 입력 장치들 간의 논리적인 연결을 의미하며, UPnP 프로토콜을 통해 제어될 수 있다.
기존의 USB, 블루투스 HID 입력 방식은 다음과 같은 문제점이 있다.
먼저, 유사 기술의 문제점(USB, Bluetooth)이 있다. 이러한 방식은 입력을 위하여 복수의 인터페이스를 구비하여야 한다. 예를 들어 노트북을 사용하여 웹서핑을 할 경우, 호스트 PC는 웹을 사용하기 위한 네트워크 인터페이스 외에, 입력을 전송받기 위한 블루투스 또는 USB 인터페이스를 구비하여야 한다. 또한, 사용되고 있는 장치의 입력 방식 및 입력 데이터의 타입을 변경할 수 없다. 예컨대 사용자가 USB 마우스로 사용하던 장치를 USB 키보드로 사용하고자 할 경우, 이를 수행할 수 있는 방법이 없다. 이는 USB 또는 블루투스 표준이 가지고 있는 태생적인 문제다. 상기 표준들은 특정 목적의 장치가 있으면 이와 같은 목적의 장치를 호스트 장치에 연결하기 위해서 고안되었기 때문이다. 즉 장치의 목적이 고정되어 있으며 이로 인하여 장치의 목적이 변경된다 할지라도 이에 대처할 수 있는 방법이 전혀 없다.
또한, 표준화 되고 있는 UPnP InputConfig 서비스의 경우에는, 네트워크로 입력 데이터를 전송하기 위한 방법이 현재 존재하지 않는다. 따라서 이를 위해 필요한 정보 및 구성요소 역시 존재하지 않는다. 현재는 입력 장치를 발견하고 발견한 장치의 Capability를 확인하며, 송신측 및 수신측 장치의 역할을 설정하고 논리적인 연결을 맺어 주는 역할을 수행할 수 있다.
사용되고 있는 장치의 입력 방식 및 입력 데이터의 포맷을 변경할 수 있으나 UPnP를 사용하여 변경하기 때문에 실시간으로 입력 방식의 변경이 필요할 경우 속도가 느린 단점이 있다. 또한 CP를 거쳐서 변경하여야 하기 때문에 최악의 경우 연결 설정 후 CP가 존재하지 않는다면 입력 방식을 변경할 수 있는 방법이 존재하지 않는다.
도 3은 본 발명의 일 실시 예에 따른 입력 데이터의 전송 프로토콜 및 데이터 포맷을 변경하기 위한 장치의 블록 구성을 나타낸 도면이다.
도 3을 참조하면 본 발명의 일 실시 예에 따른 UPnP 입력 시스템은 사용자로부터 직접 입력을 받아서 입력 데이터를 수신측 입력 장치(31)로 전송하는 송신측 입력 장치(32)와, 송신측 입력 장치(32)로부터 입력 정보를 수신하여 입력에 따른 동작을 수행하는 수신측 입력 장치(31)와, 상기 UPnP 입력 장치들(31, 32)을 제어하는 CP(33)를 포함하여 구성된다.
상기 수신측 입력 장치(31)는 UPnP InputConfig 서비스(311)과, UPnP DA(Discovery Agent)(312)와, HID(Human Interface Device) 클래스 드라이버(313)과, 어플리케이션(Application, 314)과, UPnP HID 어댑터(Adaptor)(315)와, TCP/IP 스택(316)을 포함하여 구성된다.
UPnP InputConfig 서비스(311)는 입력 장치(31)의 설정을 담당하는 구성으로서, 입력 장치의 역할, 사용할 수 있는 프로토콜의 종류 등 입력 장치의 capability와 관련된 정보를 포함하고 있으며, CP(33)로부터 설정값을 입력받아 상기 서비스와 동일한 장치에 있는 S/W 모듈을 내부적으로 제어하여 입력을 전송하거나 수신할 수 있는 상태로 상태 변경을 수행한다.
UPnP DA(302)는 디바이스 및 서비스의 UPnP 디스커버리(Discovery) 동작을 수행한다.
HID 클래스 드라이버(313)는 USB HID 디바이스를 위한 클래스 드라이버로서 다양한 HID 장치에 범용적으로 활용될 수 있으며, UPnP HID 어댑터(315)로부터 입력값을 받아 이를 상위 어플리케이션(314)으로 제공한다.
어플리케이션(314)은 입력 장치(31)에 설치된 인터넷 브라우저와 같은 사용자 어플리케이션을 의미한다.
UPnP HID 어댑터(315)는 UPnP를 사용하여 설정된 컨트롤 채널(Control Channel) 또는 인터럽트 채널(Interrupt Channel)을 통해 전달된 블루투스 HID 입력값을 USB HID 클래스 드라이버(313)가 사용할 수 있도록 변환한다.
TCP/IP 스택(316)은 TCP/IP 통신을 위한 계층을 나타낸다.
상기 송신측 입력 장치(32)는 상기 설명한 수신측 입력 장치(31)와 구성이 동일하기 때문에 상기 송신측 입력 장치(32)의 상세 구성에 대한 설명은 생략하기로 한다.
본 발명은 UPnP를 사용한 입력 시스템을 통해 기존의 USB 또는 블루투스 HID에서 제공하는 것 이상의 기능을 제공하고자 한다. USB와 블루투스는 장치 간의 연결에 초점을 맞추고 있으며 각각의 고유한 인터페이스를 필요로 한다. UPnP의 경우는 이미 IP 레이어(layer) 위에서 동작하게 되므로, 범용적인 네트웍을 통해 입력값을 전달할 수 있어 추가적인 인터페이스가 필요하지 않은 장점이 있다. 또한 필요한 입력 데이터의 종류가 변경될 경우에 이를 변경할 수 있는 방법을 제공함으로서 순간적으로 호스트 장치의 어플리케이션이 원하는 입력 방식이 변경될 경우에 동일한 장치에서 새로운 입력 방식의 입력 데이터를 전달할 수 있는 장점이 있다. 그러나 범용적인 IP 스택(stack)을 사용하면 속도가 느려질 수 있다는 단점이 있다. 따라서 본 발명은 기존의 블루투스 입력 장치가 제공하는 기능을 모두 제공하는 동시에 입력 장치의 변경과 같은 추가 기능을 속도의 저하없이 제공할 수 있는 방법을 제안한다.
도 4는 본 발명의 일 실시 예에 따른 UPnP 액션을 이용하여 리포트 디스크립터(Report Descriptor)를 전달하는 동작을 나타낸 도면이다. 도 4를 참조하여 본 발명의 일 실시 예에 따른 UPnP 입력 동작 및 리포트 디스크립터 전달 동작을 설명하기로 한다.
먼저 410단계에서 CP(33)는 입력 장치를 제어하여 UPnP 디스커버리 동작을 수행하여 입력 동작을 수행할 입력 장치를 발견한다.
다음 420단계에서 CP(33)는 UPnP InputConfig 서비스(311, 321)로부터 해당 장치의 Capability를 읽고, 430단계에서 Capability 매칭을 수행하여 필요에 따라 입력에 사용하고자 하는 입력 장치를 선택한다. 이 경우 일반적으로 사용자는 입력 정보를 수신하기 위한 수신측 입력 장치를 제어하게 되며, 실제 입력에 사용할 송신측 입력 장치를 발견하고 입력에 적합한 장치를 선택한다. 반대로 사용자가 실제 입력을 수행할 입력 장치를 제어하는 경우에는 입력 데이터를 수신하여 어플리케이션을 실행하기 위한 수신측 입력 장치를 발견하여 선택할 수도 있다.
한편, 본 발명은 본 발명의 일 실시 예에 따라 입력 장치가 Capability를 전달할 때 리포트 디스크립터를 포함하여 전달할 수 있다. 이에 대한 설명은 하기에 상세히 설명한다.
이후 440단계에서 CP(33)는 세션을 연결하기 위한 설정값들을 InputConfig 서비스(311, 321)로 전달하고, InputConfig 서비스(311, 321)는 설정값들을 활용하여 세션을 생성하고 실제로 연결할 준비를 한다.
다음 450단계에서 송신측 입력 장치(32)는 CP(33)로부터 전달받은 ConectionInfo의 정보에서 수신측 입력 장치(31)의 포트(Port) 정보를 확인하고, 각 세션 별로 두 개의 채널을 형성한다. 상기 ConectionInfo는 송신측 입력 장치의 연결 정보를 나타낸다. 데이터 전송 간의 제어를 위한 컨트롤 채널(Control Channel)로 사용되는 TCP 채널과 비동기 데이터의 전송을 위한 인터럽트 채널(Interrupt Channel)로 사용되는 UDP 채널을 생성한다. 한편 보안에 민감한 데이터를 전송하는 경우에는 일반 포트 대신에 SSL(Secure Socket Layer)로 보호되는 채널을 이용할 수 있다. 상기 두 개의 채널은 하나의 SessionID로 관리되며, 이렇게 생성된 채널 위에서 블루투스에서 정의한 리퀘스트(REQUEST)를 사용하여, 입력 데이터를 전송하게 된다. 입력데이터의 포맷(Format)은 상기 420단계에서 공유된 리포트 디스크립터에 기술된 포맷을 따른다.
리포트 디스크립터는 전달될 입력데이터의 포맷을 기술하고 있는 데이터구조를 의미한다. 본 발명은 본 발명의 특징에 따라 리포트 디스크립터를 공유하는 방법을 제안한다.
먼저, 본 발명의 일 실시 예에 따라 리포트 디스크립터를 UPnP 액션을 통해 공유할 수 있다. 이는 상기 도 4에서 설명한 방법으로서, 도 4의 420단계에서 각 입력 장치의 입력 능력에 대한 정보를 나타내는 Capability 정보를 전달시 Capability에 리포트 디스크립터를 삽입하여 전달하는 방법이다.
이 경우 Capability는 XML(eXtensible Markup Language) 형태의 텍스트(Text)정보이며, 리포트 디스크립터는 바이너리(binary) 형태의 정보로 구성되기 때문에 XML에 삽입할 경우, XML 문서가 깨지는 문제가 발생할 수 있다. 이를 해결하기 위해서는 리포트 디스크립터가 갖는 의미를 분석하여, 각각의 의미에 해당하는 XML 엘리먼트(element)를 새롭게 정의하여 XML 문서에 리포트 디스크립터를 포함시킬 수 있다. 이러한 방식은 가독성이 좋은 장점이 있으나, 수신측에서 XML을 파싱하여 원래의 바이너리 코드로 재변환하여 적용하여야 한다는 단점이 있다.
또한 리포트 디스크립터를 XML에 삽입하기 위해 BASE64와 같은 바이너리(Binary) 인코딩 방식을 사용하여 인코딩해서 보내는 방법이 있다. 이 경우 텍스트 형태로 인코딩 되는 것이 아니므로 가독성은 낮으나 파싱 및 변환의 속도가 빠르다는 장점이 있다. 위와 같은 방법을 사용하여, CP(33)는 UPnP 액션을 사용하여 리포트 디스크립터를 수신하고 전달할 수 있다.  
본 발명의 이 실시 예는 리포트 디스크립터를 TCP 통신을 사용하여 전달하는 방법이다. 상기 본 발명의 일 실시 예에 따른 리포트 디스크립터 전달 방법은 사람에게 매우 직관적이다. 그러나 입력을 수행 중에 입력 방식이 변경되어 리포트 디스크립터를 갑자기 변경해야 할 경우에는 문제가 발생할 수 있다.
이 경우 리포트 디스크립터가 UPnP 스택(Stack)을 모두 거쳐서 전달되기 때문에 처리 속도가 오래 걸리는 문제가 발생할 수 있고, 만약 CP(33)가 연결을 설정하고 전원이 차단된 경우 리포트 디스크립터를 변경할 수 있는 방법이 없다. 따라서 본 발명은 본 발명의 특징에 따라 TCP 채널을 이용하여 직접 리포트 디스크립터를 전달한다. 실시간으로 입력 장치를 변경하기 위해서는 수신측 입력 장치(31)가 송신측 입력 장치(32)에게 현재 요구되는 입력 방식이 변경된 것을 알려주거나, 송신측 입력 장치(32)가 수신측 입력 장치(31)에게 입력 방식이 변경된 것을 알려줄 수 있어야 하며 이때 사용될 포트 정보는 ConnectionInfo에 포함될 수 있다. 해당 포트를 사용하여 리포트 디스크립터를 전달할 때는 다음과 같은 두 가지 방법을 사용할 수 있다.
첫번째 방법은 수신측 입력 장치(31)가 해당 포트에 대한 접속을 요청하면, 세션을 만들고 바로 리포트 디스크립터를 전송하는 방법이다. 전송이 완료되면 해당 세션은 종료한다. 이미 UPnP를 이용하여 사용할 입력 장치의 타입 및 클래스가 결정된 경우에는 이와 같은 방법을 사용하여 간단히 리포트 디스크립터를 전달할 수 있다. 두 번째 방법은 리포트 디스크립터를 전송하기 위한 리퀘스트를 정의하는 것이다. 블루투스 리퀘스트와 유사하게 리포트 디스크립터를 요청하는 새로 정의된 리퀘스트를 이용하여 리포트 디스크립터를 요청하고 리포트 디스크립터를 수신한 후에 해당 채널을 종료한다. 이 방법을 사용할 경우에는 언제든 수신측 입력 장치(31)가 특정한 입력을 필요할 경우 새로운 리포트 디스크립터를 요청할 수 있는 장점이 있다. 이 경우 새로운 리포트 디스크립터의 요청은 다음과 같은 절차를 따른다.
먼저 수신측 입력 장치(31)에서 필요한 입력 방식이 텍스트 입력 방식에서 좌표 입력 방식으로 변경되었다고 가정하면, 다음 수신측 입력 장치(31)는 변경된 입력 방식을 알리고 그에 따른 리포트 디스크립터를 수신하기 위해 하기 표 1에 도시된 리퀘스트를 이용하여 송신측 입력 장치(32)로 리포트 디스크립터를 요청한다. 이때 변경된 입력 방식(Input Type)과 USB HID 서브클래스(subclass) 정보를 함께 전달한다. Input Type은 입력 방식에 대한 간단한 기술로서 예컨대 문자 입력인지 좌표 입력 인지와 같은 입력 방식을 나타낸다. USB HID 서브클래스는 좀더 자세한 정보를 표현한다. 즉, 사용하게 될 입력 장치가 USB 표준에서 제공하는 어떤 서브클래스에 속하는지 표시한다. 새로운 리퀘스트 포맷은 하기 표 1에 도시된 바와 같다.
Field Size(Bytes) Description
Request 1 7..4 Transaction Type
  12= GET_REPORT_DESCRIPTOR
3..0 Reserved
Required Input Type 1 7..6 Input Type indicator
   0= USB HID Subclass
   1= Vendor Specific Type
5..0 Input Type
다음 송신측 입력 장치(32)는 수신된 리퀘스트와 송신측 입력 장치(32)가 제공할 수 있는 입력 형식을 비교한 후 리포트 디스크립터를 회신한다.
만약 송신측 입력 장치(32)가 수신된 USB HID 서브클래스에 해당하는 입력을 보낼 수 없는 경우에는, 하기 표 2에 도시된 리퀘스트를 통해 수신된 입력 타입의 디폴트 리포트 디스크립터를 회신한다.
Field Size(Bytes) Description
Request 1 7..4 Transaction Type
   0= HANDSHAKErequest
3..0 Result Code
 0x0= SUCCESSFUL
 ......
 0x5= USE_DEFUALT_RD
수신측 입력 장치(31)가 리포트 디스크립터를 수신하면 회신된 정보에 따라서 향후 수신될 입력데이터의 포맷을 알게 되고 이를 해석할 수 있는 모듈을 준비한다.
상기 동작과는 반대로 송신측 입력 장치(32)에서 변경하고자 하는 입력 방식을 수신측 입력 장치(31)로 송신할 수도 있다. 이를 위해서 송신측 입력 장치(32)는 변경된 입력 방식을 수신측 입력 장치(31)로 전달할 수 있는 새로운 리퀘스트를 추가로 정의해야 한다. 본 발명은 본 발명의 특징에 따라 하기의 표 3과 같은 리퀘스트를 정의한다. 아래에 정의된 리퀘스트를 이용하여 변경될 입력 타입의 정보 및 리포트 디스크립터를 전달하며, 이에 대한 응답은 기존 기술과 동일게 HANDSHAKErequest를 사용하여 받을 수 있다. 상기 동작과 동일하게 수신측 입력 장치(31)는 상기 수신된 정보에 따라서 향후 수신될 입력 데이터의 포맷을 알게 되고 이를 해석할 수 있는 모듈을 준비한다.
Field Size(Bytes) Description
Request 1 7..4 Transaction Type
  12= SET_REPORT_DESCRIPTOR
3..2 Input Type indicator
  0= USB HID Subclass
  1= Vendor Specific Type
1..0 Reserved
Report Descriptior N Report Descriptor for receiver
도 5는 본 발명의 이 실시 예에 따른 TCP 채널을 이용하여 리포트 디스크립터를 전달하는 동작을 나타낸 도면이다. 도 5에 도시된 바와 같이, 입력 방식이 변경된 경우 입력 장치의 TCP/IP 스택을 통한 TCP 통신을 이용하여 리포트 디스크립터를 전송할 수 있다(510).
본 발명의 삼 실시 예는 블루투스 리퀘스트를 추가하되 입력 데이터 전송시 사용하는 컨트롤 채널(Control Channel)을 사용하여 리포트 디스크립터를 전달하는 방법이다.
본 발명의 삼 실시 예는 이 실시 예의 두 번째 방식과 유사하나, 새로운 채널을 생성하는 것이 아니라, 기존의 입력 데이터 전송 시 사용하는 컨트롤 채널을 사용하여 리포트 디스크립터를 전달한다는 차이점이 있다.
도 6은 본 발명의 삼 실시 예에 따른 블루투스(Bluetooth) 리퀘스트를 이용하여 리포트 디스크립터를 전달하는 동작을 나타낸 도면이다. 도 6에 도시된 바와 같이, 본 발명의 삼 실시 예는 입력 방식을 변경하고자 할 경우, 추가된 블루투스 리퀘스트를 이용하여 컨트롤 채널을 통해 리포트 디스크립터를 전송할 수 있다(610).
본 발명을 동작을 위한 UPnP 상태 변수(State variable)의 데이터 구조를 설명하기로 한다. 도 7은 본 발명의 실시 예에 따라 변경된 Capability Description의 예를 나타낸 도면이다. 도 7은 본 발명의 일 실시 예에 따른 capability 정보를 나타낸다. 도 7에 도시된 바와 같이, Capability에 리포트 디스크립트 정보가 포함되며, 전송 프로토콜로 블루투스 HID 방식을 사용한다는 것을 나타낸다. 만약 입력 데이터의 포맷으로 사전에 정의된 리포트 디스크립터를 사용할 경우에는 inputDataFormat의 타입 정보에 USB_DEFAULT 값을 할당하여, 리포트 디스크립터를 기술하지 않고, 기 정의된 리포트 디스크립터를 사용하여 통신할 수 있다.
도 8은 본 발명의 실시 예에 따라 확장된 Capability description의 예를 나타낸 도면이다. 도 8은 제조사가 입력 데이터 포맷 및 전송 프로토콜을 지정한 Capability 정보의 예를 나타낸다.
도 9는 본 발명의 이 실시 예에 따라 변경된 ConnectionInfo의 예를 나타낸 도면이다. 도 9는 본 발명의 이 실시 예에 따라 컨트롤 채널, 인터럽트 채널을 생성하고 리포트 디스크립터를 전달하기 위한 포트 정보를 포함한 ConnectionInfo의 예를 나타낸다.
도 10는 본 발명의 이 실시 예에 따라 확장된 ConnectionInfo의 예를 나타낸 도면이다. 도 10은 제조사가 입력 데이터 포맷 및 전송 프로토콜을 지정한 ConnectionInfo의 예를 나타낸다.
상기와 같이 본 발명의 실시 예에 따른 UPnP를 이용한 입력 시스템에서 입력 방식을 변경하기 위한 방법 및 장치의 동작 및 구성이 이루어질 수 있으며, 한편 상기한 본 발명의 설명에서는 구체적인 실시 예에 관해 설명하였으나 여러 가지 변형이 본 발명의 범위를 벗어나지 않고 실시될 수 있다.

Claims (25)

  1. UPnP(Universal Plug and Play)를 이용한 입력 시스템에서 입력 방식을 변경하기 위한 방법에 있어서,
    제어 포인트(Control Point)가 입력을 수행할 입력 장치들로부터 입력 능력에 대한 정보를 요청하고, 상기 요청에 대한 응답으로 입력 능력 정보를 수신하는 과정과,
    상기 제어 포인트가 상기 수신한 입력 능력 정보를 이용하여 입력 신호를 수신하기 위한 수신 장치와 입력 신호를 송신하기 위한 송신 장치를 결정하여 세션 설정을 수행하는 과정과,
    상기 수신 장치가 상기 송신 장치로부터 입력 데이터를 수신하는 과정과,
    상기 수신 장치의 입력 방식이 변경된 경우, 상기 변경된 입력 방식에 대한 정보를 상기 송신 장치로 전달하고, 상기 송신 장치가 변경된 입력 방식에 따른 입력 데이터의 포맷에 대한 정보를 포함하는 리포트 디스크립터(report descriptor)를 상기 수신 장치로 전달하는 과정을 포함함을 특징으로 하는 입력 방식을 변경하기 위한 방법.
  2. 제 1항에 있어서, 상기 입력 능력 정보는,
    상기 입력 데이터의 포맷에 대한 정보를 포함하는 리포트 디스크립터를 포함하는 것을 특징으로 하는 입력 방식을 변경하기 위한 방법.
  3. 제 2항에 있어서, 상기 입력 능력 정보는,
    XML(eXtensible Markup Language) 엘리먼트(Element)로 정의된 상기 리포트 디스크립터의 내용을 포함하는 것을 특징으로 하는 입력 방식을 변경하기 위한 방법.
  4. 제 2항에 있어서, 상기 입력 능력 정보는,
    인코딩된 상기 리포트 디스크립터를 포함하는 것을 특징으로 하는 입력 방식을 변경하기 위한 방법.
  5. 제 1항에 있어서, 상기 제어 포인트가 상기 수신한 입력 능력 정보를 이용하여 입력 신호를 수신하기 위한 수신 장치와 입력 신호를 송신하기 위한 송신 장치를 결정하여 세션 설정을 수행하는 과정은,
    상기 제어 포인트가 세션을 연결하기 위한 설정값들을 상기 송신 장치 및 수신 장치로 전달하며, 상기 송신 장치 및 수신 장치는 상기 설정값들을 이용하여 세션을 생성하는 단계와,
    상기 송신 장치 및 상기 수신 장치는 데이터 전송 간의 제어를 위한 컨트롤 채널(Control Channel)과 비동기 데이터의 전송을 위한 인터럽트 채널(Interrupt Channel)을 생성하는 단계를 포함함을 특징으로 하는 입력 방식을 변경하기 위한 방법.
  6. 제 5항에 있어서, 상기 컨트롤 채널 및 인터럽트 채널은 하나의 세션 아이디를 공유하는 것을 특징으로 하는 입력 방식을 변경하기 위한 방법.
  7. 제 1항에 있어서, 상기 수신 장치가 상기 송신 장치로부터 입력 데이터를 수신하는 과정은,
    상기 수신 장치가 블루투스(BlueTooth)에 정의된 리퀘스트(REQUEST)를 이용하여 상기 송신 장치로부터 입력 데이터를 수신하는 과정임을 특징으로 하는 입력 방식을 변경하기 위한 방법.
  8. 제 1항에 있어서, 상기 송신 장치의 입력 방식이 변경된 경우, 상기 변경된 입력 방식에 대한 정보 및 변경된 입력 방식에 따른 입력 데이터의 포맷에 대한 정보를 포함하는 리포트 디스크립터를 상기 수신 장치로 전달하는 과정을 더 포함함을 것을 특징으로 하는 입력 방식을 변경하기 위한 방법.
  9. 제 8항에 있어서, 상기 변경된 입력 방식에 대한 정보를 상기 송신 장치로 전달하고, 변경된 입력 방식에 따른 입력 데이터의 포맷에 대한 정보를 포함하는 리포트 디스크립터를 상기 송신 장치로부터 수신하는 과정은,
    상기 변경된 입력 방식에 대한 정보를 상기 송신 장치로 전달하고, TCP 채널을 통해 새로운 세션을 생성하며, 변경된 입력 방식에 따른 입력 데이터의 포맷에 대한 정보를 포함하는 리포트 디스크립터를 상기 생성된 세션을 통해 상기 송신 장치로부터 수신하는 과정임을 특징으로 하는 입력 방식을 변경하기 위한 방법.
  10. 제 8항에 있어서, 상기 변경된 입력 방식에 대한 정보를 상기 송신 장치로 전달하고, 변경된 입력 방식에 따른 입력 데이터의 포맷에 대한 정보를 포함하는 리포트 디스크립터를 상기 송신 장치로부터 수신하는 과정은,
    상기 변경된 입력 방식에 따른 리포트 디스크립터를 요청하는 리퀘스트를 상기 송신 장치로 전달하고, 새로운 TCP 채널을 생성하며, 변경된 입력 방식에 따른 입력 데이터의 포맷에 대한 정보를 포함하는 리포트 디스크립터를 상기 생성된 채널을 통해 상기 송신 장치로부터 수신하는 과정임을 특징으로 하는 입력 방식을 변경하기 위한 방법.
  11. 제 10항에 있어서, 상기 변경된 입력 방식에 따른 리포트 디스크립터를 요청하는 리퀘스트는,
    입력 형식에 대한 정보를 포함한 입력 타입과, USB HID 서브클래스 정보를 포함함을 특징으로 하는 입력 방식을 변경하기 위한 방법.
  12. 제 5항에 있어서, 상기 변경된 입력 방식에 대한 정보를 상기 송신 장치로 전달하고, 변경된 입력 방식에 따른 입력 데이터의 포맷에 대한 정보를 포함하는 리포트 디스크립터를 상기 송신 장치로부터 수신하는 과정은,
    상기 변경된 입력 방식에 따른 리포트 디스크립터를 요청하는 리퀘스트를 상기 송신 장치로 전달하고, 상기 변경된 입력 방식에 따른 입력 데이터의 포맷에 대한 정보를 포함하는 리포트 디스크립터를 상기 컨트롤 채널을 통해 상기 송신 장치로부터 수신하는 과정임을 특징으로 하는 입력 방식을 변경하기 위한 방법.
  13. UPnP(Universal Plug and Play)를 이용한 입력 시스템에 있어서,
    사용자로부터의 입력을 수신하여 입력 데이터를 송신하는 송신 장치와,
    상기 송신 장치로부터 입력 데이터를 수신하여 상기 입력 데이터에 따른 동작을 수행하는 수신 장치와,
    입력을 수행할 입력 장치들로부터 입력 능력에 대한 정보를 요청하고, 상기 요청에 대한 응답으로 입력 능력에 대한 정보를 수신하며, 상기 수신한 입력 능력 정보를 이용하여 입력 신호를 수신하기 위한 수신 장치와 입력 신호를 송신하기 위한 송신 장치를 결정하여 세션 설정을 수행하는 제어 포인트(Control Point)를 포함하며,
    상기 수신 장치는 입력 방식이 변경된 경우, 상기 변경된 입력 방식에 대한 정보를 상기 송신 장치로 전달하고, 변경된 입력 방식에 따른 입력 데이터의 포맷에 대한 정보를 포함하는 리포트 디스크립터(report descriptor)를 상기 송신 장치로부터 수신하는 것을 특징으로 하는 입력 시스템.
  14. 제 13항에 있어서, 상기 수신 장치는,
    상기 수신 장치의 입력 능력 정보를 포함하며, 상기 제어 포인트로부터 설정값을 입력받아 상기 수신 장치가 입력을 전송하거나 수신할 수 있는 상태로 변경하도록 제어하는 UPnP InputConfig 서비스와,
    입력 장치 및 서비스의 UPnP 발견 동작을 수행하기 위한 UPnP DA(Discovery Agent)와,
    UPnP HID 어댑터로부터 입력 데이터를 수신하여 상기 수신한 입력 데이터를 어플리케이션으로 전달하는 USB HID(Human Interface Device) 클래스 드라이버(313)와,
    UPnP 프로토콜을 이용하여 설정된 컨트롤 채널(Control Channel) 또는 인터럽트 채널(Interrupt Channel)을 통해 수신한 블루투스 HID 입력 데이터를 상기 USB HID 클래스 드라이버가 사용할 수 있도록 변환하는 UPnP HID 어댑터(Adaptor)를 포함함을 특징으로 하는 입력 시스템.
  15. 제 13항에 있어서, 상기 입력 능력 정보는,
    상기 입력 데이터의 포맷에 대한 정보를 포함하는 리포트 디스크립터(report descriptor)를 포함하는 것을 특징으로 하는 입력 시스템
  16. 제 15항에 있어서, 상기 입력 능력 정보는,
    XML(eXtensible Markup Language) 엘리먼트(Element)로 정의된 상기 리포트 디스크립터의 내용을 포함하는 것을 특징으로 하는 입력 시스템.
  17. 제 15항에 있어서, 상기 입력 능력 정보는,
    인코딩된 상기 리포트 디스크립터를 포함하는 것을 특징으로 하는 입력 시스템.
  18. 제 13항에 있어서, 상기 제어 포인트가 상기 수신한 입력 능력 정보를 이용하여 입력 신호를 수신하기 위한 수신 장치와 입력 신호를 송신하기 위한 송신 장치를 결정하여 세션 설정을 수행하는 것은,
    상기 제어 포인트가 세션을 연결하기 위한 설정값들을 상기 송신 장치 및 수신 장치로 전달하는 것이며,
    상기 송신 장치 및 수신 장치는 상기 설정값들을 이용하여 세션을 생성하며, 데이터 전송 간의 제어를 위한 컨트롤 채널(Control Channel)과 비동기 데이터의 전송을 위한 인터럽트 채널(Interrupt Channel)을 생성하는 것을 특징으로 하는 입력 시스템.
  19. 제 18항에 있어서, 상기 컨트롤 채널 및 인터럽트 채널은 하나의 세션 아이디를 공유하는 것을 특징으로 하는 입력 시스템.
  20. 제 13항에 있어서, 상기 수신 장치가 상기 송신 장치로부터 입력 데이터를 수신하는 것은,
    상기 수신 장치가 블루투스(BlueTooth)에 정의된 리퀘스트(REQUEST)를 이용하여 상기 송신 장치로부터 입력 데이터를 수신하는 것임을 특징으로 하는 입력 시스템
  21. 제 13항에 있어서, 상기 송신 장치는,
    입력 방식이 변경된 경우, 상기 변경된 입력 방식에 대한 정보 및 변경된 입력 방식에 따른 입력 데이터의 포맷에 대한 정보를 포함하는 리포트 디스크립터를 상기 수신 장치로 전달하는 것을 특징으로 하는 입력 시스템.
  22. 제 21항에 있어서, 상기 수신 장치가 변경된 입력 방식에 대한 정보를 상기 송신 장치로 전달하고, 변경된 입력 방식에 따른 입력 데이터의 포맷에 대한 정보를 포함하는 리포트 디스크립터를 상기 송신 장치로부터 수신하는 것은,
    상기 변경된 입력 방식에 대한 정보를 상기 송신 장치로 전달하고, TCP 채널을 통해 새로운 세션을 생성하며, 변경된 입력 방식에 따른 입력 데이터의 포맷에 대한 정보를 포함하는 리포트 디스크립터를 상기 생성된 세션을 통해 상기 송신 장치로부터 수신하는 것임을 특징으로 하는 입력 시스템.
  23. 제 21항에 있어서, 상기 수신 장치가 변경된 입력 방식에 대한 정보를 상기 송신 장치로 전달하고, 변경된 입력 방식에 따른 입력 데이터의 포맷에 대한 정보를 포함하는 리포트 디스크립터를 상기 송신 장치로부터 수신하는 것은,
    상기 변경된 입력 방식에 따른 리포트 디스크립터를 요청하는 리퀘스트를 상기 송신 장치로 전달하고, 새로운 TCP 채널을 생성하며, 변경된 입력 방식에 따른 입력 데이터의 포맷에 대한 정보를 포함하는 리포트 디스크립터(report descriptor)를 상기 생성된 채널을 통해 상기 송신 장치로부터 수신하는 과정임을 특징으로 하는 입력 시스템.
  24. 제 23항에 있어서, 상기 변경된 입력 방식에 따른 리포트 디스크립터를 요청하는 리퀘스트는,
    입력 형식에 대한 정보를 포함한 입력 타입과, USB HID 서브클래스 정보를 포함함을 특징으로 하는 입력 시스템.
  25. 제 18항에 있어서, 상기 수신 장치가 변경된 입력 방식에 대한 정보를 상기 송신 장치로 전달하고, 변경된 입력 방식에 따른 입력 데이터의 포맷에 대한 정보를 포함하는 리포트 디스크립터를 상기 송신 장치로부터 수신하는 것은,
    상기 변경된 입력 방식에 따른 리포트 디스크립터를 요청하는 리퀘스트를 상기 송신 장치로 전달하고, 상기 변경된 입력 방식에 따른 입력 데이터의 포맷에 대한 정보를 포함하는 리포트 디스크립터를 상기 컨트롤 채널을 통해 상기 송신 장치로부터 수신하는 것임을 특징으로 하는 입력 시스템.
KR1020100025812A 2009-11-09 2010-03-23 UPnP를 이용한 입력 시스템에서 입력 방식을 변경하기 위한 방법 및 장치 KR101767262B1 (ko)

Priority Applications (6)

Application Number Priority Date Filing Date Title
PCT/KR2010/007843 WO2011056032A2 (en) 2009-11-09 2010-11-08 Method and apparatus for changing input type in input system using universal plug and play
JP2012537824A JP5448222B2 (ja) 2009-11-09 2010-11-08 UPnPを用いる入力システムにおける入力方式を変更するための方法及び装置
EP10828567.7A EP2499804B1 (en) 2009-11-09 2010-11-08 Method and apparatus for changing input type in input system using universal plug and play
CN201080050630.XA CN102598625B (zh) 2009-11-09 2010-11-08 利用通用即插即用在输入系统改变输入类型的方法和装置
US12/942,605 US9015383B2 (en) 2009-11-09 2010-11-09 Method and apparatus for changing input type in input system using universal plug and play
US14/673,075 US9667487B2 (en) 2009-11-09 2015-03-30 Method and apparatus for changing input type in input system using universal plug and play

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20090107316 2009-11-09
KR1020090107316 2009-11-09

Publications (2)

Publication Number Publication Date
KR20110051123A KR20110051123A (ko) 2011-05-17
KR101767262B1 true KR101767262B1 (ko) 2017-08-11

Family

ID=44361546

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100025812A KR101767262B1 (ko) 2009-11-09 2010-03-23 UPnP를 이용한 입력 시스템에서 입력 방식을 변경하기 위한 방법 및 장치

Country Status (6)

Country Link
US (2) US9015383B2 (ko)
EP (1) EP2499804B1 (ko)
JP (1) JP5448222B2 (ko)
KR (1) KR101767262B1 (ko)
CN (1) CN102598625B (ko)
WO (1) WO2011056032A2 (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9621473B2 (en) 2004-08-18 2017-04-11 Open Text Sa Ulc Method and system for sending data
GB2417391B (en) * 2004-08-18 2007-04-18 Wecomm Ltd Transmitting data over a network
US9037734B2 (en) * 2009-04-17 2015-05-19 Lg Electronics Inc. Method for performing transfer of collaborative session control in wireless communication system based on internet protocol multimedia subsystem
KR20120139574A (ko) * 2011-06-17 2012-12-27 삼성전자주식회사 UPnP 기반 디바이스 간 데이터 교환 장치 및 방법
US9106651B2 (en) * 2011-09-19 2015-08-11 Qualcomm Incorporated Sending human input device commands over internet protocol
US9386127B2 (en) 2011-09-28 2016-07-05 Open Text S.A. System and method for data transfer, including protocols for use in data transfer
US20140214940A1 (en) * 2013-01-31 2014-07-31 Sony Corporation Networked devices matching capabilities with tasks
KR101548228B1 (ko) * 2013-12-27 2015-08-28 주식회사 케이티 사용자 상태에 기반하여 사용자 인터페이스를 동기화하는 동기화 기기 및 동기화 방법
US9706015B2 (en) * 2014-10-29 2017-07-11 Logitech Europe S.A. Multi-operating system input device
US10397756B1 (en) * 2018-04-04 2019-08-27 Ford Global Technologies, Llc SMS Indication application response reporting
CN110688052B (zh) * 2019-09-26 2021-06-08 广州视源电子科技股份有限公司 人机交互设备枚举处理方法、装置及人机交互设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050128048A1 (en) 2003-03-14 2005-06-16 Openpeak Inc. Method, system, and computer program product for setup of multi-device control
WO2008066574A1 (en) 2006-11-29 2008-06-05 Sony Ericsson Mobile Communications Ab Methods, devices and computer program products for automatically installing device drivers from a peripheral device onto a host computer
US20090161579A1 (en) 2007-12-20 2009-06-25 Mika Saaranen Method, system, and apparatus for implementing network capable input devices

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6032147A (en) * 1996-04-24 2000-02-29 Linguateq, Inc. Method and apparatus for rationalizing different data formats in a data management system
US6538675B2 (en) * 1998-04-17 2003-03-25 Canon Kabushiki Kaisha Display control apparatus and display control system for switching control of two position indication marks
DE10108808A1 (de) * 2001-02-16 2002-09-05 Joerg Enderlein Fluoreszierende Mikroteilchen
US7603379B2 (en) * 2001-04-11 2009-10-13 Lg Electronics Inc. Unified management method of various types of messages of a personal information terminal
US7299304B2 (en) * 2001-11-20 2007-11-20 Intel Corporation Method and architecture to support interaction between a host computer and remote devices
WO2004002044A2 (en) * 2002-02-01 2003-12-31 John Fairweather A system for exchanging binary data
JP3747887B2 (ja) * 2002-06-14 2006-02-22 ブラザー工業株式会社 設定情報送受信システム、送信機器、及びプログラム
US20060155980A1 (en) * 2003-02-12 2006-07-13 Koninklijke Philips Electronics N.V. Method and system for reacting to a change of a upnp device
KR100493895B1 (ko) * 2003-04-17 2005-06-10 삼성전자주식회사 협업 서비스를 위한 홈 네트워크 시스템 및 방법
US7647385B2 (en) * 2003-12-19 2010-01-12 Microsoft Corporation Techniques for limiting network access
JP2005182481A (ja) * 2003-12-19 2005-07-07 Hitachi Ltd ネットワーク機器
JP4059214B2 (ja) * 2004-03-04 2008-03-12 ソニー株式会社 情報再生システムの制御方法、情報再生システム、情報提供装置、および情報提供プログラム
WO2005109907A2 (en) * 2004-04-30 2005-11-17 Vulcan Inc. Maintaining a graphical user interface state that is based on a selected time
US20050283814A1 (en) * 2004-06-16 2005-12-22 Universal Electronics Inc. System and method for enhanced data transfer within control environments
US7730223B1 (en) * 2004-07-30 2010-06-01 Apple Inc. Wireless home and office appliance management and integration
KR100678897B1 (ko) * 2004-11-23 2007-02-07 삼성전자주식회사 홈 네트워크 장치 간의 보안 연결을 위한 시스템 및 방법
US20090222593A1 (en) * 2005-06-27 2009-09-03 Shinya Murai Server device, method and program
EP1865687B1 (en) * 2006-06-06 2011-05-11 Koninklijke KPN N.V. Proxy-bridge for connecting different types of devices
KR100823273B1 (ko) * 2006-06-30 2008-04-21 삼성전자주식회사 UPnP 컨텐트 디렉토리 서비스를 동기화하는 방법 및장치
US8266658B2 (en) * 2006-12-15 2012-09-11 Panasonic Corporation Wireless communication device automatically connecting for HDMI devices
US7835289B2 (en) * 2007-02-07 2010-11-16 Valens Semiconductor Ltd. Methods for managing a multi data type communication link
JP4984967B2 (ja) * 2007-02-28 2012-07-25 富士通株式会社 情報処理制御装置、ネットワークを通して情報を配信する方法、およびそのためのプログラム
KR101446939B1 (ko) * 2007-03-30 2014-10-06 삼성전자주식회사 원격 제어 장치 및 그 제어 방법
KR101613319B1 (ko) 2008-08-14 2016-04-19 삼성전자주식회사 UPnP를 이용한 홈네트워크에서 입력을 제공하는 방법 및 시스템

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050128048A1 (en) 2003-03-14 2005-06-16 Openpeak Inc. Method, system, and computer program product for setup of multi-device control
WO2008066574A1 (en) 2006-11-29 2008-06-05 Sony Ericsson Mobile Communications Ab Methods, devices and computer program products for automatically installing device drivers from a peripheral device onto a host computer
US20090161579A1 (en) 2007-12-20 2009-06-25 Mika Saaranen Method, system, and apparatus for implementing network capable input devices

Also Published As

Publication number Publication date
WO2011056032A3 (en) 2011-10-20
JP5448222B2 (ja) 2014-03-19
EP2499804B1 (en) 2017-10-18
KR20110051123A (ko) 2011-05-17
EP2499804A2 (en) 2012-09-19
US20110113169A1 (en) 2011-05-12
CN102598625A (zh) 2012-07-18
JP2013510364A (ja) 2013-03-21
WO2011056032A2 (en) 2011-05-12
CN102598625B (zh) 2015-07-01
US20150207679A1 (en) 2015-07-23
US9015383B2 (en) 2015-04-21
US9667487B2 (en) 2017-05-30
EP2499804A4 (en) 2013-07-10

Similar Documents

Publication Publication Date Title
KR101767262B1 (ko) UPnP를 이용한 입력 시스템에서 입력 방식을 변경하기 위한 방법 및 장치
US8103813B2 (en) Method and system for hardware based implementation of USB 1.1 over a high speed link
CN102340540B (zh) 无线通讯设备、基于无线通讯设备的网页共享系统及方法
US8762544B2 (en) Selectively communicating data of a peripheral device to plural sending computers
US20090300239A1 (en) USB Connection
CN101634976A (zh) 一种为计算机提供蓝牙功能的方法及终端
WO2022252882A1 (zh) 浏览器网页防劫持的方法、装置、电子设备及存储介质
US20120268650A1 (en) System and method for a thin-client terminal system using a serial bus
KR20110071747A (ko) 파일 시스템의 usb 저장 장치화 및 원격 연결 방법, 및 그 시스템
US10176133B2 (en) Smart device with no AP
CN101917780B (zh) 无线通信终端网络设备功能的实现方法及装置
CN101997710A (zh) 远程管理系统
KR20100097690A (ko) 통신 장치, 통신 시스템, 통신 방법 및 프로그램
US11809365B2 (en) Data transmission method
JP5697269B2 (ja) ホームネットワークベースの多重入力装置及び方法
CN203243351U (zh) 具有近场通信功能的路由器和近场通信系统
TWI770497B (zh) 跨平台資料處理系統
CN219778214U (zh) 基于飞腾平台实现无线和蓝牙功能的装置和系统
KR101122560B1 (ko) 광 기록 매체로 인식되는 휴대용 장치 및 그 구동 방법, 이와 연결된 컴퓨팅 장치 및 그 인터넷 서비스 제공 방법
KR101804253B1 (ko) 원격 제어 서비스 제공 시스템 및 그 방법과 허브
Ranta et al. Human interface device (hid) profile
TWM432197U (en) Wireless transmission conversion device applied in between at least two man-machine interface device hosts and its system
KR20140129698A (ko) 디바이스 그룹별 데이터 변환테이블을 이용한 데이터 관리 시스템 및 그 방법
KR20140129709A (ko) Usb 인터페이스를 이용한 데이터 관리 시스템 및 그 방법
KR20140129700A (ko) 통신 기능을 갖는 주변장치를 이용한 데이터 관리 시스템 및 그 방법

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