KR100739755B1 - UPnP 이벤트에 관한 정보를 효율적으로 송수신하는방법 및 장치 - Google Patents

UPnP 이벤트에 관한 정보를 효율적으로 송수신하는방법 및 장치 Download PDF

Info

Publication number
KR100739755B1
KR100739755B1 KR20050107000A KR20050107000A KR100739755B1 KR 100739755 B1 KR100739755 B1 KR 100739755B1 KR 20050107000 A KR20050107000 A KR 20050107000A KR 20050107000 A KR20050107000 A KR 20050107000A KR 100739755 B1 KR100739755 B1 KR 100739755B1
Authority
KR
South Korea
Prior art keywords
event
state
request
message
extended
Prior art date
Application number
KR20050107000A
Other languages
English (en)
Other versions
KR20070049815A (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 KR20050107000A priority Critical patent/KR100739755B1/ko
Priority to JP2006303248A priority patent/JP2007133881A/ja
Priority to CN2006101470067A priority patent/CN1968150B/zh
Priority to US11/594,748 priority patent/US8054831B2/en
Publication of KR20070049815A publication Critical patent/KR20070049815A/ko
Application granted granted Critical
Publication of KR100739755B1 publication Critical patent/KR100739755B1/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/2823Reporting information sensed by appliance or service execution status of appliance services in a home automation network
    • H04L12/2827Reporting to a device within the home network; wherein the reception of the information reported automatically triggers the execution of a home appliance functionality
    • 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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • 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/22Parsing or analysis of headers
    • 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/285Generic home appliances, e.g. refrigerators

Abstract

본 발명은 UPnP 이벤트에 관한 정보를 효율적으로 송수신하는 방법 및 장치에 관한 것으로, 본 발명에 따른 이벤트 정보 수신 방법은 서비스의 상태 변화들 중 적어도 하나 이상의 상태 변화가 발생하였음을 알리는 이벤트에 대하여 일부 상태 변화의 발생만을 알려 줄 것을 요청하고, 이것에 대한 응답으로부터 일부 상태 변화의 발생에 관한 정보를 수신함으로서 제어 포인트는 자신에게 반드시 필요한 상태 변수만을 포함하는 이벤트 메시지를 수신하게 된다.

Description

UPnP 이벤트에 관한 정보를 효율적으로 송수신하는 방법 및 장치 {Method and apparatus for transmitting and receiving a information for UPnP event}
도 1은 UPnP 네트워킹의 구성 단계들을 도시한 도면이다.
도 2는 종래의 UPnP 이벤팅 과정을 도시한 도면이다.
도 3은 본 발명의 바람직한 일 실시예에 따른 확장 이벤트 가입 요청 메시지 및 확장 이벤트 가입 응답 메시지의 포맷을 도시한 도면이다.
도 4는 본 발명의 바람직한 일 실시예에 따른 확장 이벤트 가입 갱신 메시지의 포맷을 도시한 도면이다.
도 5는 본 발명의 바람직한 일 실시예에 따른 제어 포인트 및 디바이스의 구성도이다.
도 6은 본 발명의 바람직한 일 실시예에 따른 상태 추출부의 구체적인 구조를 도시한 도면이다.
도 7은 본 발명의 바람직한 일 실시예에 따른 확장 이벤트 가입 요청 방법의 흐름도이다.
도 8은 본 발명의 바람직한 일 실시예에 따른 확장 이벤트 가입 요청 처리 방법의 흐름도이다.
도 9는 본 발명의 바람직한 일 실시예에 따른 제어 포인트에서의 확장 이벤트 가입 갱신 방법의 흐름도이다.
도 10은 본 발명의 바람직한 일 실시예에 따른 디바이스에서의 확장 이벤트 가입 갱신 방법의 흐름도이다.
도 11은 본 발명의 바람직한 일 실시예에 따른 이벤트 메시지 수신 방법의 흐름도이다.
도 12는 본 발명의 바람직한 일 실시예에 따른 이벤트 메시지 전송 방법의 흐름도이다.
본 발명은 UPnP(Universal Plug and Play)에 관한 것으로, 특히 UPnP 이벤트에 관한 정보를 효율적으로 송수신하는 방법 및 장치에 관한 것이다.
현재, 플러그 앤 플레이(Plug and Play) 기능을 사용하여 PC(Personal Computer)가 주변 장치를 자동으로 인식할 수 있도록 하고 있다. 이에 따라, 사용자의 입장에서 주변 장치의 설치가 매우 용이해졌다. UPnP는 이러한 기능을 네트워크 전체에 확장시킨 기술로서 PC(Personal Computer), 주변 장치, 가전 제품 등과 같은 장치들이 네트워크에 접속되었을 때, 서로를 자동으로 인식할 수 있도록 해준다. UPnP는 네트워크 장치를 다음과 같이 크게 두 가지로 분류한다. 어떤 서비스를 제공하는 장치를 피제어 디바이스(CD, Controlled Device), 단순히 디바이스라고 하며, 이러한 서비스를 이용하기 위하여 디바이스를 제어하는 제어 포인트(CP, Control Point)가 있다.
도 1은 UPnP 네트워킹의 구성 단계들을 도시한 도면이다.
도 1을 참조하면, UPnP 네트워킹은 주소 지정(addressing) 단계(11), 발견(discovery) 단계(12), 설명(description) 단계(13), 제어(control) 단계(14), 이벤팅(eventing) 단계(15) 및 프리젠테이션(presentation) 단계(16)로 구성된다.
주소 지정 단계(11)에서는 자동 IP(Auto IP) 방식 또는 DHCP(Dynamic Host Configuration Protocol) 클라이언트 방식에 따라 UPnP 네트워크 장치, 즉 디바이스 및 제어 포인트의 IP 주소를 지정한다.
발견 단계(12)에서는 주소 지정 단계(11)에서 디바이스 및 제어 포인트가 IP 주소를 할당받았으면, SSDP(Simple Service Discovery Protocol)에 따라 제어 포인트는 네트워크 상에 존재하는 디바이스를 발견한다.
설명 단계(13)에서는 발견 단계(12)에서 제어 포인트가 네트워크 상에 존재하는 디바이스를 발견하였으면, 제어 포인트는 이 디바이스가 어떤 서비스를 제공하는지를 알아내기 위하여 디바이스(4)에 대한 설명을 획득한다.
제어 단계(14)에서는 설명 단계(13)에서 제어 포인트가 디바이스(4)에 대한 설명을 획득하였으면, SOAP(Simple Object Access Protocol)에 따라 이 디바이스(4)에 대한 설명을 참조하여 액션을 호출함으로서 디바이스(4)를 제어한다.
이벤팅 단계(15)에서는 GENA(Generic Event Notification Architecture)에 따라 디바이스(4)는 서비스의 상태 변화들 중 적어도 하나 이상의 상태 변화가 발 생하였음을 알리기 위하여 이벤트 메시지를 전송한다.
프리젠테이션 모듈(16)에서는 제어 포인트가 디바이스의 프리젠테이션 URL에 접속하여 디바이스의 프리젠테이션을 사용자에게 제공하며, 사용자는 디바이스의 프리젠테이션 URL(Uniform Resource Locator)을 통하여 디바이스를 제어하거나, 디바이스의 상태를 알 수 있다.
도 2는 종래의 UPnP 이벤팅 과정을 도시한 도면이다.
도 2를 참조하면, 종래의 UPnP 이벤팅 과정은 다음과 같은 단계들로 구성된다.
먼저, 제어 포인트(1)는 디바이스(2)가 제공하는 서비스의 상태 변화들을 알기 원하는 경우에 이 서비스의 상태 변화들을 알리는 이벤트에 대한 가입을 요청하는 이벤트 가입 요청(event subscription request) 메시지를 전송한다. 이어서, 디바이스(2)는 이벤트 가입 요청 메시지를 수신하면, 제어 포인트(1)의 이벤트 가입이 성공하였음을 나타내는 이벤트 가입 응답(event subscription response) 메시지를 전송한다.
이어서, 디바이스(2)는 서비스의 상태들을 나타내는 상태 변수들의 현재 값을 포함하는 최초(initial) 이벤트 메시지를 전송한다. 이어서, 디바이스(2)는 서비스의 상태 변화로 인하여 이벤트가 발생하면, 이 이벤트에 가입한 제어 포인트로 서비스의 상태들을 나타내는 상태 변수들의 현재 값을 포함하는 이벤트 메시지를 전송한다.
상기된 바와 같이, 종래에는 디바이스(2)가 제공하는 서비스의 상태들 중 어 느 하나의 상태가 변화하면, 디바이스(2)는 서비스 단위로 이벤트를 전송한다. 이에 따라, 제어 포인트는 서비스의 상태 변화들을 알리는 이벤트에 가입한 모든 제어 포인트는 서비스의 상태들 모두에 관한 정보, 즉 모든 상태 변수들의 현재 값을 포함하는 이벤트 메시지를 수신하게 된다.
즉, 제어 포인트는 자신에게 필요 없는 상태 변수를 포함하는 이벤트 메시지를 수신하게 되고, 그 결과 이벤트 메시지 또는 특정 상태 변수를 필터링하여 버린다. 이것은 네트워크의 트래픽(traffic)을 증가시키고, 제어 포인트의 로드를 가중시키는 요인으로 작용한다는 문제점이 있었다. 특히, 네트워크의 대역폭이 협소한 홈 네트워크 환경이나, 하드웨어 성능이 낮은 제어 포인트의 경우에 이러한 문제점은 더욱 심각해진다.
본 발명이 이루고자 하는 기술적 과제는 UPnP를 따르는 장치의 특성을 고려하여 보다 효율적으로 UPnP 이벤트에 관한 정보를 송수신할 수 있게 하는 방법 및 장치를 제공하는데 있다. 또한, 상기된 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공하는데 있다.
상기 기술적 과제를 해결하기 위한 본 발명에 따른 이벤트 정보 수신 방법은 서비스의 상태 변화들 중 적어도 하나 이상의 상태 변화가 발생하였음을 알리는 이벤트에 대하여 상기 상태 변화들 중 일부 상태 변화의 발생만을 알려 줄 것을 요청하는 단계; 및 상기 요청에 대한 응답으로부터 상기 일부 상태 변화의 발생에 관한 정보를 수신하는 단계를 포함한다.
상기 다른 기술적 과제를 해결하기 위한 본 발명에 따른 이벤트 정보 수신 장치는 서비스의 상태 변화들 중 적어도 하나 이상의 상태 변화가 발생하였음을 알리는 이벤트에 대하여 상기 상태 변화들 중 일부 상태 변화의 발생만을 알려 줄 것을 요청하는 요청부; 및 상기 요청부에서의 요청에 대한 응답으로부터 상기 일부 상태 변화의 발생에 관한 정보를 수신하는 이벤팅 모듈을 포함한다.
상기 또 다른 기술적 과제를 해결하기 위하여, 본 발명은 상기된 이벤트 정보 수신 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공한다.
상기 또 다른 기술적 과제를 해결하기 위한 본 발명에 따른 이벤트 정보 전송 방법은 서비스의 상태 변화들 중 적어도 하나 이상의 상태 변화가 발생하였음을 알리는 이벤트에 대한 요청으로서 상기 상태 변화들 중 일부 상태 변화의 발생만을 알려 달라는 요청을 검출하는 단계; 및 상기 검출된 요청에 대한 응답으로서 상기 일부 상태 변화의 발생에 관한 정보를 전송하는 단계를 포함하는 것을 특징으로 하는
상기 또 다른 기술적 과제를 해결하기 위한 본 발명에 따른 이벤트 정보 전송 장치는 서비스의 상태 변화들 중 적어도 하나 이상의 상태 변화가 발생하였음을 알리는 이벤트에 대한 요청으로서 상기 상태 변화들 중 일부 상태 변화의 발생만을 알려 달라는 요청을 검출하는 검출부; 및 상기 검출부에 의해 검출된 요청에 대한 응답으로서 상기 일부 상태 변화의 발생에 관한 정보를 전송하는 이벤팅 모듈을 포 함한다.
상기 또 다른 기술적 과제를 해결하기 위하여, 본 발명은 상기된 이벤트 정보 전송 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공한다.
이하에서는 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다.
UPnP가 적용되는 네트워크는 대부분 홈 네트워크임을 고려할 때, UPnP를 따르는 장치는 매우 다양할 수밖에 없다. 따라서, UPnP를 따르는 장치의 특성, 즉 장치에서 수행되는 어플리케이션의 특성, 장치의 하드웨어 성능 등을 고려하여 디바이스가 제공하는 서비스의 상태 변화들 중 일부의 상태 변화의 발생에 관한 정보만을 수신하는 것이 보다 효율적이다.
예를 들면, 제어 포인트가 서비스의 상태들을 나타내는 상태 변수들 중 일부 상태 변수만을 요구하는 어플리케이션을 수행 중인 경우, 제어 포인트는 디바이스로부터 상기된 일부 상태 변수의 현재 값만을 수신하면 된다. 또한, 제어 포인트의 하드웨어 성능이 낮은 경우, 제어 포인트가 디바이스로부터 자주 이벤트 메시지를 수신하는 것은 제어 포인트에 큰 로드로 작용한다. 이 경우, 제어 포인트가 서비스의 상태 변화가 소정 수준 이상인 경우에만 이 상태를 나타내는 상태 변수의 현재 값을 수신하도록 하면 된다.
따라서, 본 실시예에서는 이벤트 메시지가 디바이스에 의해 일방적으로 전송되고, 서비스 단위로 전송되는 종래의 방식을 탈피하여, 디바이스가 제어 포인트의 특성을 고려하여 서비스의 상태 변화들 중 일부 상태 변화의 발생에 관한 정보만을 제공할 수 있는 확장 모드(extended mode)를 제안한다.
도 3은 본 발명의 바람직한 일 실시예에 따른 확장 이벤트 가입 요청 메시지 및 확장 이벤트 가입 응답 메시지의 포맷을 도시한 도면이다.
도 3을 참조하면, 제어 포인트(3)는 UPnP 이벤트 가입 요청 메시지에 본 실시예에 따른 확장 헤더인 EXSUBREQ 헤더가 삽입된 형태로 구성된 확장 이벤트 가입 요청 메시지를 전송한다. 이 확장 헤더에는 상태 변수의 아이디가 기록되고, 상태 변수의 소정 수준(level)을 나타내는 값이 기록된다.
제어 포인트(3)는 이와 같은 확장 헤더를 UPnP 이벤트 가입 요청 메시지에 삽입함으로서 서비스의 상태 변화들 중 일부 상태의 변화의 발생만을 알려줄 것을 디바이스(4)에 요청할 수 있다. 보다 상세하게 설명하면, 제어 포인트(3)는 일부 상태 변수의 아이디가 기록된 확장 헤더를 UPnP 이벤트 가입 요청 메시지에 삽입함으로서 일부 상태 변수의 값이 변화된 경우에만 이 일부 상태 변수 현재 값을 알려줄 것을 요청할 수 있다. 또한, 제어 포인트(3)는 적어도 하나 이상의 상태 변화의 소정 수준을 나타내는 값이 기록된 확장 헤더를 UPnP 이벤트 가입 요청 메시지에 삽입함으로서 디바이스(4)가 제공하는 서비스의 상태들을 나타내는 상태 변수들 중 적어도 하나 이상의 상태 변수의 값의 변화가 소정 수준 이상인 경우에만 이 상태 변수의 현재 값을 알려줄 것을 요청할 수 있다. 또한, 제어 포인트(3)는 일부 상태 변수의 아이디 및 이 일부 상태 변수의 소정 수준을 나타내는 값이 기록된 확장 헤더를 UPnP 이벤트 가입 요청 메시지에 삽입함으로서 디바이스(4)가 제공하는 서비 스의 상태들을 나타내는 상태 변수들 중 일부 상태 변수의 값의 변화가 소정 수준 이상인 경우에만 이 일부 상태 변화 값만을 알려줄 것을 요청할 수 있다.
예를 들어, 도 3에 도시된 확장 이벤트 가입 요청 메시지의 확장 헤더의 아이디 필드에는 상태 변수의 아이디 Var1이 기록되어 있고, 수준 필드에는 상태 변수 Var1의 소정 수준을 나타내는 값 Lev1이 기록되어 있다. 이 확장 이벤트 가입 요청 메시지를 수신한 디바이스(4)는 서비스의 상태들을 나타내는 상태 변수들 중 상태 변수 Var1의 값의 변화가 Lev1 이상인 경우에만 디바이스(4)는 상태 변수 Var1의 현재 값만을 알려줄 것을 요청할 수 있다. 만약, Lev1이 기록된 수준 필드가 존재하지 않는다면, 이것은 상태 변수 Var1의 값이 변할 때마다 알려줄 것을 요청하는 것을 의미한다.
여기에서, 소정 수준을 나타내는 값 Lev1은 상태 변수의 크기를 나타내는 값이 될 수도 있고, 상태 변수의 변화 횟수를 나타내는 값이 될 수도 있다. 예를 들면, Lev1이 3이라면, 이것의 상태 변수의 변화 값 크기가 3이상인 경우에만 상태 변수 Var1의 현재 값만을 알려줄 것을 요청하는 것을 의미할 수도 있고, 이것의 상태 변수의 변화 횟수가 3 이상인 경우에만 상태 변수 Var1의 현재 값만을 알려줄 것을 요청하는 것을 의미할 수도 있다. 이것은 상태 변수의 특성이나, 제어 포인트(3)와 디바이스(4) 간의 사전 약속에 의하여 어느 하나로 특정될 수 있다.
확장 이벤트 가입 요청 메시지를 수신한 디바이스(4)는 UPnP 이벤트 가입 응답 메시지에 본 실시예에 따른 확장 헤더인 EXSUBRES 헤더가 삽입된 형태로 구성된 확장 이벤트 가입 응답 메시지를 전송한다. 이 확장 헤더에는 확장 이벤트 가입 요 청의 처리가 가능함을 나타내는 성공 표시 또는 확장 이벤트 가입 요청의 처리가 불가능함을 나타내는 실패 표시가 기록된다. 디바이스(4)가 확장 모드를 지원하지 않는 경우에는 성공 표시가 기록된 확장 헤더를 포함하는 확장 이벤트 가입 응답 메시지를 전송하고, 확장 모드를 지원하는 경우에는 실패 표시가 기록된 확장 헤더를 포함하는 확장 이벤트 가입 응답 메시지를 전송한다. 나아가, 확장 이벤트 가입 응답 메시지의 확장 헤더에 상태 변수마다의 성공 또는 실패 여부를 나타내는 값을 기록할 수도 있다.
이후, 디바이스(4)는 상기된 과정을 거쳐 본 실시예에 따른 확장 이벤트에 가입한 제어 포인트(3)로 디바이스(4)가 제공하는 서비스의 상태 변화들 중 일부 상태의 변화가 발생한 경우에만 이벤트 메시지를 전송한다. 이에 따라, 제어 포인트가 자신에게 반드시 필요한 상태 변수만을 포함하는 이벤트 메시지를 수신하게 되며, 그 결과 필요 없는 상태 변수를 포함하는 이벤트 메시지를 수신하고, 이러한 이벤트 메시지 또는 특정 상태 변수를 필터링하여 버리는 과정이 제거되게 된다.
도 4는 본 발명의 바람직한 일 실시예에 따른 확장 이벤트 가입 갱신 메시지의 포맷을 도시한 도면이다.
도 4를 참조하면, 제어 포인트(3)는 UPnP 이벤트 가입 갱신 메시지에 본 실시예에 따른 확장 헤더인 ADD 헤더, DELETE 헤더가 삽입된 형태로 구성된 확장 이벤트 가입 요청 메시지를 전송한다. 이 확장 헤더에는 기존의 확장 헤더에 기록된 아이디가 아닌 새로운 아이디를 추가하거나, 기존의 확장 헤더에 기록된 아이디를 삭제할 것을 지시하는 내용이 기록된다. 즉, ADD 헤더는 추가되는 새로운 아이디가 기록되고, DELETE 헤더에는 삭제되는 기존의 아이디가 기록된다.
제어 포인트(3)는 이벤트 가입 상태를 유지하기 위하여 이벤트 가입 갱신 메시지를 주기적으로 전송해야 한다. 본 실시예에 따르면, 제어 포인트(3)는 이와 같은 확장 헤더를 UPnP 이벤트 가입 갱신 메시지에 삽입함으로서 일부 상태 변수의 갱신을 요청할 수 있다. 즉, 이벤트 가입 갱신 과정이 서비스 단위가 아닌 상태 변수 단위로 수행된다.
예를 들어, 도 3에 도시된 확장 이벤트 가입 갱신 메시지의 ADD 헤더에는 상태 변수의 아이디 Var2가 기록되어 있고, 이 상태 변수의 소정 수준을 나타내는 값 Lev1이 기록되어 있다. 또한, DELETE 헤더에는 Var2가 기록되어 있다. 이에 따라, 이 확장 이벤트 가입 갱신 메시지를 수신한 디바이스(4)는 상태 변수 Var1의 값이 변화된 경우에는 이를 무시하고, 상태 변수 Var2의 값의 변화가 Lev2 이상인 경우에만 디바이스(4)는 상태 변수 Var2의 현재 값을 포함하는 이벤트 메시지를 전송한다.
도 3 및 도 4에 도시된 확장 헤더는 HTTP 확장 헤더이기 때문에 기존의 UPnP이벤팅 방식을 따르는 디바이스가 상기된 확장 이벤트 가입 요청 메시지, 확장 이벤트 가입 갱신 메시지를 수신하면, 이 확장 헤더는 무시되게 된다. 이에 따라, 확장 이벤트 가입 요청 메시지, 확장 이벤트 가입 갱신 메시지는 UPnP 확장 이벤트 가입 요청 메시지, UPnP 확장 이벤트 가입 갱신 메시지로 처리되게 된다. 즉, 본 실시예에는 어떠한 호환성의 문제없이 기존의 UPnP 이벤팅 방식들과 병행하여 적용될 수 있다.
도 5는 본 발명의 바람직한 일 실시예에 따른 제어 포인트(3) 및 디바이스(4)의 구성도이다.
도 5를 참조하면, 본 실시예에 따른 제어 포인트(3)는 주소 지정 모듈(31), 발견 모듈(32), 설명 모듈(33), 제어 모듈(34), 이벤팅 모듈(35), 프리젠테이션 모듈(36), 상태 변화 선정부(351), 확장 이벤트 가입 요청부(352), 확장 이벤트 가입 갱신부(353), 확장 이벤트 가입 응답 검출부(354) 및 확장 이벤트 가입 응답 처리부(355)로 구성된다.
주소 지정 모듈(31)은 UPnP의 주소 지정(addressing) 단계를 수행한다. 보다 상세하게 설명하면, 주소 지정 모듈(31)은 자동 IP(Auto IP) 방식 또는 DHCP(Dynamic Host Configuration Protocol) 클라이언트 방식에 따라 제어 포인트(3)의 IP 주소를 지정한다. 발견 모듈(32), 설명 모듈(33), 제어 모듈(34), 이벤팅 모듈(35), 프리젠테이션 모듈(36)은 주소 지정 모듈(31)에 의해 지정된 IP 주소를 사용하여 제어 포인트(3)와 통신을 한다.
발견 모듈(32)은 UPnP의 발견(discovery) 단계를 수행한다. 보다 상세하게 설명하면, 발견 모듈(32)은 SSDP(Simple Service Discovery Protocol)에 따라 디바이스(4)로부터 전송된 광고(advertise) 메시지로부터 디바이스(4)가 네트워크에 접속하였음을 인식한다.
설명 모듈(33)은 UPnP의 설명(description) 단계를 수행한다. 보다 상세하게 설명하면, 설명 모듈(33)은 발견 모듈(32)에서의 UPnP 발견 단계 수행에 의해 인식된 디바이스(4)로부터 디바이스(4)에 대한 설명을 획득한다. 디바이스(4)에 대한 설명에는 디바이스(4)의 제품 정보, 제조사 정보, 디바이스(4)가 제공하는 서비스의 목록, 디바이스(4)의 프리젠테이션 URL 등이 포함되어 있다.
제어 모듈(34)은 UPnP의 제어(control) 단계를 수행한다. 보다 상세하게 설명하면, 제어 모듈(44)은 SOAP(Simple Object Access Protocol)에 따라 설명 모듈(43)에서의 UPnP 설명 단계 수행에 의해 획득된 디바이스(4)에 대한 설명을 참조하여 액션을 호출함으로서 디바이스(4)를 제어한다.
이벤팅 모듈(35)은 UPnP의 이벤트(event) 단계를 수행한다. 보다 상세하게 설명하면, 이벤팅 모듈(35)은 GENA(Generic Event Notification Architecture)에 따라 설명 모듈(43)에서의 UPnP 설명 단계 수행에 의해 획득된 디바이스(4)에 대한 설명, 특히 디바이스(4)가 제공하는 서비스의 목록을 참조하여 디바이스(4)가 제공하는 서비스의 상태 변화들 중 적어도 하나 이상의 상태 변화가 발생하였음을 알리는 이벤트에 대한 UPnP 이벤트 가입 요청 메시지를 생성하여 전송하고, 이것에 대한 응답에 해당하는 UPnP 이벤트 가입 응답 메시지를 수신한다. 이와 같은 UPnP 이벤트 가입 과정 이후, 이것에 대한 응답에 해당하는 이벤트 메시지를 수신한다. 이벤트 메시지는 디바이스(4)가 제공하는 서비스의 상태들에 관한 정보를 포함하고 있다. 또한, 이벤팅 모듈(35)은 이와 같은 이벤트 메시지를 계속적으로 수신하기 위해서는 디바이스(4)로 이벤트 가입 갱신 메시지를 주기적으로 전송해야 한다.
프리젠테이션 모듈(36)은 UPnP의 프리젠테이션(presentation) 단계를 수행한다. 보다 상세하게 설명하면, 프리젠테이션 모듈(36)은 설명 모듈(43)에서의 UPnP 설명 단계 수행에 의해 획득된 디바이스(4)에 대한 설명, 특히 디바이스(4)의 프리 젠테이션 URL에 접속하여 디바이스(4)의 프리젠테이션을 수신하고, 이것을 사용자에게 제공한다. 사용자는 디바이스(4)의 프리젠테이션 URL을 통하여 디바이스(4)를 제어하거나, 디바이스(4)의 상태를 알 수 있다.
상태 변화 선정부(351)는 디바이스(4)가 제공하는 서비스의 상태 변화들 중 일부 상태 변화를 선정한다. 보다 상세하게 설명하면, 상태 변화 선정부(351)는 프리젠테이션 모듈(36)에 의해 제공된 디바이스(4)의 프리젠테이션을 인지한 사용자의 지시에 따라, 아니면 제어 포인트(3)가 디바이스(4)가 제공하는 서비스의 상태들 중 어떤 상태를 필요로 하는 지를 결정하는 소정 알고리즘에 따라 디바이스(4)가 제공하는 서비스의 상태들을 나타내는 상태 변수들 중 일부 상태 변수를 선정한다.
또한, 상태 변화 선정부(351)는 프리젠테이션 모듈(36)에 의해 제공된 디바이스(4)의 프리젠테이션을 인지한 사용자의 지시에 따라, 아니면 제어 포인트(3)가 디바이스(4)가 제공하는 서비스의 상태들 중 어떤 상태를 필요로 하는 지를 결정하는 소정 알고리즘에 따라 이 서비스의 상태 변화들 중 적어도 하나 이상의 상태 변화의 소정 수준을 선정한다.
상기된 두 가지 선정 방식을 결합하여 다음과 같은 방식으로 일부 상태가 선정될 수 있다. 즉, 상태 변화 선정부(351)는 프리젠테이션 모듈(36)에 의해 제공된 디바이스(4)의 프리젠테이션을 인지한 사용자의 지시에 따라, 아니면 제어 포인트(3)가 디바이스(4)가 제공하는 서비스의 상태들 중 어떤 상태를 필요로 하는 지를 결정하는 소정 알고리즘에 따라 서비스의 상태들을 나타내는 상태 변수들 중 일부 상태 변수를 선정하고, 이 일부 상태 변수의 소정 수준을 선정한다.
또한, 상태 변화 선정부(351)는 디바이스(4)에 대한 확장 이벤트 가입 갱신을 위하여 디바이스(4)가 제공하는 서비스의 상태 변화들 중 일부 상태 변화를 다시 선정할 수도 있다.
확장 이벤트 가입 요청부(352)는 디바이스(4)가 제공하는 서비스의 상태 변화들 중 적어도 하나 이상의 상태 변화가 발생하였음을 알리는 이벤트에 대하여 상태 변화들 중 일부 상태 변화의 발생만을 알려 줄 것을 요청한다. 보다 상세하게 설명하면, 확장 이벤트 가입 요청부(352)는 상태 변화 선정부(351)에 의해 선정된 일부 상태 변수의 아이디가 기록된 확장 헤더를 생성하고, 이것을 UPnP 이벤트 가입 요청(event subscription request) 메시지에 삽입함으로서 상태 변수 선정부(351)에 의해 선정된 일부 상태 변수의 값이 변화된 경우에만 이 일부 상태 변수 현재 값을 알려줄 것을 요청한다.
또한, 확장 이벤트 가입 요청부(352)는 상태 변화 선정부(351)에 의해 선정된 적어도 하나 이상의 상태 변화의 소정 수준을 나타내는 값이 기록된 확장 헤더를 생성하고, 이것을 UPnP 이벤트 가입 요청 메시지에 삽입함으로서 디바이스(4)가 제공하는 서비스의 상태들을 나타내는 상태 변수들 중 적어도 하나 이상의 상태 변수의 값의 변화가 소정 수준 이상인 경우에만 이 상태 변수의 현재 값을 알려줄 것을 요청한다.
또한, 확장 이벤트 가입 요청부(352)는 상태 변화 선정부(351)에 의해 선정된 일부 상태 변수의 아이디 및 이 일부 상태 변수의 소정 수준을 나타내는 값이 기록된 확장 헤더를 생성하고, 이것을 UPnP 이벤트 가입 요청 메시지에 삽입함으로서 디바이스(4)가 제공하는 서비스의 상태들을 나타내는 상태 변수들 중 일부 상태 변수의 값의 변화가 소정 수준 이상인 경우에만 이 일부 상태 변화 값만을 알려줄 것을 요청한다.
확장 이벤트 가입 갱신부(353)는 상태 변화 선정부(351)에서의 선정 결과에 기초하여 UPnP 이벤트 가입 갱신(event subscription renewal) 메시지에 기존의 확장 헤더에 기록된 아이디가 아닌 새로운 아이디를 추가하거나, 기존의 확장 헤더에 기록된 아이디를 삭제할 것을 지시하는 확장 헤더를 생성하여 삽입함으로서 일부 상태 변수의 갱신을 요청한다. 또한, 확장 이벤트 가입 갱신부(353)는 상태 변화 선정부(351)에서의 선정 결과에 기초하여 UPnP 이벤트 가입 갱신 메시지에 기존의 확장 헤더에 기록된 소정 수준을 나타내는 값을 변경할 것을 지시하는 확장 헤더를 생성하여 삽입함으로서 소정 수준의 변경을 요청한다. 또한, 확장 이벤트 가입 갱신부(353)는 상태 변화 선정부(351)에서의 선정 결과에 기초하여 일부 상태 변수의 갱신 및 소정 수준의 변경을 동시에 요청할 수도 있다. 여기에서, 기존의 확장 헤더는 확장 이벤트 가입 요청 메시지의 확장 헤더 또는 이미 디바이스(4)로 전송된 확장 이벤트 가입 갱신 메시지의 확장 헤더를 말한다.
확장 이벤트 가입 응답 검출부(354)는 디바이스(4)로부터 확장 이벤트 가입 요청부(351)에서의 요청의 처리가 불가능함을 나타내거나, 요청의 처리가 가능함을 나타내는 확장 이벤트 가입 응답을 검출한다. 보다 상세하게 설명하면, 확장 이벤트 가입 응답 검출부(354)는 이벤팅 모듈(354)에 수신된 이벤트 가입 응답 메시지 를 파싱하고, 그 결과 확장 이벤트 가입 응답 메시지임을 확인함으로서 확장 이벤트 가입 응답을 검출한다.
특히, 확장 이벤트 가입 응답 검출부(354)는 확장 이벤트 가입 응답 메시지의 확장 헤더로부터 확장 이벤트 가입 요청부(351)에서의 요청의 처리가 불가능함을 나타내는 실패 표시가 기록된 확장 헤더를 검출함으로서 디바이스(4)가 본 실시예에 따라 서비스의 상태 변화들 중 일부 상태 변화의 발생에 관한 정보를 수신하는 확장 모드를 지원하지 않는 것으로 판단한다. 또한, 확장 이벤트 가입 응답 검출부(354)는 확장 이벤트 가입 응답 메시지의 확장 헤더로부터 확장 이벤트 가입 요청부(351)에서의 요청의 처리가 가능함을 나타내는 성공 표시가 기록된 확장 헤더를 검출함으로서 디바이스(4)가 확장 모드를 지원하는 것으로 판단한다.
확장 이벤트 가입 응답 처리부(355)는 확장 이벤트 가입 응답 검출부(354)에 의해 디바이스(4)가 확장 모드를 지원하지 않는 것으로 판단된 경우에는 디바이스(4)에 대한 이벤트 모드를 기존 UPnP에 따라 서비스의 상태 변화들 모두에 관한 정보를 수신하는 기본 모드로 설정한다. 또한, 확장 이벤트 가입 응답 처리부(355)는 확장 이벤트 가입 응답 검출부(354)에 의해 디바이스(4)가 확장 모드를 지원하는 것으로 판단된 경우에는 디바이스(4)에 대한 이벤트 모드를 확장 모드로 설정한다.
이벤팅 모듈(35)은 확장 이벤트 가입 요청부(352)에 의해 삽입된 확장 헤더를 포함하는 확장 이벤트 가입 요청 메시지를 전송하고, 이것에 대한 응답에 해당하는 확장 이벤트 가입 응답 메시지를 수신한다. 또한, 이벤팅 모듈(35)은 확장 이 벤트 가입 갱신부(353)에 의해 삽입된 확장 헤더를 포함하는 확장 이벤트 가입 갱신 메시지를 전송하고, 이것에 대한 응답에 해당하는 UPnP 이벤트 가입 응답 메시지를 수신한다.
또한, 이벤팅 모듈(35)은 확장 이벤트 가입 응답 처리부(355)에 의해 디바이스(4)에 대한 이벤트 모드가 기본 모드로 설정되어 있는 경우에는 기존 UPnP에 따라 서비스의 상태 변화들 모두에 관한 정보를 포함하는 이벤트 메시지를 수신한다. 또한, 이벤팅 모듈(35)은 확장 이벤트 가입 응답 처리부(355)에 의해 디바이스(4)에 대한 이벤트 모드가 확장 모드로 설정되어 있는 경우에는 본 실시예에 따라 일부 상태 변화의 발생에 관한 정보를 포함하는 이벤트 메시지를 수신한다.
도 5를 참조하면, 본 실시예에 따른 디바이스(4)는 주소 지정 모듈(41), 발견 모듈(42), 설명 모듈(43), 제어 모듈(44), 이벤팅 모듈(45), 프리젠테이션 모듈(46), 확장 이벤트 가입 요청 검출부(451), 확장 이벤트 가입 갱신 검출부(452), 확장 이벤트 가입 응답부(453) 및 상태 변수 추출부(454)로 구성된다.
주소 지정 모듈(41)은 UPnP의 주소 지정 단계를 수행한다. 보다 상세하게 설명하면, 주소 지정 모듈(31)은 자동 IP 방식 또는 DHCP 클라이언트 방식에 따라 제어 포인트(3)의 IP 주소를 지정한다. 발견 모듈(42), 설명 모듈(43), 제어 모듈(44), 이벤팅 모듈(45), 프리젠테이션 모듈(46)은 주소 지정 모듈(41)에 의해 지정된 IP 주소를 사용하여 제어 포인트(3)와 통신을 한다.
발견 모듈(42)은 UPnP의 발견 단계를 수행한다. 보다 상세하게 설명하면, 발견 모듈(42)은 SSDP에 따라 디바이스(4)가 위치한 네트워크 상에 존재하는 제어 포 인트(3)로 디바이스(4)가 네트워크에 접속하였음을 알리는 광고 메시지를 전송한다.
설명 모듈(43)은 UPnP 설명 단계를 수행한다. 보다 상세하게 설명하면, 설명 모듈(43)은 디바이스(4)에 대한 설명을 발견 모듈(42)에서의 UPnP 발견 단계 수행에 의해 디바이스(4)를 발견한 제어 포인트(6)에 제공한다.
제어 모듈(44)은 UPnP 제어 단계를 수행한다. 보다 상세하게 설명하면, 제어 모듈(54)은 SOAP에 따라 설명 모듈(43)에서의 UPnP 설명 단계 수행에 의해 디바이스(4)에 대한 설명을 획득한 제어 포인트(6)로부터 액션 호출을 수신하고, 이 액션 호출에 해당하는 액션을 수행한다.
이벤팅 모듈(45)은 UPnP 이벤팅 단계를 수행한다. 보다 상세하게 설명하면, 이벤팅 모듈(45)은 GENA에 따라 설명 모듈(43)에서의 UPnP 설명 단계 수행에 의해 디바이스(4)에 대한 설명, 특히 디바이스(4)가 제공하는 서비스의 목록을 획득한 제어 포인트(44)로부터 UPnP 이벤트 가입 요청 메시지를 수신하고, 이것에 대한 응답으로 UPnP 이벤트 가입 응답 메시지를 생성하여 전송한다. 이와 같은 UPnP 이벤트 가입 과정 이후, 이벤팅 모듈(45)은 디바이스(4)가 제공하는 서비스의 상태들에 관한 정보를 포함하는 이벤트 메시지를 전송한다. 이벤트 메시지 중 첫 번째 이벤트 메시지를 최초(initial) 이벤트 메시지라고 한다.
또한, 이벤팅 모듈(45)은 UPnP 이벤트 가입 갱신 메시지를 주기적으로 전송한 제어 포인트에 대해서만 이벤트 메시지를 전송한다. 즉, 이벤팅 모듈(45)은 UPnP 이벤트 가입 갱신 메시지를 수신하면, 이벤트 가입 갱신 시간을 초기화한다. 또한, 이벤팅 모듈(45)은 UPnP 이벤트 가입 갱신 메시지를 수신하지 못한 상태에서 만약 이벤트 가입 갱신 시간이 임계값을 초과하면 이 UPnP 이벤트 가입 갱신 메시지에 대한 전송 의무가 있는 제어 포인트로는 이벤트 메시지를 전송하지 않는다. 또한, 이벤팅 모듈(45)은 UPnP 이벤트 가입 갱신 메시지를 수신하면, 이것에 대한 응답 메시지를 전송한다.
이와 같은 이벤트 메시지를 계속적으로 수신하기 위해서는 디바이스(4)로 이벤트 가입 갱신 메시지를 주기적으로 전송해야 한다.
특히, 본 실시예에 따르면, 이벤팅 모듈(45)은 제어 포인트(3)로부터 확장 이벤트 가입 요청 메시지를 수신한다. 또한, 이벤팅 모듈(35)은 제어 포인트(3)로부터 확장 이벤트 가입 갱신 메시지를 수신한다.
프리젠테이션 모듈(46)은 UPnP의 프리젠테이션 단계를 수행한다. 보다 상세하게 설명하면, 프리젠테이션 모듈(46)은 설명 모듈(43)에서의 UPnP 설명 단계 수행에 의해 디바이스(4)에 대한 설명, 특히 디바이스(4)의 프리젠테이션 URL를 획득한 제어 포인트(44)에 의한 프리젠테이션 URL 접속에 따라 디바이스(4)의 프리젠테이션을 전송한다.
확장 이벤트 가입 요청 검출부(451)는 디바이스(4)가 제공하는 서비스의 상태 변화들 중 적어도 하나 이상의 상태 변화가 발생하였음을 알리는 이벤트에 대한 요청으로서 서비스의 상태 변화들 중 일부 상태 변화의 발생만을 알려 달라는 확장 이벤트 가입 요청을 검출한다. 보다 상세하게 설명하면, 확장 이벤트 가입 요청 검출부(451)는 이벤팅 모듈(45)에 수신된 이벤트 가입 요청 메시지를 파싱하고, 그 결과 확장 이벤트 가입 요청 메시지임을 확인함으로서 서비스의 상태 변화들 중 일부 상태 변화의 발생만을 알려 달라는 확장 이벤트 가입 요청을 검출한다.
특히, 확장 이벤트 가입 요청 검출부(451)는 확장 이벤트 가입 요청 메시지의 확장 헤더로부터 일부 상태 변수의 아이디를 검출함으로서 디바이스(4)가 제공하는 서비스의 상태들을 나타내는 상태 변수들 중 일부 상태 변수의 값이 변화된 경우에만 이 일부 상태 변수의 현재 값을 알려 달라는 확장 이벤트 가입 요청을 검출한다. 또한, 확장 이벤트 가입 요청 검출부(451)는 확장 이벤트 가입 요청 메시지의 확장 헤더로부터 적어도 하나 이상이 상태 변화의 소정 수준을 나타내는 값을 검출함으로서 디바이스(4)가 제공하는 서비스의 상태들을 나타내는 상태 변수들 중 적어도 하나 이상의 상태 변수의 값의 변화가 소정 수준 이상인 경우에만 이 상태 변수의 현재 값을 알려 달라는 확장 이벤트 가입 요청을 검출한다. 또한, 확장 이벤트 가입 요청 검출부(451)는 확장 이벤트 가입 요청 메시지의 확장 헤더로부터 일부 상태 변수의 아이디 및 이 일부 상태 변수의 소정 수준을 나타내는 값을 검출함으로서 디바이스(4)가 제공하는 서비스의 상태들을 나타내는 상태 변수들 중 일부 상태 변수의 값의 변화가 소정 수준 이상인 경우에만 이 일부 상태 변화 값만을 알려 달라는 확장 이벤트 가입 요청을 검출한다.
확장 이벤트 가입 갱신 검출부(452)는 이벤팅 모듈(45)에 수신된 이벤트 가입 요청 메시지를 파싱하고, 그 결과 확장 이벤트 가입 갱신 메시지임을 확인한 경우에는 이 확장 이벤트 가입 갱신 메시지의 확장 헤더로부터 기존의 확장 헤더에 기록된 아이디가 아닌 새로운 아이디가 추가되었음을 확인하거나, 기존의 확장 헤 더에 기록된 아이디가 삭제되었음을 확인함으로서 일부 상태 변수의 갱신에 대한 요청을 검출한다. 또한, 확장 이벤트 가입 갱신 검출부(452)는 확장 이벤트 가입 갱신 메시지의 확장 헤더로부터 기존의 확장 헤더에 기록된 소정 수준을 나타내는 값의 변경을 확인함으로서 소정 수준의 갱신에 대한 요청을 검출한다.
확장 이벤트 가입 응답부(453)는 디바이스(4)가 서비스의 상태 변화들 중 일부 상태 변화의 발생에 관한 정보를 전송하는 확장 모드를 지원하지 않는 기본 모드인 경우에는 확장 이벤트 가입 요청 검출부(451)에 의해 검출된 요청의 처리가 불가능함을 나타내는 실패 표시가 기록된 확장 헤더를 생성하고, 이것을 UPnP 이벤트 가입 응답 메시지를 삽입한다. 또한, 확장 이벤트 가입 응답부(453)는 이러한 확장 모드를 지원하는 경우에는 확장 이벤트 가입 요청 검출부(451)에 의해 검출된 요청의 처리가 가능함을 나타내는 성공 표시가 기록된 확장 헤더를 생성하고, 이것을 UPnP 이벤트 가입 응답 메시지를 삽입한다.
상태 추출부(454)는 확장 이벤트 가입 요청 검출부(451) 또는 확장 이벤트 가입 갱신 검출부(452)에 의해 검출된 요청을 참조하여 서비스의 상태 변화들 중 적어도 하나 이상의 상태 변화가 발생한 경우에 이 상태 변화의 발생을 알려 달라고 요청한 제어 포인트에 대한 정보를 갱신하고, 이와 같이 갱신된 정보에 기초하여 제어 포인트로 전송할 일부 상태 변화의 발생에 관한 정보를 추출한다.
보다 상세하게 설명하면, 상태 추출부(454)는 확장 이벤트 가입 요청 검출부(451)에 의해 검출된 아이디에 해당하는 상태 변수의 현재 값을 추출한다. 또한, 상태 추출부(454)는 확장 이벤트 가입 요청 검출부(451)에 의해 검출된 소정 수준 이상 값이 변화된 상태 변수의 현재 값을 추출한다. 또한, 상태 추출부(454)는 확장 이벤트 가입 요청 검출부(451)에 의해 검출된 아이디에 해당하는 상태 변수 중 확장 이벤트 가입 요청 검출부(451)에 의해 검출된 소정 수준 이상 값이 변화된 상태 변수의 현재 값을 추출한다.
또한, 상태 추출부(454)는 확장 이벤트 가입 갱신 검출부(452)에 의해 검출된 일부 상태 변수 갱신 요청에 따라 일부 상태 변수를 갱신하고, 이에 따라 갱신된 일부 상태 변수의 현재 값을 추출한다. 또한, 상태 추출부(454)는 확장 이벤트 가입 갱신 검출부(452)에 의해 검출된 소정 수준 갱신 요청에 따라 소정 수준을 갱신하고, 이에 따라 갱신된 소정 수준 이상 값이 변화된 상태 변수의 현재 값을 추출한다.
도 6은 본 발명의 바람직한 일 실시예에 따른 상태 추출부(454)의 구체적인 구조를 도시한 도면이다.
도 6을 참조하면, 본 실시예에 따른 상태 추출부(454)는 기본 모드 CP(Control Point, 제어 포인트) 포인터(61), 확장 모드 CP 포인터(62, 63) 및 가입 CP 정보 목록(64)으로 구성된다.
기본 모드 CP 포인터(61) 및 확장 모드 CP 포인터(62, 63)는 디바이스, 서비스 및 상태 변수로 구성된 계층 구조를 기반으로 한다. 최상위 계층에 해당하는 하나의 디바이스는 다음 계층에 해당하는 N 개의 서비스들과 연결되어 있다. N 개의 서비스들 각각은 최하위 계층에 해당하는 N 개의 상태 변수들과 연결되어 있다.
가입 CP 정보 목록(64)은 서비스의 상태 변화들 중 적어도 하나 이상의 상태 변화가 발생하였음을 알리는 이벤트에 가입한 제어 포인트에 관한 정보의 목록이다. 여기에서, 제어 포인트 정보란 제어 포인트의 아이디 및 제어 포인트에 의해 지정된 상태 변수의 소정 수준을 나타내는 값을 말한다. 기본 모드 CP 포인터(61) 및 확장 모드 CP 포인터(62, 63)는 가입 CP 정보 목록(64) 상의 제어 포인트 정보를 지시한다.
기본 모드 CP 포인터(61)는 서비스 단위로 존재한다. 기본 모드 CP 포인터(61)는 이것과 연결된 서비스의 상태 변화들 중 적어도 하나 이상의 상태 변화가 발생하였음을 알리는 이벤트에 가입한 제어 포인트들 중 확장 모드를 지원하지 않는 제어 포인트 정보를 지시한다. 반면, 확장 모드 CP 포인터(62, 63)는 상태 변수 단위로 존재한다. 확장 모드 CP 포인터(62, 63)는 이것과 연결된 서비스의 상태 변화들 중 적어도 하나 이상의 상태 변화가 발생하였음을 알리는 이벤트에 가입한 제어 포인트들 중 이것과 연결된 상태 변수의 값이 변화된 경우에만 이 상태 변수의 현재 값을 알리는 확장 이벤트에 가입한 제어 포인트 정보를 지시한다.
상태 추출부(454)는 이벤팅 모듈(45)에 의해 수신된 이벤트 가입 요청 메시지를 참조하여 기본 모드 CP 포인터(61)의 포인터 링크를 추가한다. 또한, 상태 추출부(454)는 확장 이벤트 가입 요청 검출부(451)에 의해 검출된 요청을 참조하여 확장 모드 CP 포인터(62, 63)의 포인터 링크를 추가한다. 또한, 상태 추출부(454)는 확장 이벤트 가입 갱신 검출부(452)에 의해 검출된 요청을 참조하여 확장 모드 CP 포인터(62, 63)의 포인터 링크를 추가하거나 삭제한다.
또한, 상태 추출부(454)는 이와 같이 갱신된 기본 모드 CP 포인터(61) 또는 확장 모드 CP 포인터(62, 63)의 포인터 링크에 기초하여 서비스의 상태 변화들 중 적어도 하나 이상의 상태 변화가 발생한 경우에 이 상태 변화의 발생을 알려 달라고 요청한 제어 포인트를 결정한다. 즉, 기본 모드 CP 포인터(61)에 의해 지시되는 제어 포인트 정보에 포함된 아이디를 갖는 제어 포인트는 기본 모드 CP 포인터(61)와 연결된 서비스의 상태 변수들 모두를 알려 달라고 요청한 제어 포인트이고, 확장 모드 CP 포인터(62, 63)에 의해 지시되는 제어 포인트 정보에 포함된 아이디를 갖는 제어 포인트는 확장 모드 CP 포인터(62, 63)와 연결된 상태 변수만을 알려 달라고 요청한 제어 포인트이다.
또한, 상태 추출부(454)는 기본 모드 CP 포인터(61)에 의해 지시되는 제어 포인트에 전송할 정보로서 기본 모드 CP 포인터(61)와 연결된 서비스의 상태들을 나타내는 상태 변수들 모두의 현재 값을 추출한다. 또한, 상태 추출부(454)는 확장 모드 CP 포인터(62, 63)에 의해 지시되는 제어 포인트에 전송할 정보로서 확장 모드 CP 포인터(62, 63)와 연결된 상태 변수의 현재 값을 추출한다. 특히, 상태 추출부(454)는 확장 모드 CP 포인터(62, 63)에 의해 지시되는 제어 포인트 정보가 상태 변수의 소정 수준을 나타내는 값을 포함하고 있는 경우에는 확장 모드 CP 포인터(62, 63)와 연결된 상태 변수의 값이 소정 수준 이상 변화된 경우에만 이 상태 변수의 현재 값을 추출한다.
이와 같이, 상태 추출부(454)는 몇 개의 포인터들만을 사용하여 구현될 수 있고, 디바이스가 기본 모드를 지원하는지 또는 확장 모드를 지원하는지에 따라 단지 포인터들의 포인팅 위치만 변경하면 되기 때문에 기존 UPnP에 비해 디바이스의 시스템 구조가 크게 복잡해지지 않으며, 디바이스에 요구되는 부가적인 리소스 양도 크지 않다.
특히, 본 실시예에 따르면, 이벤팅 모듈(45)은 디바이스(4)에 대한 이벤트 모드가 서비스의 상태 변화들 중 일부 상태 변화의 발생에 관한 정보를 전송하는 확장 모드를 지원하지 않는 기본 모드로 설정되어 있는 경우에는 기존 UPnP에 따라 서비스의 상태 변화들 모두에 관한 정보를 포함하는 이벤트 메시지를 전송한다. 또한, 이벤팅 모듈(45)은 이러한 확장 모드를 지원하는 경우에는 본 실시예에 따라 확장 이벤트 가입 요청 검출부(451) 또는 확장 이벤트 가입 갱신 검출부(452)에 의해 검출된 요청에 대한 응답으로서 상태 추출부(454)에 의해 추출된 일부 상태 변화의 발생에 관한 정보를 포함하는 이벤트 메시지를 전송한다.
보다 상세하게 설명하면, 이벤팅 모듈(45)은 확장 이벤트 가입 요청 메시지를 수신하고, 이것에 대한 응답으로서 확장 이벤트 가입 응답부(453)에 의해 삽입된 확장 헤더를 포함하는 확장 이벤트 가입 응답 메시지를 전송한다. 또한, 이벤팅 모듈(45)은 서비스의 상태들을 나타내는 상태 변수들 중 일부 상태 변수의 값이 변화된 경우에 이 일부 상태 변수의 현재 값을 포함하는 이벤트 메시지를 전송한다. 또한, 이벤팅 모듈(45)은 서비스의 상태들을 나타내는 상태 변수들 중 적어도 하나 이상의 상태 변수의 값이 변화가 소정 수준 이상인 경우에 이 상태 변수의 현재 값을 포함하는 이벤트 메시지를 전송한다. 또한, 이벤팅 모듈(45)은 서비스의 상태들을 나타내는 상태 변수들 중 일부 상태 변수의 값이 변화된 경우이고, 이 일부 상태 변수 중 적어도 하나 이상의 일부 상태 변수의 값이 변화가 소정 수준 이상인 경우에 이 일부 상태 변수의 현재 값을 포함하는 이벤트 메시지를 전송한다.
또한, 이벤팅 모듈(45)은 확장 이벤트 가입 갱신 메시지를 수신하고, 이것에 대한 응답으로서 일부 상태 변수가 갱신된 경우에 일부 상태 변수 갱신에 따라 갱신된 일부 상태 변수의 현재 값을 포함하는 이벤트 메시지를 전송한다. 또한, 이벤팅 모듈(45)은 소정 수준 갱신에 따라 갱신된 소정 수준 이상인 값의 변화를 갖는 상태 변수의 현재 값을 포함하는 이벤트 메시지를 전송한다.
도 7은 본 발명의 바람직한 일 실시예에 따른 확장 이벤트 가입 요청 방법의 흐름도이다.
도 7을 참조하면, 본 실시예에 따른 확장 이벤트 가입 요청 방법은 다음과 같은 단계들로 구성된다. 본 실시예에 따른 확장 이벤트 가입 요청 방법은 도 5에 도시된 제어 포인트(3)에서 시계열적으로 처리되는 단계들로 구성된다. 따라서, 이하 생략된 내용이라 하더라도 도 5에 도시된 제어 포인트(3)에 관하여 이상에서 기술된 내용은 본 실시예에 따른 확장 이벤트 가입 요청 처리 방법에도 적용된다.
71 단계에서 제어 포인트(3)는 디바이스(4)가 제공하는 서비스의 상태 변화들 중 일부 상태 변화를 선정한다. 보다 상세하게 설명하면, 71 단계에서 제어 포인트(3)는 디바이스(4)가 제공하는 서비스의 상태들을 나타내는 상태 변수들 중 일부 상태 변수를 선정하거나, 적어도 하나 이상의 상태 변화의 소정 수준을 선정한다. 또한, 71 단계에서 제어 포인트(3)는 상기된 두 가지 선정 방식을 결합하여 서비스의 상태들을 나타내는 상태 변수들 중 일부 상태 변수를 선정하고, 이 일부 상태 변수의 소정 수준을 선정할 수도 있다.
72 단계에서 제어 포인트(3)는 UPnP 이벤트 가입 요청 메시지를 생성한다.
73 단계에서 제어 포인트(3)는 본 실시예에 따른 확장 헤더를 생성하고, 이것을 72 단계에서 생성된 UPnP 이벤트 가입 요청 메시지에 삽입함으로서 71 단계에서 선정된 일부 상태의 변화의 발생만을 알려줄 것을 요청한다.
보다 상세하게 설명하면, 73 단계에서 제어 포인트(3)는 71 단계에서 선정된 일부 상태 변수의 아이디가 기록된 확장 헤더를 생성하고, 이것을 UPnP 이벤트 가입 요청 메시지에 삽입함으로서 일부 상태 변수의 값이 변화된 경우에만 이 일부 상태 변수 현재 값을 알려줄 것을 요청한다. 또한, 73 단계에서 제어 포인트(3)는 71 단계에서 선정된 적어도 하나 이상의 상태 변화의 소정 수준을 나타내는 값이 기록된 확장 헤더를 생성하고, 이것을 UPnP 이벤트 가입 요청 메시지에 삽입함으로서 디바이스(4)가 제공하는 서비스의 상태들을 나타내는 상태 변수들 중 적어도 하나 이상의 상태 변수의 값의 변화가 소정 수준 이상인 경우에만 이 상태 변수의 현재 값을 알려줄 것을 요청한다. 또한, 73 단계에서 제어 포인트(3)는 71 단계에서 선정된 일부 상태 변수의 아이디 및 이 일부 상태 변수의 소정 수준을 나타내는 값이 기록된 확장 헤더를 생성하고, 이것을 UPnP 이벤트 가입 요청 메시지에 삽입함으로서 디바이스(4)가 제공하는 서비스의 상태들을 나타내는 상태 변수들 중 일부 상태 변수의 값의 변화가 소정 수준 이상인 경우에만 이 일부 상태 변화 값만을 알려줄 것을 요청한다.
74 단계에서 제어 포인트(3)는 73 단계에서 삽입된 확장 헤더를 포함하는 확장 이벤트 가입 요청 메시지를 전송한다.
75 단계에서 제어 포인트(3)는 74 단계에서 전송된 확장 이벤트 가입 요청 메시지에 대한 응답에 해당하는 확장 이벤트 가입 응답 메시지를 수신한다.
76 단계에서 제어 포인트(3)는 75 단계에서 수신된 확장 이벤트 가입 응답 메시지의 확장 헤더로부터 75 단계에서의 확장 이벤트 가입 요청의 처리가 불가능함을 나타내는 실패 표시가 기록된 확장 헤더를 검출함으로서 디바이스(4)가 확장 모드를 지원하지 않는 것으로 판단하고, 77 단계로 진행한다. 또한, 76 단계에서 제어 포인트(3)는 75 단계에서 수신된 확장 이벤트 가입 응답 메시지의 확장 헤더로부터 72 단계에서의 확장 이벤트 가입 요청의 처리가 가능함을 나타내는 성공 표시가 기록된 확장 헤더를 검출함으로서 디바이스(4)가 확장 모드를 지원하는 것으로 판단하고, 78 단계로 진행한다.
77 단계에서 제어 포인트(3)는 디바이스(4)에 대한 이벤트 모드를 기존 UPnP에 따라 서비스의 상태 변화들 모두에 관한 정보를 수신하는 기본 모드로 설정한다.
78 단계에서 제어 포인트(3)는 디바이스(4)에 대한 이벤트 모드를 본 실시예에 따라 서비스의 상태 변화들 중 일부 상태 변화의 발생에 관한 정보를 수신하는 확장 모드로 설정한다.
도 8은 본 발명의 바람직한 일 실시예에 따른 확장 이벤트 가입 요청 처리 방법의 흐름도이다.
도 8을 참조하면, 본 실시예에 따른 확장 이벤트 가입 요청 처리 방법은 다음과 같은 단계들로 구성된다. 본 실시예에 따른 확장 이벤트 가입 요청 처리 방법 은 도 5에 도시된 디바이스(4)에서 시계열적으로 처리되는 단계들로 구성된다. 따라서, 이하 생략된 내용이라 하더라도 도 5에 도시된 디바이스(4)에 관하여 이상에서 기술된 내용은 본 실시예에 따른 확장 이벤트 가입 요청 처리 과정에도 적용된다.
81 단계에서 디바이스(4)는 이벤트 가입 요청 메시지를 수신한다.
82 단계에서 디바이스(4)는 81 단계에서 수신된 이벤트 가입 요청 메시지를 파싱하고, 그 결과 확장 이벤트 가입 요청 메시지임을 확인한 경우에는 83 단계로 진행하고, UPnP 이벤트 가입 요청 메시지임을 확인한 경우에는 810 단계로 진행한다.
83 단계에서 디바이스(4)는 82 단계에서 확인된 확장 이벤트 가입 요청 메시지의 확장 헤더로부터 디바이스(4)가 제공하는 서비스의 상태 변화들 중 적어도 하나 이상의 상태 변화가 발생하였음을 알리는 이벤트에 대한 요청으로서 서비스의 상태 변화들 중 일부 상태 변화의 발생만을 알려 달라는 확장 이벤트 가입 요청을 검출한다.
보다 상세하게 설명하면, 83 단계에서 디바이스(4)는 82 단계에서 수신된 확장 이벤트 가입 요청 메시지의 확장 헤더로부터 일부 상태 변수의 아이디를 검출함으로서 디바이스(4)가 제공하는 서비스의 상태들을 나타내는 상태 변수들 중 일부 상태 변수의 값이 변화된 경우에만 이 일부 상태 변수의 현재 값을 알려 달라는 확장 이벤트 가입 요청을 검출한다. 또한, 83 단계에서 디바이스(4)는 82 단계에서 수신된 확장 이벤트 가입 요청 메시지의 확장 헤더로부터 적어도 하나 이상이 상태 변화의 소정 수준을 나타내는 값을 검출함으로서 디바이스(4)가 제공하는 서비스의 상태들을 나타내는 상태 변수들 중 적어도 하나 이상의 상태 변수의 값의 변화가 소정 수준 이상인 경우에만 이 상태 변수의 현재 값을 알려 달라는 확장 이벤트 가입 요청을 검출한다. 또한, 83 단계에서 디바이스(4)는 82 단계에서 수신된 확장 이벤트 가입 요청 메시지의 확장 헤더로부터 일부 상태 변수의 아이디 및 이 일부 상태 변수의 소정 수준을 나타내는 값을 검출함으로서 디바이스(4)가 제공하는 서비스의 상태들을 나타내는 상태 변수들 중 일부 상태 변수의 값의 변화가 소정 수준 이상인 경우에만 이 일부 상태 변화 값만을 알려 달라는 확장 이벤트 가입 요청을 검출한다.
84 단계에서 디바이스(4)는 83 단계에서 검출된 확장 이벤트 가입 요청을 참조하여 서비스의 상태 변화들 중 적어도 하나 이상의 상태 변화가 발생한 경우에 이 상태 변화의 발생을 알려 달라고 요청한 제어 포인트에 대한 정보를 갱신한다.
85 단계에서 디바이스(4)는 84 단계에서 갱신된 정보에 기초하여 제어 포인트로 전송할 일부 상태 변화의 발생에 관한 정보를 추출한다. 보다 상세하게 설명하면, 85 단계에서 디바이스(4)는 83 단계에서 검출된 아이디에 해당하는 상태 변수의 현재 값을 추출한다. 또한, 85 단계에서 디바이스(4)는 83 단계에서 검출된 소정 수준 이상 값이 변화된 상태 변수의 현재 값을 추출한다. 또한, 85 단계에서 디바이스(4)는 83 단계에서 검출된 아이디에 해당하는 상태 변수 중 83 단계에서 검출된 소정 수준 이상 값이 변화된 상태 변수의 현재 값을 추출한다.
86 단계에서 디바이스(4)는 UPnP 이벤트 가입 응답 메시지를 생성한다.
87 단계에서 디바이스(4)는 서비스의 상태 변화들 중 일부 상태 변화의 발생에 관한 정보를 전송하는 확장 모드를 지원함을 나타내는 성공 표시가 기록된 확장 헤더를 생성하고, 이것을 86 단계에서 생성된 UPnP 이벤트 가입 응답 메시지를 삽입한다.
88 단계에서 디바이스(4)는 87 단계에서 삽입된 확장 헤더를 포함하는 확장 이벤트 가입 응답 메시지를 전송한다.
89 단계에서 디바이스(4)는 85 단계에서 추출된 일부 상태 변화의 발생에 관한 정보를 포함하는 최초 이벤트 메시지를 이 일부 상태 변화의 발생을 알려 달라고 요청한 제어 포인트로 전송한다.
810 단계에서 디바이스(4)는 83 단계에서 검출된 확장 이벤트 가입 요청을 참조하여 서비스의 상태 변화들 모두의 발생을 알려 달라고 요청한 제어 포인트, 즉 기본 모드를 지원하는 제어 포인트에 대한 정보를 갱신한다.
811 단계에서 디바이스(4)는 810 단계에서 갱신된 정보에 기초하여 제어 포인트로 전송할 상태 변화들 모두의 발생에 관한 정보를 추출한다.
812 단계에서 디바이스(4)는 UPnP 이벤트 가입 응답 메시지를 생성한다.
813 단계에서 디바이스(4)는 서비스의 상태 변화들 중 일부 상태 변화의 발생에 관한 정보를 전송하는 확장 모드를 지원하지 않음을 나타내는 실패 표시가 기록된 확장 헤더를 생성하고, 이것을 812 단계에서 생성된 UPnP 이벤트 가입 응답 메시지를 삽입한다.
814 단계에서 디바이스(4)는 813 단계에서 삽입된 확장 헤더를 포함하는 확 장 이벤트 가입 응답 메시지를 전송한다.
815 단계에서 디바이스(4)는 811 단계에서 추출된 상태 변화들 모두의 발생에 관한 정보를 포함하는 최초 이벤트 메시지를 기본 모드를 지원하는 제어 포인트로 전송한다.
도 9는 본 발명의 바람직한 일 실시예에 따른 제어 포인트(3)에서의 확장 이벤트 가입 갱신 방법의 흐름도이다.
도 9를 참조하면, 본 실시예에 따른 제어 포인트(3)에서의 확장 이벤트 가입 갱신 방법은 다음과 같은 단계들로 구성된다. 본 실시예에 따른 제어 포인트(3)에서의 확장 이벤트 가입 갱신 방법은 도 5에 도시된 제어 포인트(3)에서 시계열적으로 처리되는 단계들로 구성된다. 따라서, 이하 생략된 내용이라 하더라도 도 5에 도시된 제어 포인트(3)에 관하여 이상에서 기술된 내용은 본 실시예에 따른 제어 포인트(3)에서의 확장 이벤트 가입 갱신 방법에도 적용된다.
91 단계에서 제어 포인트(3)는 디바이스(4)에 대한 확장 이벤트 가입 갱신을 위하여 디바이스(4)가 제공하는 서비스의 상태 변화들 중 일부 상태 변화를 다시 선정한다.
92 단계에서 제어 포인트(3)는 UPnP 이벤트 가입 갱신 메시지를 생성한다.
93 단계에서 제어 포인트(3)는 91 단계에서의 선정 결과에 기초하여 92 단계에서 생성된 UPnP 이벤트 가입 갱신 메시지에 기존의 확장 헤더에 기록된 아이디가 아닌 새로운 아이디를 추가하거나, 기존의 확장 헤더에 기록된 아이디를 삭제할 것을 지시하는 확장 헤더를 생성하여 삽입함으로서 일부 상태 변수의 갱신을 요청한 다. 또한, 93 단계에서 제어 포인트(3)는 91 단계에서의 선정 결과에 기초하여 92 단계에서 생성된 UPnP 이벤트 가입 갱신 메시지에 기존의 확장 헤더에 기록된 소정 수준을 나타내는 값을 변경할 것을 지시하는 확장 헤더를 생성하여 삽입함으로서 소정 수준의 변경을 요청한다. 또한, 93 단계에서 제어 포인트(3)는 91 단계에서의 선정 결과에 기초하여 일부 상태 변수의 갱신 및 소정 수준의 변경을 동시에 요청할 수도 있다.
94 단계에서 제어 포인트(3)는 93 단계에서 삽입된 확장 헤더를 포함하는 확장 이벤트 가입 갱신 메시지를 전송한다.
도 10은 본 발명의 바람직한 일 실시예에 따른 디바이스(4)에서의 확장 이벤트 가입 갱신 방법의 흐름도이다.
도 10을 참조하면, 본 실시예에 따른 디바이스(4)에서의 확장 이벤트 가입 갱신 방법은 다음과 같은 단계들로 구성된다. 본 실시예에 따른 디바이스(4)에서의 확장 이벤트 가입 갱신 방법은 도 5에 도시된 디바이스(4)에서 시계열적으로 처리되는 단계들로 구성된다. 따라서, 이하 생략된 내용이라 하더라도 도 5에 도시된 디바이스(4)에 관하여 이상에서 기술된 내용은 본 실시예에 따른 디바이스(4)에서의 확장 이벤트 가입 갱신 방법에도 적용된다.
101 단계에서 디바이스(4)는 이벤트 가입 갱신 메시지를 수신한다.
102 단계에서 디바이스(4)는 101 단계에서 수신된 이벤트 가입 요청 메시지를 파싱하고, 그 결과 확장 이벤트 가입 갱신 메시지임을 확인한 경우에는 103 단계로 진행하고, UPnP 이벤트 가입 갱신 메시지임을 확인한 경우에는 105 단계로 진 행한다.
103 단계에서 디바이스(4)는 102 단계에서 확인된 확장 이벤트 가입 갱신 메시지의 확장 헤더로부터 기존의 확장 헤더에 기록된 아이디가 아닌 새로운 아이디가 추가되었음을 확인하거나, 기존의 확장 헤더에 기록된 아이디가 삭제되었음을 확인함으로서 일부 상태 변수의 갱신에 대한 요청을 검출한다. 또한, 103 단계에서 디바이스(4)는 102 단계에서 확인된 확장 이벤트 가입 갱신 메시지의 확장 헤더로부터 기존의 확장 헤더에 기록된 소정 수준을 나타내는 값의 변경을 확인함으로서 소정 수준의 갱신에 대한 요청을 검출한다.
104 단계에서 디바이스(4)는 103 단계에서 검출된 일부 상태 변수 갱신 요청에 따라 일부 상태 변수를 갱신한다. 또한, 104 단계에서 디바이스(4)는 103 단계에서 검출된 소정 수준 갱신 요청에 따라 소정 수준을 갱신한다.
105 단계에서 디바이스(4)는 104 단계에서의 갱신이 완료되면, 이벤트 가입 갱신 시간을 초기화한다.
106 단계에서 디바이스(4)는 105 단계에서의 초기화가 완료되면, UPnP 이벤트 가입 갱신 메시지에 대한 응답 메시지를 전송한다.
도 11은 본 발명의 바람직한 일 실시예에 따른 이벤트 메시지 수신 방법의 흐름도이다.
도 11을 참조하면, 본 실시예에 따른 이벤트 메시지 수신 방법은 다음과 같은 단계들로 구성된다. 본 실시예에 따른 이벤트 메시지 수신 방법은 도 5에 도시된 제어 포인트(3)에서 시계열적으로 처리되는 단계들로 구성된다. 따라서, 이하 생략된 내용이라 하더라도 도 5에 도시된 제어 포인트(3)에 관하여 이상에서 기술된 내용은 본 실시예에 따른 이벤트 메시지 수신 방법에도 적용된다.
111 단계에서 제어 포인트(3)는 디바이스(4)에 대한 이벤트 모드가 확장 모드로 설정되어 있는지, 아니면 기본 모드로 설정되어 있는지를 확인하고, 그 결과 확장 모드로 설정되어 있는 것으로 확인된 경우에는 112 단계로 진행하고, 기본 모드로 설정되어 있는 것으로 확인된 경우에는 113 단계로 진행한다.
112 단계에서 제어 포인트(3)는 디바이스(4)가 제공하는 서비스의 상태 변화들 중 일부 상태 변화의 발생에 관한 정보를 포함하는 이벤트 메시지를 수신한다.
113 단계에서 제어 포인트(3)는 디바이스(4)가 제공하는 서비스의 상태 변화들 모두의 발생에 관한 정보를 포함하는 이벤트 메시지를 수신한다.
도 12는 본 발명의 바람직한 일 실시예에 따른 이벤트 메시지 전송 방법의 흐름도이다.
도 12를 참조하면, 본 실시예에 따른 이벤트 메시지 전송 방법은 다음과 같은 단계들로 구성된다. 본 실시예에 따른 이벤트 메시지 전송 방법은 도 5에 도시된 디바이스(4)에서 시계열적으로 처리되는 단계들로 구성된다. 따라서, 이하 생략된 내용이라 하더라도 도 5에 도시된 디바이스(4)에 관하여 이상에서 기술된 내용은 본 실시예에 따른 이벤트 메시지 전송 방법에도 적용된다.
121 단계에서 디바이스(4)는 액션 호출을 수신한다.
122 단계에서 디바이스(4)는 121 단계에서 수신된 액션 호출에 해당하는 액션을 수행한다.
123 단계에서 디바이스(4)는 122 단계에서의 액션 수행으로 인하여 서비스의 상태 변화들 중 적어도 하나 이상의 상태 변화가 발생한 경우에는 124 단계로 진행하고, 어떠한 상태 변화도 발생하지 않은 경우에는 이벤트 메시지를 전송하지 않고 종료한다.
124 단계에서 디바이스(4)는 상기된 상태 변화의 발생을 알려 달라고 요청한 제어 포인트를 결정한다.
125 단계에서 디바이스(4)는 124 단계에서 결정된 제어 포인트가 확장 모드를 지원하는 경우에는 126 단계로 진행하고, 기본 모드를 지원하는 경우에는 127 단계로 진행한다.
126 단계에서 디바이스(4)는 서비스의 상태 변화들 중 일부 상태 변화의 발생에 관한 정보를 포함하는 이벤트 메시지를 전송한다.
127 단계에서 디바이스(4)는 서비스의 상태 변화들 모두의 발생에 관한 정보를 포함하는 이벤트 메시지를 전송한다.
한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 또한, 상술한 본 발명의 실시예에서 사용된 데이터의 구조는 컴퓨터로 읽을 수 있는 기록매체에 여러 수단을 통하여 기록될 수 있다.
상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드 디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 저장매체를 포함한다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
본 발명에 따르면, UPnP 디바이스가 제공하는 서비스의 상태 변화들 중 일부 상태 변화의 발생에 관한 정보만을 포함하는 이벤트 메시지를 전송할 수 있는 확장 모드를 제안함으로서 제어 포인트가 자신에게 반드시 필요한 상태 변수만을 포함하는 이벤트 메시지를 수신하게 된다. 그 결과, 종래의 필요 없는 상태 변수를 포함하는 이벤트 메시지를 수신하고, 이러한 이벤트 메시지 또는 특정 상태 변수를 필터링하여 버리는 과정이 제거되게 된다는 효과가 있다.
특히, 제어 포인트의 하드웨어 성능이 낮은 경우, 종래에는 제어 포인트가 디바이스에 필요 없는 상태 변수들을 포함하는 이벤트 메시지도 수신하게 되어 이것이 제어 포인트의 로드를 가중시키는 요인으로 작용하였다. 그러나, 본 발명에 따르면, 제어 포인트의 하드웨어 성능에 따라 이벤트 메시지의 수신 횟수를 조절할 수 있다. 또한, 제어 포인트에서 수행 중인 어플리케이션의 특성에 따라 이 어플리케이션 일부 상태 변수만을 요구하거나, 일부 상태 변수의 값이 너무 자주 변화되는 경우가 있을 수 있다. 본 발명에 따르면, 제어 포인트에서 수행되는 어플리케이션의 특성을 고려하여 보다 효율적으로 일부의 상태 변화의 발생에 관한 정보만을 수신할 수 있다.
또한, 본 발명에 따르면, UPnP 디바이스가 제공하는 서비스의 일부 상태 변수의 갱신을 요청하는 확장 이벤트 가입 갱신 메시지를 제안함으로서 이벤트에 가입한 제어 포인트가 이미 요구한 상태 변수들을 동적으로 추가하거나 삭제할 수 있다는 효과가 있다. 또한, 본 발명에 따른 확장 이벤트 가입 요청 메시지, 확장 이벤트 가입 갱신 메시지는 HTTP 확장 헤더를 이용하여 구현되기 때문에 호환성의 문제없이 기존의 UPnP 이벤팅 방식들과 병행하여 본 발명이 적용될 수 있다. 결국, 본 발명에 따르면, 홈 네트워크를 통해 전송되는 이벤트 메시지의 전체 개수를 감소되어 홈 네트워크의 대역폭을 절약할 수 있다는 효과가 있다.

Claims (20)

  1. (a) UPnP 디바이스가 제공하는 서비스의 상태 변화들 중 적어도 하나 이상의 상태 변화가 발생하였음을 알리는 이벤트에 대하여 상기 상태 변화들 중 일부 상태 변화의 발생만을 알려 줄 것을 요청하는 단계; 및
    (b) 상기 요청에 대한 응답으로부터 상기 일부 상태 변화의 발생에 관한 정보를 수신하는 단계를 포함하는 것을 특징으로 하는 이벤트 정보 수신 방법.
  2. 제 1 항에 있어서,
    상기 이벤트는 UPnP 디바이스가 제공하는 서비스의 상태 변화들 중 적어도 하나 이상의 상태 변화가 발생하였음을 알리는 이벤트인 것을 특징으로 하는 이벤트 정보 수신 방법.
  3. 제 1 항에 있어서,
    상기 (a) 단계는 상기 서비스의 상태들을 나타내는 상태 변수들 중 일부 상태 변수의 값이 변화된 경우에만 상기 일부 상태 변수의 현재 값을 알려줄 것을 요청하는 것을 특징으로 하는 이벤트 정보 수신 방법.
  4. 제 3 항에 있어서,
    상기 (a) 단계는 상기 이벤트에 대한 가입을 요청하는 메시지에 상기 일부 상태 변수의 아이디가 기록된 확장 헤더를 삽입함으로서 상기 일부 상태 변수의 현재 값을 알려줄 것을 요청하는 것을 특징으로 하는 이벤트 정보 수신 방법.
  5. 제 4 항에 있어서,
    상기 이벤트에 대한 가입을 갱신하는 메시지에 상기 아이디가 아닌 새로운 아이디를 추가하거나, 상기 아이디를 삭제할 것을 지시하는 확장 헤더를 삽입함으로서 상기 일부 상태 변수의 갱신을 요청하는 단계를 더 포함하는 것을 특징으로 하는 이벤트 정보 수신 방법.
  6. 제 1 항에 있어서,
    상기 (a) 단계는 상기 서비스의 상태들을 나타내는 상태 변수들 중 적어도 하나 이상의 상태 변수의 값의 변화가 소정 수준 이상인 경우에만 상기 상태 변수의 현재 값을 알려줄 것을 요청하는 것을 특징으로 하는 이벤트 정보 수신 방법.
  7. 제 6 항에 있어서,
    상기 (a) 단계는 상기 이벤트에 대한 가입을 요청하는 메시지에 상기 소정 수준을 나타내는 값이 기록된 확장 헤더를 삽입함으로서 상기 상태 변수의 현재 값을 알려줄 것을 요청하는 것을 특징으로 하는 이벤트 정보 수신 방법.
  8. 제 7 항에 있어서,
    상기 이벤트에 대한 가입을 갱신하는 메시지에 상기 소정 수준을 나타내는 값을 변경할 것을 지시하는 확장 헤더를 삽입함으로서 상기 소정 수준의 변경을 요청하는 단계를 더 포함하는 것을 특징으로 하는 이벤트 정보 수신 방법.
  9. UPnP 디바이스가 제공하는 서비스의 상태 변화들 중 적어도 하나 이상의 상태 변화가 발생하였음을 알리는 이벤트에 대하여 상기 상태 변화들 중 일부 상태 변화의 발생만을 알려 줄 것을 요청하는 요청부; 및
    상기 요청부에서의 요청에 대한 응답으로부터 상기 일부 상태 변화의 발생에 관한 정보를 수신하는 이벤팅 모듈을 포함하는 것을 특징으로 하는 이벤트 정보 수신 장치.
  10. 제 1 항 내지 제 8 항 중에 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  11. (a) UPnP 디바이스가 제공하는 서비스의 상태 변화들 중 적어도 하나 이상의 상태 변화가 발생하였음을 알리는 이벤트에 대한 요청으로서 상기 상태 변화들 중 일부 상태 변화의 발생만을 알려 달라는 요청을 검출하는 단계; 및
    (b) 상기 검출된 요청에 대한 응답으로서 상기 일부 상태 변화의 발생에 관한 정보를 전송하는 단계를 포함하는 것을 특징으로 하는 이벤트 정보 전송 방법.
  12. 제 11 항에 있어서,
    상기 이벤트는 UPnP 디바이스가 제공하는 서비스의 상태 변화들 중 적어도 하나 이상의 상태 변화가 발생하였음을 알리는 이벤트인 것을 특징으로 하는 이벤트 정보 전송 방법.
  13. 제 11 항에 있어서,
    상기 (a) 단계는 상기 서비스의 상태들을 나타내는 상태 변수들 중 일부 상태 변수의 값이 변화된 경우에만 상기 일부 상태 변수의 현재 값을 알려 달라는 요청을 검출하고,
    상기 (b) 단계는 상기 일부 상태 변수의 값이 변화된 경우에 상기 일부 상태 변수의 현재 값을 포함하는 이벤트 메시지를 전송하는 것을 특징으로 하는 이벤트 정보 전송 방법.
  14. 제 13 항에 있어서,
    상기 (a) 단계는 상기 이벤트에 가입을 요청하는 메시지로부터 상기 일부 상태 변수의 아이디를 검출함으로서 상기 요청을 검출하는 것을 특징으로 하는 이벤트 정보 전송 방법.
  15. 제 14 항에 있어서,
    상기 아이디가 아닌 새로운 아이디의 추가되었음을 확인하거나, 상기 아이디 가 삭제되었음을 확인함으로서 상기 일부 상태 변수의 갱신에 대한 요청을 검출하는 단계를 더 포함하는 것을 특징으로 하는 이벤트 정보 전송 방법.
  16. 제 11 항에 있어서,
    상기 (a) 단계는 상기 서비스의 상태들을 나타내는 상태 변수들 중 적어도 하나 이상의 상태 변수의 값의 변화가 소정 수준 이상인 경우에만 상기 상태 변수의 현재 값을 알려 달라는 요청을 검출하고,
    상기 (b) 단계는 상기 상태 변수의 값이 변화가 소정 수준 이상인 경우에 상기 상태 변수의 현재 값을 포함하는 이벤트 메시지를 전송하는 것을 특징으로 하는 이벤트 정보 전송 방법.
  17. 제 16 항에 있어서,
    상기 (a) 단계는 상기 이벤트에 가입을 요청하는 메시지로부터 상기 소정 수준을 나타내는 값을 검출함으로서 상기 요청을 검출하는 것을 특징으로 하는 이벤트 정보 전송 방법.
  18. 제 17 항에 있어서,
    상기 소정 수준을 나타내는 값의 변경을 확인함으로서 상기 소정 수준의 갱신에 대한 요청을 검출하는 단계를 더 포함하는 것을 특징으로 하는 이벤트 정보 전송 방법.
  19. UPnP 디바이스가 제공하는 서비스의 상태 변화들 중 적어도 하나 이상의 상태 변화가 발생하였음을 알리는 이벤트에 대한 요청으로서 상기 상태 변화들 중 일부 상태 변화의 발생만을 알려 달라는 요청을 검출하는 검출부; 및
    상기 검출부에 의해 검출된 요청에 대한 응답으로서 상기 일부 상태 변화의 발생에 관한 정보를 전송하는 이벤팅 모듈을 포함하는 것을 특징으로 하는 이벤트 정보 전송 장치.
  20. 제 11 항 내지 제 18 항 중에 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR20050107000A 2005-11-09 2005-11-09 UPnP 이벤트에 관한 정보를 효율적으로 송수신하는방법 및 장치 KR100739755B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR20050107000A KR100739755B1 (ko) 2005-11-09 2005-11-09 UPnP 이벤트에 관한 정보를 효율적으로 송수신하는방법 및 장치
JP2006303248A JP2007133881A (ja) 2005-11-09 2006-11-08 UPnPイベントに関する情報を効率的に送受信する方法及び装置
CN2006101470067A CN1968150B (zh) 2005-11-09 2006-11-09 发送和接收关于UPnP事件的信息的方法和设备
US11/594,748 US8054831B2 (en) 2005-11-09 2006-11-09 Method and apparatus for transmitting and receiving information regarding UPnP event

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20050107000A KR100739755B1 (ko) 2005-11-09 2005-11-09 UPnP 이벤트에 관한 정보를 효율적으로 송수신하는방법 및 장치

Publications (2)

Publication Number Publication Date
KR20070049815A KR20070049815A (ko) 2007-05-14
KR100739755B1 true KR100739755B1 (ko) 2007-07-13

Family

ID=38003712

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20050107000A KR100739755B1 (ko) 2005-11-09 2005-11-09 UPnP 이벤트에 관한 정보를 효율적으로 송수신하는방법 및 장치

Country Status (4)

Country Link
US (1) US8054831B2 (ko)
JP (1) JP2007133881A (ko)
KR (1) KR100739755B1 (ko)
CN (1) CN1968150B (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8135822B2 (en) * 2007-05-14 2012-03-13 Ricoh Company, Ltd. Reporting events from multiple WS-enabled devices
KR101474840B1 (ko) * 2007-11-05 2014-12-19 삼성전자 주식회사 UPnP 기반의 네트워크 시스템 및 그 제어 방법
US8700070B2 (en) * 2007-11-07 2014-04-15 Motorola Mobility Llc System and method for adaptive message retransmission
US20090150789A1 (en) * 2007-12-10 2009-06-11 Alain Regnier Dynamic multi-platform monitoring client for WSD-enabled devices
KR20110047764A (ko) * 2009-10-30 2011-05-09 삼성전자주식회사 이동 단말을 이용하여 홈 네트워크 시스템을 제어하기 위한 방법 및 장치
KR101905778B1 (ko) * 2011-02-24 2018-10-10 삼성전자주식회사 홈 네트워크의 이벤트 통지 방법 및 장치
KR20120139574A (ko) * 2011-06-17 2012-12-27 삼성전자주식회사 UPnP 기반 디바이스 간 데이터 교환 장치 및 방법
CN104252428B (zh) * 2013-06-28 2017-12-29 华为终端(东莞)有限公司 设备识别方法及设备
EP4035316A1 (en) * 2019-09-23 2022-08-03 Direqt, Inc. Enhancing messages with dynamic content

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000012947A (ko) * 1998-08-03 2000-03-06 김영환 티엠엔 시스템의 트러블 티켓팅 관리방법
KR20040050140A (ko) * 2002-12-09 2004-06-16 한국전자통신연구원 라우터 시스템의 장애 및 상태 관리를 위한 망 관리시스템 및 그 방법
WO2004073227A1 (en) 2003-02-12 2004-08-26 Koninklijke Philips Electronics N.V. Method and system for reacting to a change of a upnp device
KR20050076963A (ko) * 2004-01-26 2005-07-29 엘지전자 주식회사 유피엔피(UPnP) 디바이스 제어 방법

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6725281B1 (en) 1999-06-11 2004-04-20 Microsoft Corporation Synchronization of controlled device state using state table and eventing in data-driven remote device control model
US7171475B2 (en) * 2000-12-01 2007-01-30 Microsoft Corporation Peer networking host framework and hosting API
US20020083143A1 (en) * 2000-12-13 2002-06-27 Philips Electronics North America Corporation UPnP architecture for heterogeneous networks of slave devices
US20030135382A1 (en) * 2002-01-14 2003-07-17 Richard Marejka Self-monitoring service system for providing historical and current operating status
KR100830940B1 (ko) 2002-07-10 2008-05-20 엘지전자 주식회사 유피엔피(UPnP)를 이용한 홈 네트워크의 원격 제어시스템
US7069312B2 (en) * 2002-12-06 2006-06-27 Microsoft Corporation Network location signature for disambiguating multicast messages in dual-IP stack and/or multi-homed network environments
US20040225689A1 (en) * 2003-05-08 2004-11-11 International Business Machines Corporation Autonomic logging support
US8381037B2 (en) * 2003-10-09 2013-02-19 International Business Machines Corporation Method and system for autonomic execution path selection in an application
US7644376B2 (en) * 2003-10-23 2010-01-05 Microsoft Corporation Flexible architecture for notifying applications of state changes
KR20050050317A (ko) 2003-11-25 2005-05-31 삼성전자주식회사 홈 네트워크 시스템 및 그 동작 방법
US7493625B2 (en) * 2004-02-27 2009-02-17 International Business Machines Corporation Hierarchical event filtering for multiple parent event types
US9043724B2 (en) * 2005-04-14 2015-05-26 Tektronix, Inc. Dynamically composed user interface help
US7289795B2 (en) * 2005-06-22 2007-10-30 Matsushita Electric Industrial Co., Ltd. Event moderation for event publishing environments

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000012947A (ko) * 1998-08-03 2000-03-06 김영환 티엠엔 시스템의 트러블 티켓팅 관리방법
KR20040050140A (ko) * 2002-12-09 2004-06-16 한국전자통신연구원 라우터 시스템의 장애 및 상태 관리를 위한 망 관리시스템 및 그 방법
WO2004073227A1 (en) 2003-02-12 2004-08-26 Koninklijke Philips Electronics N.V. Method and system for reacting to a change of a upnp device
KR20050076963A (ko) * 2004-01-26 2005-07-29 엘지전자 주식회사 유피엔피(UPnP) 디바이스 제어 방법

Also Published As

Publication number Publication date
JP2007133881A (ja) 2007-05-31
CN1968150A (zh) 2007-05-23
US20070104193A1 (en) 2007-05-10
US8054831B2 (en) 2011-11-08
KR20070049815A (ko) 2007-05-14
CN1968150B (zh) 2013-01-16

Similar Documents

Publication Publication Date Title
KR100739755B1 (ko) UPnP 이벤트에 관한 정보를 효율적으로 송수신하는방법 및 장치
JP4976104B2 (ja) UPnPデバイスのIPアドレス変更によるネットワーク連結中断を速かに復旧する方法及びシステム
KR100823273B1 (ko) UPnP 컨텐트 디렉토리 서비스를 동기화하는 방법 및장치
JP3661936B2 (ja) 情報処理装置および方法、記録媒体、並びにプログラム
KR101469540B1 (ko) 리소스 정보를 이용하여 UPnP 디바이스를 발견하는방법 및 장치
EP2840741B1 (en) Method and apparatus for using service of home network device based on remote access
EP1169812B1 (en) Broadcast discovery in a network having one or more 1394 buses
KR20050098926A (ko) UPnP 장치의 변화에 반응하는 방법 및 시스템
EP1775915B1 (en) Method and apparatus for transmitting a UPnP Byebye message
KR20050040166A (ko) 홈 네트워크의 장치를 제어하는 프록시 장치 및 그 방법
JP5214929B2 (ja) ホームネットワークでデバイスのサービスを管理する方法及び装置
JP2008510413A (ja) ユニバーサルプラグアンドプレイ通信方法及び装置
EP1816554A2 (en) Method of accessing storage and storage access apparatus
KR100727999B1 (ko) UPnP 디바이스 정보를 효율적으로 관리하는 방법 및장치
KR101434202B1 (ko) 이벤트 메시지 수신 방법, 이벤트 메시지 전송 방법,피제어 장치 및 제어 포인트
JP2006202210A (ja) 情報処理装置、サービス公開方法及びプログラム
KR20070042001A (ko) UPnP 장치/서비스 상태 정보 획득 방법 및 이를 위한UPnP 제어 장치, 그리고 UPnP 장치/서비스 상태정보 제공 방법 및 이를 위한 UPnP 피제어 장치
EP1968245A2 (en) Apparatus and method for device control
JP2007208971A (ja) Avセッション復元方法およびこのためのコントロールポイント
JP2007257266A (ja) 情報処理装置、デバイス表示処理方法、記憶媒体、プログラム
KR100577362B1 (ko) Av기기, av기기 제어 장치 및 제어 방법

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
FPAY Annual fee payment

Payment date: 20130627

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140627

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150629

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20160629

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20170629

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee