KR101613319B1 - UPnP를 이용한 홈네트워크에서 입력을 제공하는 방법 및 시스템 - Google Patents

UPnP를 이용한 홈네트워크에서 입력을 제공하는 방법 및 시스템 Download PDF

Info

Publication number
KR101613319B1
KR101613319B1 KR1020090068442A KR20090068442A KR101613319B1 KR 101613319 B1 KR101613319 B1 KR 101613319B1 KR 1020090068442 A KR1020090068442 A KR 1020090068442A KR 20090068442 A KR20090068442 A KR 20090068442A KR 101613319 B1 KR101613319 B1 KR 101613319B1
Authority
KR
South Korea
Prior art keywords
input
information
receiving
transmitting
input mode
Prior art date
Application number
KR1020090068442A
Other languages
English (en)
Other versions
KR20100021358A (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 JP2011522907A priority Critical patent/JP5209790B2/ja
Priority to PCT/KR2009/004514 priority patent/WO2010019000A2/en
Priority to EP09806862.0A priority patent/EP2314059B1/en
Priority to CN200980139314.7A priority patent/CN102172009B/zh
Priority to US12/541,640 priority patent/US8429309B2/en
Publication of KR20100021358A publication Critical patent/KR20100021358A/ko
Application granted granted Critical
Publication of KR101613319B1 publication Critical patent/KR101613319B1/ko

Links

Images

Classifications

    • 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
    • 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
    • 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
    • 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/2847Home automation networks characterised by the type of home appliance used
    • H04L2012/2849Audio/video appliances

Landscapes

  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Small-Scale Networks (AREA)
  • Telephonic Communication Services (AREA)

Abstract

본 발명은 UPnP(Universal Plug and Play)를 이용한 홈 네트워크에서 입력을 제공하는 방법에 있어서, 제어 포인트(control point)가 상기 홈 네트워크에 존재하는 전자 장치에게 입력 능력에 대한 정보를 요청하고, 상기 요청에 대한 응답으로 상기 입력 능력에 대한 정보를 수신하는 과정과, 상기 제어 포인트가 상기 수신한 입력 능력에 대한 정보를 바탕으로 입력 클라이언트 및 입력 서버를 설정하는 과정과, 상기 설정된 입력 클라이언트를 통해 입력받은 입력 데이터를 상기 설정된 입력 서버로 전송하는 과정을 포함한다.
UPnP(Universal Plug and Play), 입력 장치, 제어 포인트(Control Point)

Description

UPnP를 이용한 홈네트워크에서 입력을 제공하는 방법 및 시스템{METHOD AND SYSTEM FOR INPUTTING SERVICE IN HOME NETWORK USING UNIVERSAL PLUG AND PLAY}
본 발명은 홈 네트워크에 관한 것으로서, 특히 홈 네트워크 미들웨어 프로토콜인 UPnP(Universal Plug and Play)를 이용한 홈네트워크에서 입력을 제공하는 방법 및 시스템에 관한 것이다.
일반적으로 홈 네트워크는 인터넷 프로토콜(IP, internet protocol) 기반의 사설 망(private network)으로 이루어지며, 가정 내에서 사용되는 모든 형태의 개인 컴퓨터(PC, personal computer)와 지능형 제품, 무선 장치 등의 다양한 기기들을 미들웨어(middleware)라 불리는 공통의 가상 컴퓨팅 환경을 통해 하나의 네트워크로 연결하여 통제한다.
미들웨어란 다양한 디지털 기기들을 피어-투-피어(peer-to-peer) 방식으로 연결하여 기기들 간의 통신이 가능하도록 하는 것으로, HAVI(Home AV Interoperability), UPnP(Universal Plug and Play control device), Jini(Java Intelligent Network Infra-structure), HWW(Home Wide Web) 등의 기술이 현재까지 제안되고 있다.
현재 운영 체제에 PnP(Plug and Play) 기능이 추가된 이후로 PC 주변 장치를 설치하고 설정하는 것이 훨씬 쉬워졌지만, UPnP는 이러한 편리한 기능을 TCP/IP(transmission control protocol/internet protocol), HTTP(hypertext transfer protocol) 및 XML(extensible markup language)과 같은 인터넷 표준 기술을 기반으로 전체 네트워크로까지 확장시켜 여러 가전 제품, 네트워크 프린터, 인터넷 게이트와 같은 네트워크 디바이스가 네트워킹 특히, 홈 네트워킹이 가능하도록 하는 기술이다.
UPnP 네트워크는 IP 기반의 홈 네트워크에 연결되어 제어를 받는 기기인 피제어 장치(CD: controlled device) 및 상기 피제어 장치를 제어하는 제어 포인트(CP: control point)로 구성된다. 또한 UPnP 네트워크는 TCP/IP, HTTP와 같은 인터넷 프로토콜들과 XML, SOAP(simple object access protocol)과 같은 기술을 포함하는 UPnP 프로토콜 스택 구조를 이용하며, 일반적으로 제어 포인트와 피제어 장치 간에 다음과 같은 단계를 통하여 통신을 수행한다.
먼저 제1단계는 주소 부여(addressing) 단계로, 제어 포인트와 피제어 장치는 각각 IP 주소를 가지게 된다. 피제어 장치는 네트워크에 참여하게 되면 자신의 IP 주소를 DHCP(Dynamic Host Configuration Protocol)를 이용하여 받아 오거나 네트워크에 DHCP 서버가 없는 경우, 자동 IP 기능을 이용하여 IP 주소를 가지게 된다.
다음 제2단계는 디스커버리(discovery) 단계로서, 제어 포인트는 피제어 장 치를 찾거나 피제어 장치가 자신의 위치를 광고하게 된다. 디스커버리 단계는 SSDP(Simple Service Discovery Protocol)를 사용하여 이루어진다. 만일 피제어 장치가 네트워크에 추가되었을 경우 피제어 장치는 SSDP의 출현(alive) 메시지를 네트워크에 IP 멀티캐스트 기능을 이용하여 전달하며, 제어 포인트는 출현 메시지를 받아서 피제어 장치의 존재 여부를 알 수 있게 된다. 또한 제어 포인트가 네트워크에 새로 참여하게 되는 경우, 제어 포인트는 SSDP의 M-검색(M-search, Multicast-search) 메시지를 네트워크에 멀티캐스트하며 M-검색 메시지를 확인한 피제어 장치들은 모두 자신의 정보를 담은 M-검색 응답(M-search response) 메시지를 제어 포인트에 보내게 된다.
제3단계는 디스크립션(description) 단계로서, 제어 포인트는 피제어 장치의 디스크립션 내용을 확인한다. 제어 포인트는 응답 메시지를 확인하고 원하는 경우 피제어 장치에 관련된 상세한 정보를 피제어 장치에 요청할 수 있으며, 요청받은 피제어 장치는 자신의 정보를 XML(Extensible Markup Language) 형태의 문서로 보낸다.
제4단계는 제어(control) 단계로서, 제어 포인트는 피제어 장치의 기능을 제어하여 피제어 장치를 동작시킨다. 제어 포인트가 임의의 피제어 장치를 제어하고자 하는 경우 피제어 장치와 관련된 상세한 정보를 바탕으로 원하는 서비스를 SOAP(Simple Object Access Protocol)를 이용하여 피제어 장치에 보낸다. SOAP는 원격지 함수 호출을 목적으로 HTTP(Hyper Text Transfer Protocol) 상에서 XML을 기반으로 작성된 프로토콜이다.
제5단계는 이벤팅(eventing) 단계로서, 제어 포인트는 피제어 장치의 이벤트 변화를 수신한다. 피제어 장치의 이벤트 메시지를 수신하기 원하는 경우 제어 포인트는 피제어 장치로 해당 이벤트에 대한 가입 요청을 보낸다. 가입이 성공하면 피제어 장치는 GENA(General Event Notification Architecture)를 사용하여 제어 포인트로 이벤트 메시지를 전송한다.
제6단계는 표시(presentation) 단계로서, 제어 포인트는 피제어 장치의 HTML(Hyper Text Markup Language)을 활용하여 장치의 상태를 표시한다.
도 1은 일반적인 UPnP(Universal Plug and Play)를 이용한 네트워크 시스템에서 장치 디스커버리(discovery) 및 액션(action) 수행 동작을 나타내는 흐름도이다. 도 1을 참조하면, 먼저 110단계에서 디스커버리 단계를 수행하여 제어 포인트(101)는 피제어 장치(102)를 찾거나, 피제어 장치(102)가 자신의 위치를 광고한다. 다음 120단계에서 제어 포인트(101)는 피제어 장치(102)에게 액션 요청(action request)을 보낸다. 다음 130단계에서 피제어 장치(102)는 수신한 액션 요청에 대응되는 액션을 수행하고, 140단계에서 액션 수행 결과(result)를 제어 포인트(101)로 응답한다. 구체적으로, 피제어 장치(102)는 요청된 액션을 수행하고, 해당 액션의 정상 처리 결과 또는 에러 메시지를 제어 포인트(101)로 전송한다.
이러한 UPnP 기본 제어 방법(UPnP 디바이스 아키텍처)을 바탕으로 UPnP 피제어 장치는 제어 포인트에게 다양한 서비스(기능)를 제공할 수 있다. 예를 들어, 상기 UPnP 기본 제어 방법을 바탕으로 UPnP 제어 포인트는 A/V 컨텐츠가 저장된 UPnP 피제어 장치를 제어하여 렌더링 서비스를 제공하는 또 다른 UPnP 피제어 장치에서 A/V 컨텐츠가 재생되도록 제어할 수 있다. 또한 UPnP 피제어 장치가 게이트웨이인 경우 UPnP 제어 포인트는 UPnP 게이트웨이 피제어 장치를 제어하여 홈 내 디바이스에 할당될 IP 주소 대역과 서브넷, 게이트웨이 주소 등을 변경 및 설정할 수 있다.
한편, 일반적인 전자 장치에서 입력을 수행하기 위해서는 해당 장치에 물리적으로 장착된 입력 수단이나 입력을 위한 주변 기기를 통해 입력을 수행한다. 따라서 해당 장치나 주변 기기의 종류, 하드웨어적 특성, 성능에 의해 입력 방법이 제한된다. 예를 들어 핸드폰의 경우에는 보통 키패드 혹은 터치 스크린이 입력 수단이 되며, TV의 경우에는 리모콘 등의 입력 수단이 일반적으로 사용된다. 최근에는 TV를 이용하여 인터넷이나 홈쇼핑과 같은 양방향 서비스가 제공되고 있다. 따라서 TV로 인터넷을 이용하는 경우, 사용자는 TV를 통해 인터넷을 이용하기 위해 리모콘이라는 제한된 입력 수단을 이용하여야 하는 불편이 발생한다.
따라서 장치가 기본적으로 제공하는 입력 수단 외에 입력 동작을 수행하기에 더 적절한 입력 수단을 제공할 수 있는 방안이 필요하다.
본 발명은 UPnP 네트워크를 이용하여 특정 장치가 기본적으로 제공하는 입력 모드 외에 현재 입력 동작을 수행하기에 더 적절한 다른 입력 모드를 제공할 수 있는 방법 및 시스템을 제공하고자 한다. 또한, 입력 모드를 제공하는 장치와 입력 모드를 제공 받는 장치 간의 입력 데이터 전달 방법과 입력 모드를 제공받는 장치가 특정 입력 동작을 수행시 현재 입력 방식에 적절한 다른 입력 모드를 자동으로 결정하여 입력을 수행하게 할 수 있는 방법 및 시스템을 제공하고자 한다.
본 발명의 일 형태에 따르면, UPnP(Universal Plug and Play)를 이용한 홈 네트워크에서 입력을 제공하는 방법에 있어서, 제어 포인트(control point)가 상기 홈 네트워크에 존재하는 전자 장치에게 입력 능력에 대한 정보를 요청하고, 상기 요청에 대한 응답으로 상기 입력 능력에 대한 정보를 수신하는 과정과, 상기 제어 포인트가 상기 수신한 입력 능력에 대한 정보를 바탕으로 입력 클라이언트 및 입력 서버를 설정하는 과정과, 상기 설정된 입력 클라이언트를 통해 입력 받은 입력 데이터를 상기 설정된 입력 서버로 전송하는 과정을 포함함을 특징으로 한다.
본 발명의 다른 형태에 따르면, UPnP(Universal Plug and Play)를 이용하여 입력을 제공하는 시스템에 있어서, 상기 홈 네트워크에 존재하는 전자 장치에게 입력 능력에 대한 정보를 요청하고, 상기 요청에 대한 응답으로 상기 입력 능력에 대한 정보를 수신하며, 상기 수신한 입력 능력에 대한 정보를 바탕으로 입력 클라이 언트 및 입력 서버를 설정하는 제어 포인트와, 입력 데이터를 입력 서버로 전송하는 입력 클라이언트와, 상기 입력 클라이언트로부터 상기 입력 데이터를 수신하여 처리하는 입력 서버를 포함함을 특징으로 한다.
본 발명은 UPnP 네트워크를 이용하여 특정 장치가 기본적으로 제공하는 입력 모드가 없거나 제한적인 경우, 기본적인 입력수단 외에 현재 입력 동작을 수행하기에 더 적절한 다른 장치의 입력 모드를 이용하도록 할 수 있는 효과가 있다.
또한, 입력 모드를 제공받는 장치가 특정 입력 동작을 수행 시 현재 입력 방식에 적절한 다른 입력 모드를 자동으로 결정하여 입력을 수행하게 할 수 있다.
본 발명은 입력을 위해 물리적으로 연결된 다양한 주변 입력 장치를 구비할 필요가 없이 네트워크에 존재하는 다양한 주변 입력 장치를 이용하여 입력을 수행할 수 있으며, 사용자는 사용하고자 하는 입력 장치를 입력을 요청한 장치에 물리적으로 연결할 필요 없이 네트워크를 통해 자동으로 발견한 입력 요청 장치들 중에 하나를 선택하여 입력 데이터를 전달할 수 있는 효과가 있다.
또한, 본 발명은 실제 입력을 수행하는 입력 클라이언트에서 입력 데이터를 수신할 입력 서버를 발견하여 입력 서비스를 제공할 수 있으며, 입력 모드의 종류 및 입력 데이터는 USB HID(human interface device) 클래스 및 리포트 디스크립터(report descriptor)를 사용하여 확장성을 향상할 수 있는 효과가 있다.
또한, 본 발명은 입력 동작을 수행하는 어플리케이션의 입력 UI 상태의 변화에 따라 동적으로 적합한 입력 장치를 활성화 할 수 있어 사용자의 편의성을 향상 시킬 수 있는 효과가 있다.
이하 첨부된 도면을 참조하여 본 발명을 구성하는 장치 및 동작 방법을 본 발명의 실시 예를 참조하여 상세히 설명한다. 하기 설명에서는 구체적인 구성 소자 등과 같은 특정 사항들이 나타나고 있는데 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐 이러한 특정 사항들이 본 발명의 범위 내에서 소정의 변형이나 혹은 변경이 이루어질 수 있음은 이 기술분야에서 통상의 지식을 가진 자에게는 자명하다 할 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다.
본 발명은 UPnP(Universal Plug and Play) 네트워크를 이용하여 특정 장치에서 입력 동작이 발생시, 기본적으로 사용 가능한 입력 수단 외에, 현재 입력 동작을 위해 사용할 수 있는 다른 장치의 입력 수단을 이용하기 위한 방법 및 시스템을 제안한다. 이를 위해 본 발명은 UPnP 네트워크에서 입력을 제공하기 위한 일련의 액션 호출 동작 및 피제어 장치 제어 방법과, 피제어 장치 및 제어 포인트를 개시한다.
이에 따라 본 발명은 UPnP 네트워크 상에서 입력을 요청하는 장치, 즉, 입력 데이터 수신 장치(이하 '입력 서버'라고 기재함)와 입력 장치, 즉, 입력 데이터 송신 장치(이하 '입력 클라이언트'라고 기재함) 간의 입력 데이터 전송 동작을 개시한다. 이하 도면을 참조하여 상세히 살펴보기로 한다.
도 2는 본 발명의 일 실시 예에 따른 UPnP를 이용한 입력 시스템의 블록 구 성도이다.
도 2를 참조하면, 본 발명의 일 실시 예에 따른 UPnP를 이용한 입력 시스템은 사용자가 실제로 입력을 수행할 입력 클라이언트(104)와, 입력 클라이언트(104)로부터 입력 데이터를 수신하여 처리하는 입력 서버(103)와, 입력 클라이언트(104)와 입력 서버를 제어하는 제어 포인트(101)를 포함한다.
도 3은 본 발명의 일 실시 예에 따른 UPnP를 이용한 입력 시스템의 각 장치의 예를 도시한 예시도이다.
도 3을 참조하면, 사용자가 실제로 입력을 수행하는 입력 클라이언트는 이동 단말(304)로 구현되며, 상기 입력 클라이언트로부터 입력 데이터를 수신하는 입력 서버는 인터넷 TV(303)로 구현된 것을 도시한다. 이동 단말(304)은 제어 포인트(301)를 통해 인터넷 TV(303)와 UPnP 네트워크를 통해 연결된다. 도 3의 제어 포인트(301)는 물리적인 장치로 구현될 수 있으나, 어플리케이션과 같이 논리적인 구성이 될 수 있다. 따라서 제어 포인트(301)는 어플리케이션 형태로 인터넷 TV(103)나 이동 단말(304)에 구현될 수 있다.
이동 단말(304) 혹은 인터넷 TV(303)는 상기와 같은 시스템에서 UPnP 네트워크를 이용하여 상대방 장치를 디스커버리할 수 있다. 사용자는 인터넷 TV(303)를 사용중에 입력이 필요한 경우 이동 단말(304)의 입력 모드 예를 들면, 키 패드, 터치 패드, 가상 키보드, 터치 스크린 등을 이용하여 입력을 수행하고, 인터넷 TV(303)에 입력 데이터를 전송할 수 있다. 이에 따라 본 발명은 인터넷 TV(303)와 같은 제한된 입력 모드(예를 들면, 리모컨)로 인한 입력 동작의 불편함을 줄일 수 있다.
도 4는 본 발명의 일 실시 예에 따른 UPnP를 이용한 입력 동작의 흐름도이다. 도 4를 참조하여 본 발명의 일 실시 예에 따른 UPnP를 이용한 입력 동작 시 입력 서버(103), 제어 포인트(101), 입력 클라이언트(104) 간의 메시지 송수신 동작을 상세히 살펴보기로 한다.
먼저 410단계에서 제어 포인트(101)는 UPnP 네트워크의 디스커버리(Discovery) 동작을 통해 네트워크에 존재하는 UPnP 장치를 발견한다. 420단계에서 제어 포인트(101)는 상기 410단계에서 발견된 UPnP 장치의 지원 가능 입력 모드에 대한 정보를 요청하기 위해 입력 능력 요청('GetInputDeviceCapabilities()')을 상기 발견된 UPnP 장치들에 전송한다.
다음 430단계에서 상기 입력 능력에 대한 요청을 수신한 UPnP 장치는 입력 능력 응답을 제어 포인트(101)로 전송한다. 이 경우 UPnP 장치가 전송하는 입력 능력 응답은 하기 표 1과 같은 정보를 포함할 수 있다. 표 1에 도시된 바와 같이 입력 능력 요청에 대한 응답 정보에는 해당 장치가 입력 서버(server)로 동작 가능한지, 입력 클라이언트(client)로 동작 가능한지 여부를 나타내는 사용 가능 역할과 사용 가능 입력 모드(mouse, keboard, touch pad 등)에 대한 정보가 포함된다. 상기 사용 가능 입력 모드는 바람직하게는 USB HID(human interface device) 클래스가 사용될 수 있다.
Figure 112009045875866-pat00001
제어 포인트(101)는 상기 표 1에 개시된 바와 같은 피드백 정보를 통해 해당 장치가 제공 가능한 입력 모드에 대한 정보를 획득할 수 있다.
다음 440단계에서 제어 포인트(101)는 상기 430단계에서 수신한 입력 모드에 대한 정보를 이용하여 입력 서버 및 입력 클라이언트를 결정한다. 한편, 입력 데이터 전달 시 데이터를 인코딩하여 전달하는 방식을 사용하는 경우에는 상기 440단계에서 입력 데이터의 인코딩 방식도 결정할 수 있다.
다음 450단계에서는 상기 440단계에서 결정된 입력 서버(103)를 설정하기 위한 입력 역할 설정 정보('SetInputDeviceRole(profile)')를 입력 서버로 동작할 UPnP 장치로 전달한다. 상기 입력 역할 설정 정보는 입력 데이터의 데이터 포맷, 입력 데이터를 전송할 프로토콜 정보 등의 설정 파라미터가 포함될 수 있다.
다음 455단계에서 상기 입력 역할 설정 정보를 수신한 입력 서버(103)는 그 응답으로 입력 데이터를 전송할 세션의 식별 아이디(session ID), 입력 데이터를 수신할 네트워크 포트 정보 등을 제어 포인트(101)로 전달한다.
제어 포인트(101)는 입력 서버(103) 장치로부터 세션 아이디, 입력 데이터를 수신할 입력 서버(103)의 네트워크 포트 정보 등을 수신하고, 460단계에서 상기 세션 아이디, 입력 데이터를 수신할 입력 서버(103)의 네트워크 포트 정보, 데이터 포맷 정보, 입력 데이터를 전송할 프로토콜 정보를 포함한 입력 역할 설정 정보('SetInputDeviceRole()')를 입력 클라이언트(104)에 전달한다. 이를 통해 입력 클라이언트(104)는 입력 데이터를 전송할 입력 서버(103)의 정보(데이터 포맷, 전송 프로토콜 정보, 네트워크 포트 정보 등)를 얻을 수 있으며, 입력 서버(103)가 관리하는 세션 아이디와 동일한 세션 아이디를 관리할 수 있다.
다음 465단계에서는 제어 포인트(101)는 입력 클라이언트(104)가 어떤 입력 모드를 사용할지 결정하기 위해 입력 서버(103)에게 입력 모드 요청('RequestCurrentInputUsage()')을 전달한다. 470단계에서는 입력 서버(103)가 상기 입력 모드 요청에 대한 응답으로 자신의 입력 모드 정보를 제어 포인트(101)에게 전달한다.
제어 포인트(101)는 이러한 입력 모드 정보를 이용하여 475단계에서 입력 클라이언트(104)에게 입력 모드 활성화('ActivateInputUsage(ProfileID, CurrentUsage, Port)')를 요청한다. 입력 모드 활성화 메시지에는 프로파일 아이디 정보와, 현재 입력 모드 정보와, 입력 데이터를 전송할 포트 정보가 포함될 수 있다.
다음 480단계에서 입력 클라이언트(104)는 입력 서버(103)에게 Out-of-band 프로토콜을 이용하여 입력 데이터를 전달한다. 이 경우 입력 서버(103)에서도 입력 클라이언트(104)로 데이터를 전달할 수 있다(미도시). 또한 상기 480단계는 제어 포인트(101)의 전송 시작 메시지에 의해 수행되도록 설정할 수 있다. 상기 Out-of-band 프로토콜은 UPnP 프로토콜이 아닌 다른 통신 프로토콜을 지칭한다. 또한 상기 480단계에서 입력 데이터는 UPnP 제어(Control) 방식을 이용하여 전달될 수도 있다. 또한, 상기 480단계에서 입력 데이터 전달은 USB HID 리포트 디스크립터(report descriptor)를 이용하여 수행될 수 있다.
입력 데이터 전송 중, 485단계에서 입력 서버(103)에서 실행중인 어플리케이션의 UI 변경 등의 이유로 입력 모드가 변경된 경우에는, 490단계에서 제어 포인트(101)에게 입력 모드 변경 이벤트 메시지(GENA Event 메시지)를 UPnP 이벤팅(Eventing) 메커니즘을 이용하여 전송한다.
이후 제어 포인트(101)는 상기 465~480단계를 다시 수행하여 변경된 입력 모드를 이용하여 입력 데이터 송수신을 수행한다. 상세히 설명하면, 제어 포인트(101)는 입력 모드 변경 이벤트 메시지를 수신하면 465~470단계를 다시 수행하여 입력 서버(103)로부터 변경된 입력 모드 정보를 획득한다. 획득한 입력 모드 정보는 이전에 사용하던 입력 모드가 존재하는 경우 세션 아이디를 포함한다. 다음 475단계를 다시 수행하는데 변경된 입력 모드에 따라 새로운 입력 모드를 활성화 하기 위한 입력 모드 활성화 메시지는 상기 획득한 세션 아이디를 포함할 수 있으며, 이 경우 세션에서 사용하는 입력 클라이언트(104)의 입력 모드를 활성화하며. 세션 아이디가 유효하지 않은 경우에는 새로운 세션을 생성한다. 즉 460단계를 다시 수행하여 입력 클라이언트의 입력 역할 설정을 수행하고 465~480단계를 다시 수행한다.
만약 상기 485단계의 입력 모드 변경이 입력 서버(103)가 아닌 입력 클라이언트(104)에서 발생한 경우에는 입력 클라이언트(104)에서 입력 모드 변경 이벤트 메시지를 제어 포인트(101)로 전달하고, 제어 포인트(101)가 입력 클라이언트(104)의 입력 모드 정보를 수신하고 입력 클라이언트(104)의 변경된 입력 모드에 따라 입력 서버(103)의 입력 모드를 활성화한다(미도시).
입력 동작이 모두 완료되면 제어 포인트(101)는 입력 클라이언트(104)에게 입력 데이터 중지 요청('StopInputData()')을 전송하여 입력 동작을 종료한다(미도시).
상기 도 4는 제어 포인트(101)가 네트워크에서 발견된 UPnP 장치의 입력 능력을 받아 입력 서버(103) 및 입력 클라이언트(104)를 각각 설정하고 입력 동작을 수행하는 동작을 설명한다. 그러나 미리 특정 UPnP 장치가 입력 서버(103)의 역할을 수행하도록 설정된 상태에서는 제어 포인트(101)가 입력 클라이언트(104)의 역할을 수행할 UPnP 장치를 설정하여 입력 동작을 수행할 수 있으며, 반대로 미리 특정 UPnP 장치가 입력 클라이언트(104)의 역할을 수행하도록 설정된 상태에서 제어 포인트(101)가 입력 서버(103)의 역할을 수행할 UPnP 장치를 설정하여 입력 동작을 수행할 수 있다.
한편, 상기 도 4에서 제어 포인트(101)는 입력 서버(103) 및 입력 클라이언트(104)와 독립된 구성으로 설명하였으나, 입력 서버(103)나 입력 클라이언트(104)는 동시에 제어 포인트로도 동작할 수 있다. 도 5 및 도 6은 그러한 경우에 대한 UPnP를 이용한 입력 동작의 실시 예를 도시한 도면이다.
도 5는 본 발명의 다른 실시 예에 따른 UPnP를 이용한 입력 동작의 흐름도이다. 도 5는 입력 클라이언트가 제어 포인트의 역할을 수행하는 경우 입력 동작에 대한 실시 예를 나타내는 도면이다.
도 5에 도시된 바와 같이 본 발명의 다른 실시 예의 경우, 입력 클라이언트가 제어 포인트의 역할을 수행하기 때문에 UPnP 네트워크 상에서 입력을 요청하는 장치, 즉 입력 데이터를 전송할 입력 서버(103)를 찾아 입력 데이터를 전송한다.
도 5를 참조하면, 먼저 510단계에서 입력 클라이언트/제어 포인트(105)는 UPnP 네트워크의 디스커버리 동작을 통해 네트워크에 존재하는 UPnP 장치를 발견한다. 다음 520단계에서 입력 클라이언트/제어 포인트(105)는 입력 서버(103)를 선택하기 위해 상기 510단계에서 발견된 UPnP 장치가 지원 가능한 입력 모드에 대한 정보를 요청하기 위한 입력 능력 요청('GetInputDeviceCapabilities()')을 상기 발견된 UPnP 장치에 전송한다.
다음 530단계에서 상기 입력 능력에 대한 정보 요청을 수신한 UPnP 장치는 입력 능력 응답을 입력 클라이언트/제어 포인트(105)로 전송한다. 이 경우 UPnP 장치가 전송하는 입력 능력 요청에 대한 상기 표 1과 같은 정보를 포함할 수 있다. 표 1과 같이 입력 능력 요청에 대한 응답 정보에는 해당 장치가 서버(server)로 동작 가능한지, 클라이언트(client)로 동작 가능한지 나타내는 사용 가능 역할과 사용 가능 입력 모드(mouse, keboard, touch pad 등)에 대한 정보가 포함된다. 또한 바람직하게는 사용 가능 입력 모드는 USB HID(human interface device) 클래스가 사용될 수 있다.
입력 클라이언트/제어 포인트(105)는 상기 표 1에 개시된 바와 같은 피드백 정보를 통해 해당 장치가 제공 가능한 입력 모드에 대한 정보를 획득할 수 있다.
다음 540단계에서 입력 클라이언트/제어 포인트(101)는 상기 530단계에서 수신한 입력 모드에 대한 정보를 이용하여 입력 서버를 결정한다. 한편, 입력 데이터 전달 시 데이터를 인코딩하여 전달하는 방식을 사용하는 경우에는 상기 540단계에서 입력 데이터의 인코딩 방식도 결정할 수 있다.
다음 550단계에서는 상기 540단계에서 결정된 입력 서버(103)를 설정하기 위한 입력 역할 설정 정보('SetInputDeviceRole()')를 입력 서버로 동작할 UPnP 장치에게 전달한다. 상기 입력 역할 설정 정보는 입력 데이터의 데이터 포맷, 입력 데이터를 전송할 프로토콜 정보 등의 설정 파라미터가 포함될 수 있다. 다음 555단계에서 상기 입력 역할 설정 정보를 수신한 입력 서버(103)는 그 응답으로 입력 데이터를 전송할 세션의 식별 아이디(session ID), 입력 데이터를 수신할 네트워크 포트 정보 등을 입력 클라이언트/제어 포인트(105)로 전달한다.
다음 560단계에서 입력 클라이언트/제어 포인트(105)는 어떤 입력 모드를 사용할지 결정하기 위해 입력 서버(103)에게 입력 모드 요청('RequestCurrentInputUsage()')을 전송한다. 다음 570단계에서 입력 클라이언트/제어 포인트(105)는 상기 입력 모드 요청에 대한 응답으로 입력 서버(103)의 입력 모드 정보를 수신한다.
다음 575단계에서는 입력 클라이언트/제어 포인트(105)가 상기 입력 모드 정보 및 현재 실행중인 어플리케이션등을 고려하여 입력 서버의 입력 모드에 대응하는 입력 클라이언트/제어 포인트(105)의 입력 모드를 활성화한다. 상기 575단계에서 입력 모드 활성화는 내부 동작으로써 'ActivateInputUsage()'를 이용하여 수행된다.
다음 580단계에서 입력 클라이언트/제어 포인트(105)는 입력 서버(103)에게 Out-of-band 프로토콜을 이용하여 입력 데이터를 전달한다. 이 경우 입력 서버(103)에서도 입력 클라이언트/제어 포인트(105)로 데이터를 전달할 수 있다(미도시). 상기 Out-of-band 프로토콜은 UPnP 프로토콜이 아닌 다른 통신 프로토콜을 지칭한다. 또한 상기 580단계에서 입력 데이터는 UPnP 제어(Control) 방식을 이용하여 전달될 수도 있다. 또한, 상기 580단계에서 입력 데이터 전달은 USB HID 리포트 디스크립터(report descriptor)를 이용하여 수행될 수 있다.
입력 데이터 전송 중, 585단계에서 입력 서버(103)에서 실행중인 어플리케이션의 UI 변경 등의 이유로 입력 모드가 변경된 경우에는, 590단계에서 입력 서버(103)가 입력 클라이언트/제어 포인트(105)에게 입력 모드 변경 이벤트 메시지(GENA Event 메시지)를 UPnP 이벤팅(Eventing) 메커니즘을 이용하여 전송한다.
입력 클라이언트/제어 포인트(105)가 입력 모드 변경 이벤트 메시지를 수신하면 상기 560~580단계를 다시 수행한다. 즉 입력 서버(103)에게 입력 모드를 요청하여 변경된 입력 모드 정보를 얻고, 변경된 입력 모드로 입력 모드 활성화를 수행하여 입력 데이터 전송을 수행한다.
만약 상기 585단계의 입력 모드 변경이 입력 클라이언트/제어 포인트(105)에서 발생한 경우에는 입력 클라이언트/제어 포인트(105)에서 입력 클라이언트/제어 포인트(105)의 변경된 입력 모드에 따라 입력 서버(103)의 입력 모드를 활성화한다(미도시).
본 발명의 다른 실시 예에서는 입력 클라이언트가 제어 포인트의 역할을 수행하기 때문에 제어 포인트가 입력 클라이언트에게 입력 데이터 중지 요청을 전송할 필요가 없으며 내부적으로 제어될 수 있다.
도 6은 본 발명의 또 다른 실시 예에 따른 UPnP를 이용한 입력 동작의 흐름도이다. 도 6은 입력 서버가 제어 포인트의 역할을 수행하는 경우 입력 동작에 대한 실시 예를 나타내는 도면이다.
도 6에 도시된 바와 같이 본 발명의 또 다른 실시 예의 경우, 입력 서버/제어 포인트(106)가 UPnP 네트워크 상에 존재하는 가용한 장치 중 필요로 하는 입력 장치, 즉 입력 클라이언트(104)를 찾아 입력 데이터를 수신한다.
먼저 610단계에서 입력 서버/제어 포인트(106)는 UPnP 네트워크의 디스커버리(Discovery) 동작을 통해 네트워크에 존재하는 UPnP 장치를 발견한다. 다음 620단계에서 입력 서버/제어 포인트(106)는 입력 클라이언트를 선택하기 위해 상기 610단계에서 발견된 UPnP 장치가 지원 가능한 입력 모드에 대한 정보를 요청하기 위한 입력 능력 요청('GetInputDeviceCapabilities()')을 상기 발견된 UPnP 장치에 전송한다.
다음 630단계에서 상기 입력 능력에 대한 정보 요청을 수신한 UPnP 장치는 입력 능력 응답을 입력 서버/제어 포인트(106)로 전송한다. 이 경우 UPnP 장치가 전송하는 입력 능력 요청에 대한 응답은 상기 표 1과 같은 정보를 포함할 수 있다. 표 1과 같이 입력 능력 요청에 대한 응답 정보에는 해당 장치가 서버(server)로 동작 가능한지, 클라이언트(client)로 동작 가능한지 나타내는 사용 가능 역할과 사용 가능 입력 모드(mouse, keboard, touch pad 등)에 대한 정보가 포함된다. 또한 바람직하게는 사용 가능 입력 모드는 USB HID(human interface device) 클래스를 사용될 수 있다.
입력 서버/제어 포인트(106)는 상기 표 1에 개시된 바와 같은 피드백 정보를 통해 UPnP 장치가 제공 가능한 입력 모드에 대한 정보를 획득할 수 있다.
다음 640단계에서 입력 서버/제어 포인트(106)는 상기 630단계에서 수신한 입력 모드에 대한 정보를 이용하여 입력 클라이언트를 결정한다. 한편, 입력 데이터 전달 시 데이터를 인코딩하여 전달하는 방식을 사용하는 경우에는 상기 640단계에서 입력 데이터의 인코딩 방식도 결정할 수 있다.
다음 650단계에서는 상기 입력 클라이언트를 설정하기 위한 입력 역할 설정 정보('SetInputDeviceRole()')를 입력 클라이언트로 동작할 UPnP 장치에게 전달하여, 입력 클라이언트(104)로 설정한다. 상기 입력 역할 설정 정보는 세션 아이디, 입력 데이터를 수신할 입력 서버(103)의 네트워크 포트 정보, 데이터 포맷 정보, 입력 데이터를 전송할 프로토콜 정보를 포함할 수 있다.
다음 660단계에서는 입력 서버/제어 포인트(106)가 현재 실행중인 어플리케이션등을 고려하여 현재 입력동작을 수행하기 위해 필요한 입력 모드를 결정하고, 입력 클라이언트(104)에게 입력 모드 활성화('ActivateInputUsage(ProfileID, CurrentUsage, Port)')를 전송한다. 입력 모드 활성화 메시지에는 프로파일 아이디 정보와, 현재 입력 모드 정보와, 입력 데이터를 전송할 포트 정보가 포함될 수 있다.
다음 670단계에서 입력 클라이언트(104)는 입력 서버(103)에게 Out-of-band 프로토콜을 이용하여 입력 데이터를 전달한다. 이 경우 입력 서버/제어 포인트(106)에서도 입력 클라이언트(104)로 데이터를 전달할 수 있다(미도시). 상기 Out-of-band 프로토콜은 UPnP 프로토콜이 아닌 다른 통신 프로토콜을 지칭한다. 또한 상기 670단계에서 입력 데이터는 UPnP 제어(Control) 방식을 이용하여 전달될 수도 있다. 또한, 상기 670단계에서 입력 데이터 전달은 USB HID 리포트 디스크립터(report descriptor)를 이용하여 수행될 수 있다.
만약 입력 데이터 전송 중, 675단계에서 입력 서버/제어 포인트(106)에서 실행중인 어플리케이션의 UI 변경 등의 이유로 입력 모드가 변경된 경우에는, 680단계에서 입력 서버/제어 포인트(106)에서 변경된 입력 모드에 따라 입력 클라이언트(104)의 입력 모드를 활성화한다. 다음 변경된 입력 모드를 이용한 입력 데이터를 전송한다.
반대로 상기 675단계의 입력 데이터 전송 동작 중 입력 모드 변경이 입력 클라이언트(104)에서 발생한 경우에는 입력 클라이언트(104)에서 입력 서버/제어 포인트(106)에게 입력 모드 변경 이벤트 메시지(GENA Event 메시지)를 UPnP 이벤팅(Eventing) 메커니즘을 이용하여 전송하며, 입력 서버/제어 포인트(106)는 입력 클라이언트(104)로부터 변경된 입력 모드 정보를 획득하고, 입력 클라이언트(104)의 변경된 입력 모드에 따라 자신의 입력 모드를 활성화하며, 입력 데이터를 전송한다.
한편, 상기 도 6에서 설명한 동작을 통해 본 발명은 실제 입력을 수행하는 입력 클라이언트에서 입력 데이터를 수신할 입력 서버를 발견하여 입력 서비스를 제공할 수 있다. 또한 각 UPnP 장치의 입력 모드의 종류 및 입력 데이터 전송에는 기존의 USB HID(human interface device) 클래스 및 USB HID 리포트 디스크립터(report descriptor)를 재사용하여 확장성을 향상시킬 수 있다.
도 7은 본 발명의 또 다른 실시 예에 따른 UPnP 입력 시스템에서 제어 포인트로 동작하는 입력 서버의 블록 구성도이다. 본 발명의 또 다른 실시 예에 따른 입력 서버/제어 포인트(106)는 디스플레이부(770)와, 지원 클라이언트 정보 저장부(730)와, 지원 가능 여부 판단부(720)와, 입력 클라이언트 디스커버리부(710)와, 네트워크 송수신 모듈(740)과, 키코드 변환부(750)와, 키코드 처리부(760)를 포함한다.
상기 입력 장치 디스커버리부(710)는 UPnP 네트워크에 존재하는 UPnP 입력 장치를 디스커버리한다. 입력 장치 디스커버리부(710)는 네트워크에서 디스커버리한 입력 장치 대한 정보를 지원 가능 여부 판단부(720)로 전달한다.
지원 가능 여부 판단부(720)는 상기 입력 장치 디스커버리부(710)에서 디스커버리한 입력 장치로부터 사용 가능 역할 및 사용 가능 입력 모드과, 유니코드(Unicode) 지원 가능 여부를 파악한다. 또한 사용 가능 역할 및 사용 가능 입력 모드 리스트를 파악하여 현재 입력 동작에 사용할 수 있는지 여부에 대한 판단을 수행한다. 또한 디스커버리된 입력 장치의 입력 능력(입력 모드, 가능 역할)에 대한 정보를 파악하며, 파악한 입력 능력에 대한 정보를 바탕으로 입력 클라이언트를 설정한다. 제어 포인트와 입력 서버가 따로 구성된 경우에는 지원 가능 여부 판단부(720)에서 파악한 입력 능력에 대한 정보를 바탕으로 입력 서버도 설정한다.
지원 장치 정보 저장부(730)는 사용 가능한 입력 장치의 입력 능력에 대한 정보를 저장한다. 본 발명의 실시 예에 따른 입력 서버/제어 포인트(106)에서 지원 가능 여부 판단부(720)는 입력 서버/제어 포인트(106)에서 사용 가능하다고 판단된 입력 장치에 대한 정보를 저장한다.
디스플레이부(770)는 입력 요청을 수행할 때, 입력을 요청하는 화면 등의 유저 인터페이스를 표시한다. 또한 입력 서버/제어 포인트(106)에 입력이 가능한 입력 클라이언트(104)의 정보를 출력할 경우, 지원 클라이언트 정보 저장부(730)로부터 쿼리하여 표시할 수 있다. 유저 인터페이스를 통해 표시된 입력 클라이언트 중 하나를 사용자가 선택하면 입력 서버/제어 포인트(106)는 입력 클라이언트(104)에게 자신이 입력 클라리언트(104)로 설정된 것을 알리고, 입력 클라이언트 장치는 사용자가 판별할 수 있는 수단(예를 들면, 소리, LED 점멸 등)을 통해 사용자가 장치를 용이하게 선택할 수 있도록 할 수 있다(도시하지 않음).
네트워크 송수신 모듈(740)은 UPnP 네트워크 또는 다른 통신 프로토콜을 이용하여 입력 데이터의 송수신을 수행한다. 본 발명의 실시 예에서 네트워크 송수신 모듈(740)은 입력 클라이언트(104)로부터 전송되는 입력 데이터를 수신한다.
키코드 변환부(750)는 상기 네트워크 송수신 모듈(740)을 통해 수신된 입력 데이터를 분석하여 전송된 포맷을 입력 서버/제어 포인트(106)이 사용할 수 있는 키코드 형태로 변환한다.
키코드 처리부(760)는 상기 키코드 변환부(750)로부터 키코드를 전달받아 입력 데이터를 처리한다.
상기 입력 서버/제어 포인트(106)는 상기와 같이 구성될 수 있다. 한편 제어 포인트(101)만 따로 구성된다면 입력 클라이언트 디스커버리부(710)와, 지원 가능 여부 판단부(720)와, 지원 클라이언트 정보 저장부(730), 디스플레이부(770)를 포함하여 구성될 수 있다. 또한 입력 서버(103)는 네트워크 송수신 모듈(740), 키코드 변환부(750), 키코드 처리부(760), 디스플레이부(770)를 포함하여 구성될 수 있다.
도 8은 본 발명의 실시 예에 따른 UPnP를 이용한 입력 시스템에서 입력 클라이언트의 블록 구성도이다. 본 발명의 실시 예에 따른 입력 클라이언트(104)는 네트워크 송수신 모듈(830)과, 입력 신호 전송 포맷 변환부(820)과, 드라이버(840)와, 주변 입력 장치(810-1~n)를 포함한다.
입력 클라이언트(104)는 네트워크 송수신 모듈(830)과 UPnP 장치 스택(미도시)을 탑재하여 입력 클라이언트(104) 단독으로 입력을 수행할 수도 있으며, 네트워크 시스템에 연결된 주변 입력 장치(810-1~n)를 통해 적어도 하나 이상의 입력 모드로 입력을 수행할 수도 있다.
이를 위해 입력 클라이언트(104)는 입력 모드를 통해 수신한 입력 신호를 네트워크로 전송하기 위한 포맷으로 변환하는 입력신호 전송 포맷 변환부(820)과, 전송 포맷으로 변환된 데이터를 입력 서버 장치로 전송하기 위한 네트워크 송수신 모듈(830)을 포함하여 구성된다.
도 9는 본 발명의 일 실시 예에 따른 UPnP를 이용한 입력 동작시 제어 포인트의 동작 흐름도이다. 도 9는 제어 포인트가 각 입력 장치의 역할과 사용할 입력 장치를 선택하는 과정을 나타낸다.
먼저 910단계에서 제어 포인트(101)는 네트워크에 존재하는 UPnP 장치로부터 입력 능력 정보(Capabilities)를 획득한다. 다음 920단계에서는 상기 910단계에서 획득한 정보와 UPnP 디스커버리(discovery) 동작을 통해 획득한 UPnP 장치의 정보를 참고하여 각 UPnP 장치의 사용 가능 역할을 파악한다. 다음 930단계에서는 각 UPnP 장치의 지원 가능 입력 모드 정보를 파악한다. 이때 지원 가능 입력 모드 정보는 USB HID 클래스가 사용될 수 있다. 상세히 설명하면, 제어 포인트(101)는 미리 입력 서버가 설정된 경우에는 입력 클라이언트 역할이 가능한 UPnP 장치의 지원 가능 입력 모드 정보를 파악하며, 미리 입력 클라이언트가 설정된 경우에는 입력 서버 역할이 가능한 UPnP 장치의 지원 가능 입력 모드 정보를 파악한다.
다음 940단계에서는 입력 서버의 지원 가능 입력 모드과 입력 클라이언트의 지원 가능 입력 모드 중 일치하는 입력 모드가 존재하는지 판단한다. 즉, 입력 서버가 설정된 경우에는, 입력 클라이언트 역할이 가능한 UPnP 장치의 지원 가능 입력 모드 중 현재 설정된 입력 서버의 지원 가능 입력 모드과 일치하는 정보가 존재하는지 판단하며, 입력 클라이언트가 설정된 경우에는, 입력 서버 역할이 가능한 UPnP 장치의 지원 가능 입력 모드 중 현재 설정된 입력 클라이언트의 지원 가능 입력 모드과 일치하는 정보가 존재하는지 판단한다. 상기 940단계에서 판단결과 일치되는 입력 모드가 있는 경우에는 950단계로 진행하여 일치되는 입력 모드를 표시하여, 사용자에 의해 사용할 입력 장치를 선택하도록 한다.
다시 말하면, 제어 포인트(101)는 입력 서버가 설정된 경우에는 입력 클라이언트로 동작 가능한 전자 장치의 지원 가능 입력 모드를 수집하여, 상기 입력 서버에서 지원 가능한 입력 모드과 일치하는 지원 가능 입력 모드 정보를 포함한 입력 클라이언트로 동작 가능한 전자 장치 중 적어도 하나를 입력 클라이언트로 설정하고, 입력 클라이언트가 설정된 경우에는 입력 서버로 동작 가능한 전자 장치의 지원 가능 입력 모드를 수집하여, 상기 입력 클라이언트에서 지원 가능한 입력 모드과 일치하는 지원 가능 입력 모드 정보를 포함한 입력 서버로 동작 가능한 전자 장치 중 적어도 하나를 입력 서버로 설정한다.
상기 940단계에서 판단결과 일치되는 입력 모드가 없는 경우에는 960단계로 진행하여 현재 입력 장치를 이용하여 입력이 불가능함을 알린다.
도 10은 본 발명의 실시 예에 따른 UPnP 입력 동작시, 입력 클라이언트가 특수키 또는 추가 버튼을 제공하기 위한 정보의 예를 나타낸 예시도이다. 도 10은 본 발명의 실시 예에 따른 UPnP를 이용한 입력 동작시, 입력 클라이언트(104)에 입력 서버(103)의 특수키 또는 추가 버튼(1060, 1070, 1080)을 제공하는 방법을 개략적으로 도시한 도면이다.
도 10에서는 입력 클라이언트(104)의 한 예로 터치 스크린으로 구성된 가상 키보드를 구비한 입력 장치를 도시한다. 입력 클라이언트(104)는 가상 키보드 외에 특수키 또는 추가 버튼을 사용자에게 제공하기 위해 입력 서버(103)에게 특별 키코드 리스트를 요청하는 액션('GetSpecialKeyCodeList()')(1010)을 전송할 수 있다.
이 요청에 따라 입력 서버(103)는 자신이 제공가능한 특수키 또는 추가 버튼(1060, 1070, 1080)과 매핑되어 있는 키코드 리스트(1020)를 제공한다. 이 키코드 리스트에 속해 있는 각 키코드는 키코드 값뿐만 아니라 사용자가 인식 가능한 정보(icon, friendly name, description)를 포함할 수 있다. 또한 입력 서버(103)에서 실행되는 어플리케이션의 정보도 포함될 수 있다.
입력 클라이언트(104)는 상기 키코드 리스트 정보(102)를 수신하면 키코드 리스트 정보(1020)에 포함된 인식 정보를 이용하여 사용자에게 특수키 또는 추가 버튼을 제공할 수 있으며, 사용자는 특수키 또는 추가 버튼에 표시된 인식 정보를 보고 이 키를 눌렀을 때 수행되는 기능에 대해 유추할 수 있다.
입력 클라이언트(104)는 키 값이 무엇을 의미하는지 알 필요 없이 선택된 키에 해당하는 키코드 값을 입력 서버(103)로 전송하기만 하면 된다.
입력 클라이언트(104)가 소프트웨어적으로 특수키나 버튼을 추가하여 디스플레이하기 힘든 장치이거나 하드웨어 버튼만을 제공하는 입력 장치인 경우 입력 클라이언트(104)의 기존 버튼에 할당된 키코드 값을 입력 서버(103)가 제공한 키코드 값으로 매핑하는 컴포넌트를 제공함으로서 상기와 같은 효과를 얻을 수도 있다. 단, 이 경우에는 클라이언트 장치상에서 기존 키와 입력 서버가 제공한 키코드 간의 매핑을 위해 사용자의 개입이 필요하다.
일반적인 키코드를 이용하는 방법에 있어서, 입력 클라이언트(104)와 입력 서버(103)는 이미 사전에 합의된 키코드 값에 매핑된 값을 가지고 있어야 한다. 하지만, 본 발명에 따르면 입력 서버(103)가 일방적으로 제공하는 임의의 키코드 값을 입력 클라이언트(104)가 이용할 수 있으므로, 입력 클라이언트의 기능을 확장시킬 수 있다는 장점이 있다.
또한 이전의 키코드 수동 매핑 방법은, 입력 서버(103)가 입력 클라이언트로부터의 키 입력을 대기하고 있다가 입력된 키코드 값을 수신하고 이 키코드 값에 매핑될 입력 서버(103)의 기능을 선택하는 방식이었으나, 본 발명에 따른 입력 서버(103)는 입력 클라이언트(104)의 키코드 값에 상관없이 디바이스 고유의 키코드 값을 이용할 수 있다.
도 11은 본 발명의 실시 예에 따른 UPnP 입력 동작 시, 입력 클라이언트로 범용 리모트 컨트롤러(Universal Remote Controller)가 사용되는 예를 나타내는 예시도 및 입력 동작의 흐름도이다. 도 11의 (a)를 참조하면, 입력 서버(1102, 도 11에서 TV로 도시함)와 입력 클라이언트(1101, 도 11에서 리모트 컨트롤러로 도시함)는 적외선 리모트 컨트롤을 위한 인터페이스를 가지고 있다. 입력 서버(1102)는 적외선 신호 수신기(1104)를 장착하고 있으며, 입력 클라이언트(1101)는 적외선 송신기(1103)를 장착하고 있다. 통상적으로 리모트 컨트롤 장치는 컨트롤 장치 상의 버튼마다 특정 코드가 매핑되어 있으며 사용자가 버튼을 누르면 리모트 컨트롤 장치의 적외선 송신기를 통해 매핑되어 있는 코드에 해당하는 신호를 전송한다. 원격에 위치한 타겟 장치(입력 서버)는 적외선 수신기(1104)를 통해 해당 신호를 수신하고 수신된 신호가 나타내는 코드 값에 매핑되어 있는 특정 동작을 수행한다. 도 11에 도시한 입력 동작 시 적외선 리모트 컨트롤러는 UpnP 제어 포인트의 역할을 수행할 수 있다.
도 11의 (b)를 참조하면, 먼저 1110단계에서 입력 클라이언트(1101)는 입력 서버(1102)를 발견하고 입력 서버(1102)의 지원 가능한 입력 모드에 대한 정보를 얻는다. 이에 따라 입력 클라이언트(1101)는 네트워크 상에 존재하는 적외선 리모트 컨트롤이 가능한 장치 리스트를 얻을 수 있다. 다음 1120단계에서 입력 클라이언트(1101)는 사용자 인터페이스를 통해 적외선 리모트 컨트롤이 가능한 장치 리스트를 표시한다. 다음 1130단계에서 적외선 리모트 컨트롤러는 제어하고자 하는 기기 즉, 입력 서버의 선택을 사용자로부터 입력받는다.
다음 1140단계에서 입력 클라이언트(1101)는 SOAP Action(예를들어 GetMappingCodeTable())을 호출하여 입력 서버(1102)로부터 동작-코드값의 매핑 테이블 정보를 수신한다. 매핑 테이블 정보는 리모트 컨트롤 장치의 범용적인 동작-코드값을 포함할 수 있으며, 기기 특화된 동작-코드값을 포함할 수 있다. 기기 특화된 동작-코드값에 대한 항목은 사용자가 인식 가능한 이름 또는 부가 설명이 부여되어 있을 수 있다. 또는 사용자가 이미지로부터 동작을 추측할 수 있는 이미지 아이콘 정보가 함께 제공될 수 있다.
다음 1150단계에서 입력 클라이언트(1101)는 해당 정보를 바탕으로 리모트 컨트롤러 사용자 인터페이스를 생성하고, 1160단계에서 리모트 컨트롤 동작을 수행한다.
이와 같은 동작 과정을 통해 리모트 컨트롤 장치(1101)는 컨트롤 타겟 장치(1102)의 제조사, 종류, 제어 코드에 상관없이 동적으로 필요한 설정을 완료할 수 있으며 해당 장치의 리모트 컨트롤 장치로 동작할 수 있다.
상기와 같이 본 발명의 일 실시 예에 따른 UPnP를 이용한 홈 네트워크에서 입력을 제공하는 방법 및 시스템의 동작 및 구성이 이루어질 수 있으며, 한편 상기한 본 발명의 설명에서는 구체적인 실시 예에 관해 설명하였으나 여러 가지 변형이 본 발명의 범위를 벗어나지 않고 실시될 수 있다.
도 1은 일반적인 UPnP(Universal Plug and Play)를 이용한 네트워크 시스템에서 장치 디스커버리(discovery) 및 액션(action) 수행 동작을 나타내는 흐름도
도 2는 본 발명의 일 실시 예에 따른 UPnP를 이용한 입력 시스템의 블록 구성도
도 3은 본 발명의 일 실시 예에 따른 UPnP를 이용한 입력 시스템의 각 장치의 예를 도시한 예시도
도 4는 본 발명의 일 실시 예에 따른 UPnP를 이용한 입력 동작의 흐름도
도 5는 본 발명의 다른 실시 예에 따른 UPnP를 이용한 입력 동작의 흐름도
도 6은 본 발명의 또 다른 실시 예에 따른 UPnP를 이용한 입력 동작의 흐름도
도 7은 본 발명의 또 다른 실시 예에 따른 UPnP 입력 시스템에서 제어 포인트 역할을 동시에 수행하는 입력 서버의 블록 구성도
도 8은 본 발명의 일 실시 예에 따른 UPnP를 이용한 입력 시스템에서 입력 클라이언트의 블록 구성도
도 9는 본 발명의 실시 예에 따른 UPnP를 이용한 입력 동작시 제어 포인트의 동작 흐름도
도 10은 본 발명의 실시 예에 따른 UPnP 입력 동작 시, 입력 클라이언트가 특수키 또는 추가 버튼을 제공하기 위한 정보의 예를 나타낸 예시도
도 11은 본 발명의 실시 예에 따른 UPnP 입력 동작 시, 입력 클라이언트로서 범용 리모트 컨트롤러(Universal Remote Controller)가 사용되는 예를 나타내는 도면

Claims (31)

  1. UPnP(Universal Plug and Play)를 이용한 홈 네트워크에서 입력을 제공하는 방법에 있어서,
    제어 포인트(control point)가 상기 홈 네트워크에 존재하는 전자 장치에게 입력 능력에 대한 정보를 요청하고, 상기 요청에 대한 응답으로 상기 입력 능력에 대한 정보를 수신하는 과정과,
    상기 제어 포인트가 상기 수신한 입력 능력에 대한 정보를 바탕으로 입력 데이터를 송신하기 위한 송신 장치 및 입력 데이터를 수신하기 위한 수신 장치를 설정하는 과정을 포함하고,
    상기 입력 능력에 대한 정보는, 상기 전자 장치의 사용 가능 역할에 대한 정보를 포함함을 특징으로 하는 입력을 제공하는 방법.
  2. 제 1항에 있어서, 상기 입력 능력에 대한 정보는,
    사용 가능 입력 모드에 대한 정보를 포함함을 특징으로 하는 입력을 제공하는 방법.
  3. 삭제
  4. 제 2항에 있어서, 상기 사용 가능 입력 모드에 대한 정보는,
    USB HID(human interface divice) 클래스를 사용함을 특징으로 하는 입력을 제공하는 방법.
  5. 제 1항에 있어서, 상기 제어 포인트가 상기 수신한 입력 능력에 대한 정보를 바탕으로 입력 데이터를 송신하기 위한 송신 장치 및 입력 데이터를 수신하기 위한 수신 장치를 설정하는 과정은,
    상기 수신한 입력 능력 정보를 통해 상기 전자 장치의 사용가능 역할 정보를 파악하는 과정과,
    송신 장치 또는 수신 장치를 설정하는 과정과,
    상기 수신 장치가 설정된 경우, 송신 장치로 동작 가능한 전자 장치의 지원 가능 입력 모드를 수집하여, 상기 수신 장치가 지원 가능한 입력 모드와 일치하는 지원 가능 입력 모드 정보를 포함한 송신 장치로 동작 가능한 전자 장치 중 적어도 하나를 송신 장치로 설정하는 과정과,
    상기 송신 장치가 설정된 경우, 수신 장치로 동작 가능한 전자 장치의 지원 가능 입력 모드를 수집하여, 상기 송신 장치에서 지원 가능한 입력 모드과 일치하는 지원 가능 입력 모드 정보를 포함한 수신 장치로 동작 가능한 전자 장치 중 적어도 하나를 수신 장치로 설정하는 과정을 포함함을 특징으로 하는 입력을 제공하는 방법.
  6. 제 1항에 있어서, 상기 제어 포인트가 상기 수신한 입력 능력에 대한 정보를 바탕으로 입력 데이터를 송신하기 위한 송신 장치 및 입력 데이터를 수신하기 위한 수신 장치를 설정하는 과정은,
    입력 데이터의 데이터 포맷, 전송 프로토콜 정보가 포함된 입력 역할을 설정하기 위한 액션을 수행하여 수신 장치를 설정하는 과정과,
    설정된 상기 수신 장치가 입력 데이터를 전송할 세션의 아이디, 입력 데이터를 수신할 네트워크의 포트 정보를 포함한 응답 메시지를 상기 제어 포인트로 전송하는 과정과,
    상기 제어 포인트가 상기 입력 데이터를 전송할 세션의 아이디, 입력 데이터를 수신할 네트워크의 포트 정보, 입력 데이터를 전송할 프로토콜 정보, 입력 데이터의 데이터 포맷에 대한 정보를 포함한 입력 역할을 설정하기 위한 액션을 수행하여 송신 장치를 설정하는 과정을 포함함을 특징으로 하는 입력을 제공하는 방법.
  7. 제 1항에 있어서,
    상기 제어 포인트가 입력시 사용될 입력 모드에 대한 정보 요청을 위한 입력 모드 요청을 상기 수신 장치로 전송하는 과정과,
    상기 수신 장치가 상기 입력 모드 요청에 대한 응답으로 자신의 입력 모드 정보를 제어 포인트로 전송하는 과정과,
    상기 제어 포인트가 상기 수신 장치의 입력 모드 정보를 바탕으로 상기 송신 장치의 입력 모드를 활성화 하는 과정과,
    상기 활성화된 입력 모드로 입력 데이터를 수신하여 상기 입력 받은 입력 데이터를 상기 수신 장치로 전송하는 과정을 더 포함함을 특징으로 하는 입력을 제공하는 방법.
  8. 제 1항에 있어서, 상기 수신 장치 또는 송신 장치에서 현재 입력 모드가 변경된 경우, 상기 변경된 입력 모드에 대한 정보를 상기 제어 포인트에게 전송하는 과정과,
    상기 제어 포인트가 상기 입력 모드가 변경된 장치로부터 변경된 입력 모드 정보를 획득하는 과정과,
    상기 제어 포인트가 획득한 변경된 입력 모드 정보에 따라 상기 입력 모드가 변경된 장치의 상대방측의 입력 모드를 활성화하는 과정을 더 포함함을 특징으로 하는 입력을 제공하는 방법.
  9. 제 8항에 있어서, 상기 상대방측의 입력 모드를 활성화 시, 이전에 사용하던 세션 아이디가 존재하는 경우 상기 세션 아이디가 할당된 입력 모드를 활성화하는 것을 특징으로 하는 입력을 제공하는 방법.
  10. 제 1항에 있어서,
    상기 제어 포인트가 상기 송신 장치에게 입력 데이터를 상기 수신 장치로 전송할 것을 요청하는 과정을 더 포함함을 특징으로 하는 입력을 제공하는 방법.
  11. 제 1항에 있어서,
    상기 송신 장치를 통해 입력받은 입력 데이터를 UPnP 프로토콜 외에 다른 통신 프로토콜 혹은 UPnP 프로토콜을 이용하여 상기 수신 장치로 전송하는 과정을 더 포함함을 특징으로 하는 입력을 제공하는 방법.
  12. 제 1항에 있어서, 상기 송신 장치를 통해 입력받은 입력 데이터는,
    미리 설정된 데이터 포맷이나 USB 리포트 디스크립터(Report Descriptor) 또는 16진수 IR 코드값임을 특징으로 하는 입력을 제공하는 방법.
  13. 제 1항에 있어서, 상기 송신 장치가 입력 키에 대한 키코드 리스트를 요청하여 수신하는 과정을 더 포함함을 특징으로 하는 입력을 제공하는 방법.
  14. 제 13항에 있어서, 상기 키코드 리스트는 키코드 값 및 상기 키코드 값을 사용자가 인식 가능하게 하기 위한 정보를 포함하는 것을 특징으로 하는 입력을 제공하는 방법.
  15. UPnP(Universal Plug and Play)를 이용한 홈 네트워크에서 입력을 제공하는 시스템에 있어서,
    상기 홈 네트워크에 존재하는 전자 장치에게 입력 능력에 대한 정보를 요청하고, 상기 요청에 대한 응답으로 상기 입력 능력에 대한 정보를 수신하며, 상기 수신한 입력 능력에 대한 정보를 바탕으로 입력 데이터를 송신하기 위한 송신 장치 및 입력 데이터를 수신하기 위한 수신 장치를 설정하는 제어 포인트를 포함하고,
    상기 입력 능력에 대한 정보는, 상기 전자 장치의 사용 가능 역할에 대한 정보를 포함함을 특징으로 하는 입력을 제공하는 시스템.
  16. 제 15항에 있어서, 상기 입력 능력에 대한 정보는,
    사용 가능 입력 모드에 대한 정보를 포함함을 특징으로 하는 입력을 제공하는 시스템.
  17. 삭제
  18. 제 16항에 있어서, 상기 사용 가능 입력 모드에 대한 정보는,
    USB HID(human interface divice) 클래스를 사용함을 특징으로 하는 입력을 제공하는 시스템.
  19. 제 15항에 있어서, 상기 제어 포인트가 상기 수신한 입력 능력에 대한 정보를 바탕으로 입력 데이터를 송신하기 위한 송신 장치 및 입력 데이터를 수신하기 위한 수신 장치를 설정하는 것은,
    상기 수신한 입력 능력 정보를 통해 상기 전자 장치의 사용가능 역할 정보를 파악하며, 상기 수신 장치 혹은 송신 장치를 설정하며,
    상기 수신 장치가 설정된 경우, 송신 장치로 동작 가능한 전자 장치의 지원 가능 입력 모드를 수집하여, 상기 수신 장치에서 지원 가능한 입력 모드와 일치하는 지원 가능 입력 모드 정보를 포함한 송신 장치로 동작 가능한 전자 장치 중 적어도 하나를 송신 장치로 설정하며,
    상기 송신 장치가 설정된 경우, 수신 장치로 동작 가능한 전자 장치의 지원 가능 입력 모드를 수집하여, 상기 송신 장치에서 지원 가능한 입력 모드와 일치하는 지원 가능 입력 모드 정보를 포함한 수신 장치로 동작 가능한 전자 장치 중 적어도 하나를 수신 장치로 설정하는 것임을 특징으로 하는 입력을 제공하는 시스템.
  20. 제 15항에 있어서, 상기 제어 포인트가 상기 수신한 입력 능력에 대한 정보를 바탕으로 입력 데이터를 송신하기 위한 송신 장치 및 입력 데이터를 수신하기 위한 수신 장치를 설정하는 것은,
    입력 데이터의 데이터 포맷, 전송 프로토콜 정보가 포함된 입력 역할 설정 액션을 수행하여 상기 수신 장치를 설정하며, 상기 설정된 수신 장치가 입력 데이터를 전송할 세션의 아이디, 입력 데이터를 수신할 네트워크의 포트 정보를 포함한 응답 메시지를 상기 제어 포인트로 전송하며, 상기 제어 포인트가 상기 입력 데이터를 전송할 세션의 아이디, 입력 데이터를 수신할 네트워크의 포트 정보, 입력 데이터를 전송할 프로토콜 정보, 입력 데이터의 데이터 포맷에 대한 정보를 포함한 입력 역할 설정 액션을 수행하여 상기 송신 장치를 설정하는 것을 포함함을 특징으로 하는 입력을 제공하는 시스템.
  21. 제 15항에 있어서, 상기 제어 포인트는,
    입력 시 사용될 입력 모드에 대한 정보 요청을 위한 입력 모드 요청을 상기 수신 장치로 전송하며, 상기 수신 장치로부터 상기 입력 모드 요청에 대한 응답으로 상기 수신 장치의 입력 모드 정보를 수신하며, 상기 수신 장치의 입력 모드 정보를 바탕으로 상기 송신 장치의 입력 모드를 활성화하며, 상기 활성화된 입력 모드로 입력 데이터를 수신하여 상기 입력 받은 입력 데이터를 상기 수신 장치로 전송하는 것을 특징으로 하는 입력을 제공하는 시스템.
  22. 제 15항에 있어서, 상기 제어 포인트는,
    상기 수신 장치 또는 송신 장치에서 현재 입력 모드가 변경된 경우, 상기 변경된 입력 모드에 대한 정보를 수신하며, 상기 입력 모드가 변경된 장치로부터 변경된 입력 모드 정보를 획득하며, 획득한 변경된 입력 모드 정보에 따라 입력 모드가 변경된 장치의 상대방측의 입력 모드를 활성화하는 것을 특징으로 하는 입력을 제공하는 시스템.
  23. 제 22항에 있어서, 상기 상대방측의 입력 모드를 활성화 시, 이전에 사용하던 세션 아이디가 존재하는 경우 상기 세션 아이디가 할당된 입력 모드를 활성화하는 것을 특징으로 하는 입력을 제공하는 시스템.
  24. 제 15항에 있어서, 상기 설정된 송신 장치는 입력받은 입력 데이터를 UPnP 프로토콜 외에 다른 통신 프로토콜 혹은 UPnP 프로토콜을 이용하여 상기 수신 장치로 전송함을 특징으로 하는 입력을 제공하는 시스템.
  25. 제 15항에 있어서, 상기 송신 장치를 통해 입력받은 입력 데이터는,
    미리 설정된 데이터 포맷이나 USB 리포트 디스크립터(Report Descriptor) 또는 16진수 IR 코드값 임을 특징으로 하는 입력을 제공하는 시스템.
  26. 제 15항에 있어서, 상기 제어 포인트는,
    UPnP 네트워크에 존재하는 입력 장치를 찾기 위해 UPnP 디스커버리(discovery) 동작을 수행하는 입력 장치 디스커버리부와,
    상기 디스커버리된 입력 장치의 입력 능력에 대한 정보를 수신하며, 상기 수신한 입력 능력에 대한 정보를 바탕으로 입력 데이터를 송신하기 위한 송신 장치 및 입력 데이터를 수신하기 위한 수신 장치를 설정하는 지원 가능 여부 판단부와,
    상기 수신 장치에 사용 가능한 입력 장치의 입력 능력에 대한 정보를 저장하는 지원 장치 정보 저장부와,
    상기 수신 장치에 사용 가능한 송신 장치의 정보를 표시하는 디스플레이부를 포함함을 특징으로 하는 입력을 제공하는 시스템.
  27. 제 15항에 있어서, 상기 수신 장치는,
    상기 송신 장치로부터 입력 데이터를 수신하기 위한 네트워크 송수신 모듈과,
    상기 네트워크 송수신 모듈을 통해 수신된 입력 데이터를 분석하여 키코드 정보로 변환하는 키코드 변환부와,
    상기 키코드 변환부로부터 상기 키코드 정보를 수신하여 상기 키코드 정보를 처리하는 키코드 처리부를 포함함을 특징으로 하는 입력을 제공하는 시스템.
  28. 제 15항에 있어서, 상기 송신 장치는,
    사용자 입력을 수신하기 위한 적어도 하나 이상의 입력 모드들과,
    상기 입력 모드를 통해 수신된 입력 데이터를 상기 수신 장치로 전송하기 위한 입력 신호로 변환하는 입력 신호 전송 포맷 변환부와,
    상기 입력 데이터를 상기 수신 장치로 전송하기 위한 네트워크 송수신 모듈을 포함함을 특징으로 하는 입력을 제공하는 시스템.
  29. 제 28항에 있어서, 상기 송신 장치는,
    부가적인 입력 모드인 주변 입력 장치를 더 포함함을 특징으로 하는 입력을 제공하는 시스템.
  30. 제 15항에 있어서, 상기 제어 포인트는,
    적외선 송신부를 포함하는 범용 적외선 컨트롤러(Universal Remote Controller)를 입력 클라이언트로 설정하며, 적외선 수신부를 포함하며 상기 범용 적외선 컨트롤러에 의해 제어가 가능한 장치를 수신 장치로 설정하는 것을 특징으로 하는 입력을 제공하는 시스템.
  31. 제 30항에 있어서, 상기 송신 장치는,
    상기 설정된 수신 장치로부터 동작-코드값의 매핑 테이블 정보를 수신하는 것을 특징으로 하는 입력을 제공하는 시스템.
KR1020090068442A 2008-08-14 2009-07-27 UPnP를 이용한 홈네트워크에서 입력을 제공하는 방법 및 시스템 KR101613319B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2011522907A JP5209790B2 (ja) 2008-08-14 2009-08-12 UPnPを用いたホームネットワークにおける入力を提供する方法及びシステム
PCT/KR2009/004514 WO2010019000A2 (en) 2008-08-14 2009-08-12 Method and system for providing input in home network using upnp
EP09806862.0A EP2314059B1 (en) 2008-08-14 2009-08-12 Method and system for providing input in home network using upnp
CN200980139314.7A CN102172009B (zh) 2008-08-14 2009-08-12 在利用通用即插即用的家庭网络中提供输入的方法和系统
US12/541,640 US8429309B2 (en) 2008-08-14 2009-08-14 Method and system for providing input in home network using UPnP

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20080080120 2008-08-14
KR1020080080120 2008-08-14

Publications (2)

Publication Number Publication Date
KR20100021358A KR20100021358A (ko) 2010-02-24
KR101613319B1 true KR101613319B1 (ko) 2016-04-19

Family

ID=42091148

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090068442A KR101613319B1 (ko) 2008-08-14 2009-07-27 UPnP를 이용한 홈네트워크에서 입력을 제공하는 방법 및 시스템

Country Status (6)

Country Link
US (1) US8429309B2 (ko)
EP (1) EP2314059B1 (ko)
JP (1) JP5209790B2 (ko)
KR (1) KR101613319B1 (ko)
CN (1) CN102172009B (ko)
WO (1) WO2010019000A2 (ko)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101767262B1 (ko) 2009-11-09 2017-08-11 삼성전자주식회사 UPnP를 이용한 입력 시스템에서 입력 방식을 변경하기 위한 방법 및 장치
KR101625373B1 (ko) * 2010-07-13 2016-05-30 삼성전자주식회사 원격 사용자 인터페이스 관리 장치 및 방법과 이를 위한 시스템
KR101746226B1 (ko) * 2010-12-22 2017-06-12 삼성전자주식회사 유피엔피에서 스마트 그리드를 이용하여 정보 교환을 수행하기 위한 방법
KR20120139574A (ko) * 2011-06-17 2012-12-27 삼성전자주식회사 UPnP 기반 디바이스 간 데이터 교환 장치 및 방법
KR102032717B1 (ko) 2011-09-29 2019-10-17 삼성전자주식회사 차량 내 통지 서비스 방법, 기계로 읽을 수 있는 저장 매체, 헤드 유닛 장치 및 모바일 장치
KR101834995B1 (ko) * 2011-10-21 2018-03-07 삼성전자주식회사 디바이스 간 컨텐츠 공유 방법 및 장치
CN102625171B (zh) * 2012-03-16 2014-12-03 晨星软件研发(深圳)有限公司 智能电视的远程控制方法、系统及相应的设备
KR20140029049A (ko) * 2012-08-31 2014-03-10 삼성전자주식회사 디스플레이 장치 및 이를 이용한 입력 신호 처리 방법
CN102930705B (zh) * 2012-09-26 2014-09-03 腾讯科技(深圳)有限公司 一种设备控制方法和装置
US10306467B2 (en) * 2013-04-11 2019-05-28 Uniloc 2017 Llc Shared state among multiple devices
KR20150027437A (ko) * 2013-09-03 2015-03-12 한국전자통신연구원 멀티스크린 소셜 네트워크 구축 방법 및 시스템
US9516355B2 (en) * 2013-09-04 2016-12-06 Qualcomm Incorporated Discovering and controlling multiple media rendering devices utilizing different networking protocols
EP2947823A1 (en) 2014-05-23 2015-11-25 Thomson Licensing Publish/subscribe network for controlling an application using another device
CN104035625B (zh) * 2014-07-01 2017-04-26 江苏惠通集团有限责任公司 一种手持设备与主机之间的通信方法
CN106155293B (zh) * 2015-04-16 2019-09-10 北京智谷睿拓技术服务有限公司 交互方法、交互装置及用户设备
US10104111B2 (en) * 2016-02-17 2018-10-16 Sony Corporation Network security for internet of things
JP6813110B1 (ja) * 2020-03-02 2021-01-13 ダイキン工業株式会社 通信装置、プログラム、通信方法、及び通信システム

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006018719A (ja) * 2004-07-05 2006-01-19 Hitachi Ltd ネットワーク機器構築装置および機器構成管理ユニットおよび機器構成管理方法ならびにコンピュータ・プログラム

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6910068B2 (en) * 1999-06-11 2005-06-21 Microsoft Corporation XML-based template language for devices and services
US6892230B1 (en) * 1999-06-11 2005-05-10 Microsoft Corporation Dynamic self-configuration for ad hoc peer networking using mark-up language formated description messages
US8135796B1 (en) * 2000-05-09 2012-03-13 Oracle America, Inc. Mechanism and apparatus for accessing and addressing services in a distributed computing environment
WO2001086393A2 (en) * 2000-05-09 2001-11-15 Sun Microsystems, Inc. Message authentication using message gates in a distributed computing environment
US8082491B1 (en) 2000-05-09 2011-12-20 Oracle America, Inc. Dynamic displays in a distributed computing environment
JP2002094543A (ja) * 2000-09-18 2002-03-29 Sony Corp 携帯情報機器、携帯情報機器アクセス装置、ホームネットワークシステム、およびホームネットワークに対するアクセス方法
US7299304B2 (en) 2001-11-20 2007-11-20 Intel Corporation Method and architecture to support interaction between a host computer and remote devices
KR100830940B1 (ko) 2002-07-10 2008-05-20 엘지전자 주식회사 유피엔피(UPnP)를 이용한 홈 네트워크의 원격 제어시스템
JP4059214B2 (ja) * 2004-03-04 2008-03-12 ソニー株式会社 情報再生システムの制御方法、情報再生システム、情報提供装置、および情報提供プログラム
US7937696B2 (en) * 2004-12-16 2011-05-03 International Business Machines Corporation Method, system and program product for adapting software applications for client devices
JP4804364B2 (ja) * 2005-01-13 2011-11-02 パナソニック株式会社 通信システム、端末機器および通信機器
KR100645171B1 (ko) * 2005-05-16 2006-11-10 주식회사 대우일렉트로닉스 계층적 UPnP를 이용한 홈 네트워크 미디어 서비스시스템과 방법
CN101218790A (zh) * 2005-07-04 2008-07-09 Sk电信股份有限公司 家庭网络系统及其控制方法、设置家庭网络系统的住宅网关的方法以及处理家庭网络系统的事件协议的方法
US7844442B2 (en) * 2005-08-16 2010-11-30 Exent Technologies, Ltd. System and method for providing a remote user interface for an application executing on a computing device
KR100800998B1 (ko) * 2005-12-24 2008-02-11 삼성전자주식회사 홈 네트워크 기기 제어 장치 및 방법
US8516087B2 (en) * 2006-02-14 2013-08-20 At&T Intellectual Property I, L.P. Home automation system and method
WO2008019334A2 (en) * 2006-08-04 2008-02-14 Tegic Communications, Inc. Remote control in a mobile terminal
KR100803610B1 (ko) 2006-11-21 2008-02-15 삼성전자주식회사 인터넷을 통해 UPnP 홈 네트워크에 접속된 디바이스를제어하는 방법 및 이를 위한 시스템 및 장치
JP2009009211A (ja) * 2007-06-26 2009-01-15 Sony Corp 通信システム、通信装置及びその制御方法、並びにコンピュータ・プログラム
US20090070840A1 (en) * 2007-09-05 2009-03-12 Hitachi, Ltd. Terminal-Cooperated System, Terminal, Server and Method for Uninterrupted Reception of Contents
US20090161579A1 (en) * 2007-12-20 2009-06-25 Mika Saaranen Method, system, and apparatus for implementing network capable input devices

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006018719A (ja) * 2004-07-05 2006-01-19 Hitachi Ltd ネットワーク機器構築装置および機器構成管理ユニットおよび機器構成管理方法ならびにコンピュータ・プログラム

Also Published As

Publication number Publication date
KR20100021358A (ko) 2010-02-24
CN102172009B (zh) 2015-05-20
EP2314059B1 (en) 2017-05-17
US20100042233A1 (en) 2010-02-18
JP5209790B2 (ja) 2013-06-12
CN102172009A (zh) 2011-08-31
WO2010019000A3 (en) 2010-06-03
EP2314059A4 (en) 2012-05-02
US8429309B2 (en) 2013-04-23
EP2314059A2 (en) 2011-04-27
WO2010019000A2 (en) 2010-02-18
JP2011530759A (ja) 2011-12-22

Similar Documents

Publication Publication Date Title
KR101613319B1 (ko) UPnP를 이용한 홈네트워크에서 입력을 제공하는 방법 및 시스템
KR100736090B1 (ko) 홈 네트워크에서 제 3의 장치의 이벤트를 처리하는 방법 및장치
US7962097B2 (en) Method and system for identifying device on universal plug and play network and playing content using the device
JP5916822B2 (ja) リモートユーザインターフェースサーバとリモートユーザインターフェースクライアントとの間のインターフェースのための装置及び方法
JP4531794B2 (ja) インターネットを通じてUPnPホームネットワークに接続されたデバイスを制御する方法及びそのためのシステム及び装置
US9158395B2 (en) Method and system for controlling other devices using a remote user interface
JP4337591B2 (ja) 情報処理装置、ネットワークシステムおよびネットワークシステムの制御方法
JP2013509030A (ja) インターネットtvシステムを制御するスマートフォン
EP2491679A1 (en) Transferring of a media session from a first local network-ue to a second local-network ue using an external network-connected ue
JP5565980B2 (ja) 遠隔ユーザインターフェースリストを提供する方法及び装置
JP2005516439A (ja) 有線ネットワークに接続されたデバイスの制御装置及び制御方法
US9405557B2 (en) Method and apparatus for providing a remote control user interface
US20070118625A1 (en) Upnp av device interworking method of upnp-based network system
EP2507936B1 (en) Method and apparatus for acquiring rui-based specialized control user interface
KR101698354B1 (ko) 홈 네트워크에서 멀티캐스트 메시지를 이용하여 복수 개의 원격 사용자 인터페이스 서버들을 제어하기 위한 장치 및 방법
JP5718454B2 (ja) ホームネットワークに含まれる機器の機能を制御する方法
KR20100099672A (ko) 원격 접속 서비스 시 네트워크의 정보 공개를 제한하기 위한 방법 및 장치

Legal Events

Date Code Title Description
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: 20190328

Year of fee payment: 4