KR20070077954A - UPnP 상에서 디바이스의 기능을 예약하는 방법 및 장치 - Google Patents

UPnP 상에서 디바이스의 기능을 예약하는 방법 및 장치 Download PDF

Info

Publication number
KR20070077954A
KR20070077954A KR1020060007883A KR20060007883A KR20070077954A KR 20070077954 A KR20070077954 A KR 20070077954A KR 1020060007883 A KR1020060007883 A KR 1020060007883A KR 20060007883 A KR20060007883 A KR 20060007883A KR 20070077954 A KR20070077954 A KR 20070077954A
Authority
KR
South Korea
Prior art keywords
control point
reservation
module
command
predetermined
Prior art date
Application number
KR1020060007883A
Other languages
English (en)
Other versions
KR100750160B1 (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 KR1020060007883A priority Critical patent/KR100750160B1/ko
Priority to JP2008552212A priority patent/JP2009524871A/ja
Priority to CNA2007800014125A priority patent/CN101356766A/zh
Priority to EP07700793A priority patent/EP1977556A4/en
Priority to US12/161,737 priority patent/US20100250721A1/en
Priority to PCT/KR2007/000001 priority patent/WO2007086652A1/en
Publication of KR20070077954A publication Critical patent/KR20070077954A/ko
Application granted granted Critical
Publication of KR100750160B1 publication Critical patent/KR100750160B1/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/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
    • 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/281Exchanging configuration information on appliance services in a home automation network indicating a format for calling an appliance service function 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/2847Home automation networks characterised by the type of home appliance used
    • H04L2012/2849Audio/video appliances
    • 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/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests

Landscapes

  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Computer And Data Communications (AREA)

Abstract

본 발명은 UPnP(Universal Plug and Play) 디바이스가 제공하는 서비스에 관한 것으로, 네트워크 상에서 디바이스를 발견하고 제어하는 제어 포인트가 네트워크 상에서 디바이스를 발견하고, 이 디바이스가 소정 시간에 소정 명령을 수행할 것을 예약함으로서 UPnP 상에서 디바이스의 기능들을 예약할 수 있다.

Description

UPnP 상에서 디바이스의 기능을 예약하는 방법 및 장치{Method and apparatus for reserving a function of device on UPnP}
도 1은 종래의 UPnP 네트워킹 시스템의 구성도이다.
도 2는 본 발명의 바람직한 일 실시예에 따른 UPnP 네트워크 시스템의 구성도이다.
도 3은 본 발명의 바람직한 일 실시예에 따른 예약 장치의 구성도이다.
도 4는 본 발명의 바람직한 일 실시예에 따른 디바이스 명세를 도시한 도면이다.
도 5a-5c는 본 발명의 바람직한 일 실시예에 따른 타이머 서비스 명세를 도시한 도면이다.
도 6은 본 발명의 바람직한 일 실시예에 따른 예약 방법의 흐름도이다.
도 7은 본 발명의 바람직한 일 실시예에 따른 예약 처리 방법의 흐름도이다.
도 8은 본 발명의 바람직한 일 실시예에 따른 타이머 서비스의 이용 예를 도시한 도면이다.
본 발명은 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 네트워킹 시스템은 제어 포인트(1) 및 디바이스(2)로 구성된다.
제어 포인트(1)는 UPnP에 따라 홈 네트워크 상에서 디바이스를 발견하고, 이것을 제어한다. 이에 따라, 디바이스(2)는 UPnP에 따라 홈 네트워크에 위치한 제어 포인트(1)에 의해 발견되고, 이것에 의한 제어를 받는다. 특히, 디바이스(2)는 이것의 기능들을 소정의 서비스의 형태로 제공한다. 이러한 서비스에는 컨텐트 디렉토리 서비스(Content Directory Service), 렌더링 제어 서비스(Rendering Control Service) 등이 있다. 제어 포인트(1)는 SOAP(Simple Object Access Protocol)를 기 반으로 이러한 서비스가 제공하는 액션들을 호출함으로서 디바이스(2)의 기능들을 이용할 수 있다.
그런데, 종래의 UPnP에 따르면, 제어 포인트(1)가 디바이스(2)의 기능들을 예약하는 서비스를 제공하고 있지 않다. 따라서, 종래의 UPnP에 따르면, 제어 포인트(1)는 디바이스(2)의 기능들을 예약할 수 없다는 문제점이 있었다. 예를 들면, 종래의 UPnP는 장래의 어느 시점에 디바이스(2)의 파워를 온/오프하거나, 장래의 어느 시점에 디바이스(2)의 특정 기능을 수행하도록 예약할 수 없다. 이와 같은 예약 기능은 TV, 오디오, 세탁기 등과 같은 가전 기기들에서 필수적으로 요구되는 기능임을 고려할 때, 디바이스(2)의 기능들을 예약하는 서비스는 절실하게 요구되고 있다.
본 발명이 이루고자 하는 기술적 과제는 UPnP 상에서 제어 포인트가 디바이스의 기능들을 예약할 수 있도록 하는 방법 및 장치를 제공하는데 있다. 또한, 상기된 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공하는데 있다.
상기 기술적 과제를 해결하기 위한 본 발명에 따라, 네트워크 상에서 디바이스를 발견하고 제어하는 제어 포인트에서의 예약 방법은 상기 네트워크 상에서 상기 디바이스를 발견하는 단계; 및 상기 발견된 디바이스가 소정 시간에 소정 명령을 수행할 것을 예약하는 단계를 포함한다.
상기 다른 기술적 과제를 해결하기 위한 본 발명에 따라, 네트워크 상에서 디바이스를 발견하고 제어하는 제어 포인트에서의 예약 장치는 상기 네트워크 상에서 상기 디바이스를 발견하는 발견 모듈; 및 상기 발견 모듈에 의해 발견된 디바이스가 소정 시간에 소정 명령을 수행할 것을 예약하는 제어 모듈을 포함한다.
상기 또 다른 기술적 과제를 해결하기 위하여, 본 발명은 상기된 예약 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공한다.
상기 또 다른 기술적 과제를 해결하기 위한 본 발명에 따라, 네트워크 상에 위치한 제어 포인트에 의해 발견되고 제어되는 디바이스에서의 예약 처리 방법은 상기 제어 포인트에게 상기 디바이스를 광고하는 메시지를 전송하는 단계; 및 상기 전송된 메시지를 수신한 제어 포인트의 예약에 따라 소정 시간에 소정 명령을 수행하는 단계를 포함한다.
상기 또 다른 기술적 과제를 해결하기 위한 본 발명에 따라, 네트워크 상에 위치한 제어 포인트에 의해 발견되고 제어되는 디바이스에서의 예약 처리 장치는 상기 제어 포인트에게 상기 디바이스를 광고하는 메시지를 전송하는 발견 모듈; 및 상기 발견 모듈에 의해 전송된 메시지를 수신한 제어 포인트의 예약에 따라 소정 시간에 소정 명령을 수행하는 제어 모듈을 포함한다.
상기 또 다른 기술적 과제를 해결하기 위하여, 본 발명은 상기된 예약 처리 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공한다.
이하에서는 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다.
도 2는 본 발명의 바람직한 일 실시예에 따른 UPnP 네트워크 시스템의 구성도이다.
도 2를 참조하면, 본 실시예에 따른 UPnP 네트워킹 시스템은 제어 포인트(3) 및 디바이스(4)로 구성된다.
제어 포인트(3)는 UPnP에 따라 홈 네트워크 상에서 디바이스를 발견하고, 이것을 제어한다. 이에 따라, 디바이스(4)는 UPnP에 따라 홈 네트워크에 위치한 제어 포인트(3)에 의해 발견되고, 이것에 의한 제어를 받는다.
특히, 본 실시예에 따르면, 디바이스(4)는 소정 시간에 소정 명령을 수행할 것을 예약하는 새로운 서비스인 타이머(timer) 서비스를 제공한다. 이에 따라, 제어 포인트(3)는 이 타이머 서비스에 대한 명세에 기초하여 디바이스(4)가 소정 시간에 소정 명령을 수행할 것을 예약한다. 타이머 서비스는 도 2에 도시된 바와 같은 API 함수의 일종인 UPnP 액션들, 예를 들면 "GetReservationCapability()", "GetCurrentTime()", "SetCurrentTime()", "SetReservation(futureTime, command, args, ...)", "GetReservationList()", "DeleteReservation(commandId, ...)", "GetReservationResult(commandId, ...)" 등을 제공한다. 즉, 제어 포인트(3)는 이과 같은 액션들을 호출함으로서 디바이스(4)가 소정 시간에 소정 명령을 수행할 것을 예약할 수 있다.
나아가, 디바이스(4), 즉 루트 디바이스인 TV(Television)의 임베디드 (embedded) 디바이스인 튜너(21)와 디스플레이 패널(22)의 경우 그 각각이 독립적으로 파워 관리가 가능하기 때문에 튜너(21)와 디스플레이 패널(22) 별로 타이머 서비스를 제공할 수 있다. 즉, 디바이스(4)는 루트 디바이스의 타이머 서비스를 제공하고, 이와 함께 임베디드 디바이스의 타이머 서비스도 제공함으로서 디바이스(4)의 전체 파워를 관리하고, 디바이스(4)의 임베디드 디바이스들(21, 22)에 대한 부분적인 파워도 관리할 수 있게 된다.
도 3은 본 발명의 바람직한 일 실시예에 따른 예약 장치의 구성도이다.
도 3을 참조하면, 본 실시예에 따른 제어 포인트(3)의 예약 장치는 주소 모듈(31), 발견 모듈(32), 명세 모듈(33), 제어 모듈(34), 이벤트 모듈(35) 및 표현 모듈(36)로 구성된다.
주소 모듈(31)은 UPnP의 주소(addressing) 단계를 수행한다. 즉, 주소 모듈(31)은 제어 포인트(3)의 IP 주소를 결정한다. 보다 상세하게 설명하면, 주소 모듈(31)은 홈 네트워크 상에 DHCP 서버(미 도시)가 존재한다면, 이 DHCP 서버로부터 어느 하나의 IP 주소를 할당받고, 이 IP 주소를 제어 포인트(3)의 IP 주소로 결정한다. 만약, 홈 네트워크 상에 DHCP 서버가 존재하지 않는다면, 주소 모듈(31)은 UPnP의 오토(Auto) IP를 사용하여 IP 주소를 획득하고, 이 IP 주소를 제어 포인트(3)의 IP 주소로 결정한다.
발견 모듈(32)은 UPnP의 발견(discovery) 단계를 수행한다. 즉, 발견 모듈(32)은 주소 모듈(31)에 의해 결정된 제어 포인트(3)의 IP 주소를 사용하여 홈 네트워크 상에서 디바이스(4)를 발견한다. 홈 네트워크에 디바이스(4)가 추가된 경우 라면, 발견 모듈(32)은 디바이스(4)로부터 디바이스(4)를 광고하는 발견 메시지를 수신함으로서 홈 네트워크 상에서 디바이스(4)를 발견한다. 홈 네트워크에 제어 포인트(4)가 추가된 경우라면, 발견 모듈(32)은 홈 네트워크 상에 존재하는 디바이스들을 검색하는 메시지를 전송하고, 이 검색 메시지에 대한 응답으로서 디바이스(4)로부터 디바이스(4)를 광고하는 발견 메시지를 수신함으로서 홈 네트워크 상에서 디바이스(4)를 발견한다.
명세 모듈(33)은 UPnP의 명세(description) 단계를 수행한다. 즉, 명세 모듈(33)은 발견 모듈(32)에 의해 발견된 디바이스(4)로부터 디바이스(4)에 대한 명세를 획득한다. 보다 상세하게 명세하면, 명세 모듈(33)은 디바이스(4)로부터 획득된 발견 메시지에 포함된 디바이스 명세에 대한 URL, 즉 "URL for UPnP description for root device"로부터 디바이스(4)에 대한 명세를 획득한다.
도 4는 본 발명의 바람직한 일 실시예에 따른 디바이스 명세를 도시한 도면이다.
도 4에 도시된 디바이스 명세는 디바이스(4)에 대한 명세로서 XML(Extensible Markup Language)로 작성된 문서이다. 도 4를 참조하면, "<serviceType>urn:schemas-samsung-com:service:service:Timer:1</serviceType>"로부터 디바이스(4)가 타이머 서비스를 제공하고 있음을 알 수 있다.
또한, "<serviceId>urn:schemas-samsung-com:serviceId:Timer1</serviceId>" 및 "<serviceId>urn:schemas-samsung-com:serviceId:TunerTimer</serviceId>"로부터 디바이스(4)의 루트 디바이스인 TV가 제공하는 타이머 서비스와는 별도로 디바 이스(4)의 임베디드(embedded) 디바이스인 튜너가 타이머 서비스를 제공하고 있음을 알 수 있다.
또한, 명세 모듈(33)은 도 4에 도시된 디바이스(4)에 대한 명세에 포함된 서비스 명세에 대한 URL, 즉 "URL to service description"으로부터 디바이스(4)가 제공하는 서비스에 대한 명세를 획득한다. 특히, 본 실시예에 따르면, 명세 모듈(33)은 도 4에 도시된 디바이스(4)에 대한 명세에 포함된 타이머 서비스 명세에 대한 URL, 즉 "<SCPDURL>http://123.45.6.7/mainPowerControl.xml</SCPDURL>"으로부터 타이머 서비스에 대한 명세를 획득한다.
나아가, 명세 모듈(33)은 도 4에 도시된 디바이스(4)에 대한 명세에 포함된, 디바이스(4)의 임베디드 디바이스(21)가 제공하는 타이머 서비스 명세에 대한 URL, 즉 "<SCPDURL>http://123.45.6.7/tunerPowerControl.xml</SCPDURL>"으로부터 디바이스(4)의 임베디드 디바이스(21)가 제공하는 타이머 서비스에 대한 명세를 획득한다.
도 5a-5c는 본 발명의 바람직한 일 실시예에 따른 타이머 서비스 명세를 도시한 도면이다.
도 5a-5c에 도시된 타 서비스 명세는 디바이스(4)가 제공하는 타이머 서비스에 대한 명세로서 XML(Extensible Markup Language)로 작성된 문서이다. 도 5a-5c를 참조하면, 이 타이머 서비스에 대한 명세는 디바이스(4) 내의 타이머 서비스가 제공하는 액션들의 목록과 이 액션들 각각의 인수(argument)들의 목록으로 구성되어 있음을 알 수 있다.
제어 모듈(34)은 UPnP 제어(control) 단계를 수행한다. 즉, 제어 모듈(34)은 명세 모듈(33)에 의해 획득된 디바이스(4)에 대한 명세에 기초하여 디바이스(4)를 제어한다. 보다 상세하게 설명하면, 제어 모듈(34)은 디바이스(4)에 대한 명세에 포함된, 어떤 서비스를 제어하기 위한 URL, 즉 "URL for control"에 대하여 이 서비스에 대한 명세에 포함된, 액션들 중 어느 하나를 호출함으로서 디바이스(4)를 제어한다.
특히, 본 실시예에 따르면, 제어 모듈(34)은 발견 모듈(32)에 의해 발견된 디바이스(4)에 대해 디바이스(4)가 소정 시간에 소정 명령을 수행할 것을 예약한다. 보다 상세하게 설명하면, 제어 모듈(34)은 명세 모듈(33)에 의해 획득된 타이머 서비스 명세에 기초하여 디바이스(4)가 제공하는 타이머 서비스에 대한 명세에 포함된 액션들 중 어느 하나를 호출함으로서 디바이스(4)가 소정 시간에 소정 명령을 수행할 것을 예약한다.
나아가, 제어 모듈(34)은 발견 모듈(32)에 의해 발견된 디바이스(4)의 임베디드 디바이스(21)에 대해 임베디드 디바이스(21)가 소정 시간에 소정 명령을 수행할 것을 예약한다. 보다 상세하게 설명하면, 제어 모듈(34)은 명세 모듈(33)에 의해 획득된, 디바이스(4)의 임베디드 디바이스(21)가 제공하는 타이머 서비스 명세에 기초하여 임베디드 디바이스(21)가 제공하는 타이머 서비스에 대한 명세에 포함된 액션들 중 어느 하나를 호출함으로서 소정 시간에 소정 명령을 수행할 것을 예약한다.
도 5a-5c에 도시된 타이머 서비스 명세를 참조하여 구체적으로 설명하면, 제 어 모듈(34)은 도 5a-5c에 도시된 타이머 서비스 명세에 포함된 액션들 중, "GetReservationCapability()"를 호출함으로서 디바이스(4)가 제어 포인트(3)의 예약에 따라 수행할 수 있는 명령들의 목록을 제공하여 줄 것을 요청한다. 이후, 제어 모듈(34)은 이 요청에 대한 응답으로부터 상기된 명령들의 목록을 획득한다. 즉, 제어 모듈(34)은 이 액션의 호출에 대한 반환 값으로부터 상기된 명령들의 목록, 즉 "commandCapList"를 획득한다. 특히, 상기된 명령들은 본 실시예에서 새롭게 정의된 명령일 수도 있고, 컨텐트 디렉토리 서비스(Content Directory Service) 등과 같은 기존의 서비스에서 정의된 액션일 수도 있다. 예를 들면, 컨텐트 디렉토리 서비스의 "browse()", "search()" 등이 상기된 명령이 될 수도 있다.
또한, 제어 모듈(34)은 도 5a-5c에 도시된 타이머 서비스 명세에 포함된 액션들 중, "GetCurrentTime()"를 호출함으로서 디바이스(4)의 로컬 시간을 제공하여 줄 것을 요청한다. 이후, 제어 모듈(34)은 이 요청에 대한 응답으로부터 디바이스(4)의 로컬 시간을 획득한다. 즉, 제어 모듈(34)은 이 액션의 호출에 대한 반환 값으로부터 디바이스(4)의 로컬 시간, 즉 "localTime"을 획득한다. 특히, "commandCapList"가 어떤 명령들의 목록이 아니고 "*"이면, 디바이스(4)가 모든 명령을 예약 받아서 수행할 수 있음을 나타낸다.
또한, 제어 모듈(34)은 도 5a-5c에 도시된 타이머 서비스 명세에 포함된 액션들 중, "SetCurrentTime(curTime, ...)"를 호출함으로서 이 액션 호출에 포함된 현재 시간, 즉 "curTime"으로 디바이스(4)의 로컬 시간을 설정할 것을 요청한다. 특히, 제어 모듈(34)은 표현 모듈(36)에 의해 표현된 "localTime"을 인지한 사용자 로부터 "localTime"이 아닌 다른 시간인 "curTime"을 선택받은 경우에 사용자에 의해 선택된 "curTime"으로 디바이스(4)의 로컬 시간을 설정할 것을 요청한다. 일반적으로, "curTime"은 제어 모듈(34)의 현재 시간이다. 이후, 제어 모듈(34)은 이 이 요청에 대한 응답으로부터 디바이스(4)의 로컬 시간이 정상적으로 설정되었는지를 확인할 수 있다. 즉, 제어 모듈(34)은 이 액션의 호출에 대한 반환 값으로부터 디바이스(4)의 로컬 시간이 정상적으로 설정되었는지를 확인할 수 있다.
또한, 제어 모듈(34)은 도 5a-5c에 도시된 타이머 서비스 명세에 포함된 액션들 중에서 "SetReservation(futureTime, command, args, ...)"를 호출함으로서 이 액션 호출에 포함된 소정 시간, 즉 "futureTime"에 소정 명령, 즉 "command"를 수행할 것을 예약한다. 특히, 제어 모듈(34)은 표현 모듈(36)에 의해 표현된 "commandCapList"를 인지한 사용자로부터 "commandCapList" 중 어느 하나를 선택받은 경우에 사용자에 의해 선택된 명령을 "command" 인수(argument)로서 포함하는 "SetReservation(futureTime, command, args, ...)"를 호출함으로서 사용자에 의해 선택된 명령을 수행할 것을 예약한다.
또한, 제어 모듈(34)은 "SetCurrentTime(curTime, ...)" 호출에 포함된 "curTime"을 기준으로 "SetReservation(futureTime, command, args, ...)"를 호출할 수 있다. 이후, 제어 모듈(34)은 이 액션의 호출에 대한 반환 값으로부터 이 액션 호출이 디바이스(4) 내의 타이머 서비스에 정상적으로 등록되었는지를 확인할 수 있다. 여기에서, "futureTime"은 "년:월:일:시"의 형태로 표시될 수도 있고, "현재 시간 이후의 일정 시간"의 형태로 표시될 수도 있다. 또한, "futureTime"이 0 인 경우에는 즉시 수행되어야 할 명령임을 나타낸다.
예를 들어, 제어 모듈(34)은 "SetReservation(2006:1:1:0:00, PowerOn, args, ...)"를 호출함으로서 디바이스(4)가 2006년 1월 1일 0시에 디바이스(4)의 파워 온을 수행할 것을 예약할 수 있다. 또한, 제어 모듈(34)은 "SetReservation(2006:1:1:1:00, PowerOff, args, ...)"를 호출함으로서 디바이스(4)가 2006년 1월 1일 1시에 디바이스(4)의 파워 오프를 수행할 것을 예약할 수 있다.
다만, "SetReservation(2006:1:1:0:00, PowerOn, args, ...)"는 별도의 액션인 PowerOn()로 구현될 수도 있고, "SetReservation(2006:1:1:1:00, PowerOff, args, ...)"는 별도의 액션인 PowerOff()로 구현될 수도 있음을 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 이해할 수 있다.
또한, 제어 모듈(34)은 도 5a-5c에 도시된 타이머 서비스 명세에 포함된 액션들 중, "GetReservationList()"를 호출함으로서 디바이스(4)에 의한 수행이 예약된 명령들의 목록을 제공하여 줄 것을 요청한다. 이후, 제어 모듈(34)은 이 요청에 대한 응답으로부터 디바이스(4)에 의한 수행이 예약이 명령들의 목록을 획득한다. 즉, 제어 모듈(34)은 이 액션의 호출에 대한 반환 값으로부터 디바이스(4)에 의한 수행이 예약된 명령들의 목록, 즉 "futureCommandList"를 획득한다.
또한, 제어 모듈(34)은 도 5a-5c에 도시된 타이머 서비스 명세에 포함된 액션들 중, "DeleteReservation(commandId, ...)"를 호출함으로서 디바이스(4)에 의한 수행이 예약된 명령들 중 어느 하나, 즉 "commandId"에 해당하는 액션을 삭제할 것을 요청한다. 특히, 제어 모듈(34)은 표현 모듈(36)에 의해 표현된 "futureCommandList"를 인지한 사용자로부터 "futureCommandList" 중 어느 하나를 선택받은 경우에 사용자에 의해 선택된 명령을 "commandId" 인수로서 포함하는 "DeleteReservation(commandId, ...)"를 호출함으로서 사용자에 의해 선택된 명령을 삭제할 것을 요청한다. 이후, 제어 모듈(34)은 이 요청에 대한 응답으로부터 디바이스(4)에 현재 예약된 명령들의 목록으로부터 사용자에 의해 선택된 명령이 정상적으로 삭제되었는지를 확인할 수 있다. 즉, 제어 모듈(34)은 이 액션의 호출에 대한 반환 값으로부터 디바이스(4)가 디바이스(4)에 현재 예약된 명령들의 목록으로부터 "commandId"에 해당하는 명령이 정상적으로 삭제되었는지를 확인할 수 있다.
또한, 제어 모듈(34)은 도 5a-5c에 도시된 타이머 서비스 명세에 포함된 액션들 중, "GetReservationResult(commandId, ...)"를 호출함으로서 "commandId"에 해당하는 명령을 수행한 결과를 제공하여 줄 것을 요청한다. 이후, 제어 모듈(34)은 이 요청에 대한 응답으로부터 "commandId"에 해당하는 명령을 수행한 결과를 획득한다. 즉, 제어 모듈(34)은 이 액션의 호출에 대한 반환 값으로부터 "commandId"에 해당하는 명령이 정상적으로 수행되었는지를 확인할 수 있다.
이벤트 모듈(35)은 UPnP 이벤트(event) 단계를 수행한다. 즉, 이벤트 모듈(35)은 제어 모듈(34)에서의 제어에 따라 제어되는 디바이스(4)로부터 디바이스(5)의 상태 변화를 알리는 이벤트 메시지를 수신한다. 특히, 본 실시예에 따르면, UPnP의 기존 상태 변수들에 타이머 서비스에 관한 상태 변수인 파워 상태 ("PowerState")가 추가된다. 이 파워 상태는 디바이스(4)의 현재 파워 상태를 나타내는 변수이다. 즉, 이벤트 모듈(35)은 디바이스(4)의 현재 파워 상태가 변화된 경우에 디바이스(4)의 파워 온/오프 변화를 알리는 이벤트 메시지를 수신한다.
표현 모듈(36)은 UPnP 표현(presentation) 단계를 수행한다. 즉, 표현 모듈(36)은 명세 모듈(33)에 의해 획득된 디바이스(4)에 대한 명세에 기초하여 사용자에게 디바이스(4)를 표현한다. 보다 상세하게 설명하면, 표현 모듈(34)은 표현 페이지의 URL, 즉 "URL for presentation"에 대하여 표현 페이지를 요청하고, 이 요청에 대한 응답으로부터 표현 페이지를 획득한다. 또한, 표현 모듈(36)은 이 표현 페이지를 브라우저(미 도시)에 로드함으로서 사용자에게 표현한다. 이 브라우저는 제어 포인트(3)에 탑재될 수 있고, 디바이스(4)에 탑재될 수도 있으며, 제어 포인트(3) 및 디바이스(4)가 아닌 다른 디바이스에 탑재될 수도 있다.
특히, 본 실시예에 따르면, 표현 모듈(36)은 제어 모듈(34)에 의해 획득된 "localTime"을 사용자에게 표현한다. 또한, 표현 모듈(36)은 제어 모듈(36)에 의해 획득된 "commandCapList"를 사용자에게 표현한다. 또한, 표현 모듈(36)은 제어 모듈(36)에 의해 획득된 "futureCommandList"를 사용자에게 표현한다.
도 3을 참조하면, 본 실시예에 따른 디바이스(4)의 예약 처리 장치는 주소 모듈(41), 발견 모듈(42), 명세 모듈(43), 제어 모듈(44), 로컬 클록(45), 파워 제어기(46), NV(Non-Volatile) 메모리(47), 이벤트 모듈(48) 및 표현 모듈(49)로 구성된다.
주소 모듈(41)은 UPnP의 주소 단계를 수행한다. 즉, 주소 모듈(41)은 디바이 스(4)의 IP 주소를 결정한다. 보다 상세하게 설명하면, 주소 모듈(41)은 홈 네트워크 상에 DHCP 서버(미 도시)가 존재한다면, 이 DHCP 서버로부터 어느 하나의 IP 주소를 할당받고, 이 IP 주소를 디바이스(4)의 IP 주소로 결정한다. 만약, 홈 네트워크 상에 DHCP 서버가 존재하지 않는다면, 주소 모듈(41)은 UPnP의 오토(Auto) IP를 사용하여 IP 주소를 획득하고, 이 IP 주소를 디바이스(4)의 IP 주소로 결정한다.
발견 모듈(42)은 UPnP의 발견 단계를 수행한다. 즉, 발견 모듈(42)은 주소 모듈(41)에 의해 결정된 디바이스(4)의 IP 주소를 사용하여 홈 네트워크 상에 위치한 제어 포인트에 의해 발견된다. 홈 네트워크에 디바이스(4)가 추가된 경우라면, 발견 모듈(42)은 제어 포인트(3)에게 디바이스(4)를 광고하는 발견 메시지를 전송함으로서 제어 포인트(3)가 홈 네트워크 상에서 디바이스(4)를 발견할 수 있도록 한다. 홈 네트워크에 제어 포인트(4)가 추가된 경우라면, 발견 모듈(42)은 제어 포인트(3)로부터 홈 네트워크 상에 존재하는 디바이스들을 검색하는 메시지를 수신하고, 이 검색 메시지에 대한 응답으로 디바이스(4)를 광고하는 발견 메시지를 전송함으로서 제어 포인트(3)가 홈 네트워크 상에서 디바이스(4)를 발견할 수 있도록 한다.
명세 모듈(43)은 UPnP의 명세 단계를 수행한다. 즉, 명세 모듈(43)은 발견 모듈(42)에 의해 전송된 발견 메시지를 수신한 제어 포인트(3)에게 디바이스(4)에 대한 명세를 제공한다. 보다 상세하게 명세하면, 명세 모듈(43)은 제어 포인트(3)가 발견 메시지에 포함된 디바이스 명세에 대한 URL, 즉 "URL for UPnP description for root device"에 접근하면, 제어 포인트(3)에게 디바이스(4)에 대 한 명세를 제공한다.
또한, 명세 모듈(43)은 제어 포인트(3)가 도 4에 도시된 디바이스(4)에 대한 명세에 포함된 서비스 명세에 대한 URL, 즉 "URL to service description"에 접근하면, 제어 포인트(3)에게 디바이스(4)가 제공하는 서비스에 대한 명세를 제공한다. 특히, 본 실시예에 따르면, 명세 모듈(43)은 제어 포인트(3)가 도 4에 도시된 디바이스(4)에 대한 명세에 포함된 타이머 서비스 명세에 대한 URL, 즉 "<SCPDURL>http://123.45.6.7/mainPowerControl.xml</SCPDURL>"에 접근하면, 제어 포인트(3)에게 타이머 서비스에 대한 명세를 제공한다.
나아가, 명세 모듈(43)은 제어 포인트(3)가 도 4에 도시된 디바이스(4)에 대한 명세에 포함된, 디바이스(4)의 임베디드 디바이스(21)가 제공하는 서비스 명세에 대한 URL, 즉 "URL to service description"에 접근하면, 제어 포인트(3)에게 디바이스(4)의 임베디드 디바이스(21)가 제공하는 서비스에 대한 명세를 제공한다. 특히, 본 실시예에 따르면, 명세 모듈(43)은 제어 포인트(3)가 도 4에 도시된 디바이스(4)에 대한 명세에 포함된 타이머 서비스 명세에 대한 URL, 즉 "<SCPDURL>http://123.45.6.7/tunerPowerControl.xml</SCPDURL>"에 접근하면, 제어 포인트(3)에게 타이머 서비스에 대한 명세를 제공한다.
제어 모듈(44)은 UPnP 제어 단계를 수행한다. 즉, 제어 모듈(44)은 명세 모듈(43)에 의해 제공된 디바이스(4)에 대한 명세를 획득한 제어 포인트(3)로부터의 제어를 받는다. 보다 상세하게 설명하면, 제어 모듈(44)은 제어 포인트(3)가 디바이스(4)에 대한 명세에 포함된, 어떤 서비스를 제어하기 위한 URL, 즉 "URL for control"에 접근하여 디바이스(4)가 제공하는 서비스에 대한 명세에 포함된, 액션들 중 어느 하나를 호출하면, 이것을 수신함으로서 제어 포인트(3)로부터의 제어를 받는다.
특히, 본 실시예에 따르면, 제어 모듈(44)은 발견 모듈(42)에 의해 전송된 발견 메시지를 수신하고, 디바이스(4)에 대한 명세 및 디바이스(4)가 제공하는 타이머 서비스에 대한 명세를 획득한 제어 포인트(3)로부터 디바이스(4)가 소정 시간에 소정 명령을 수행하라는 예약을 수신하면, 제어 포인트(3)의 예약에 따라 소정 시간에 소정 명령을 수행한다. 나아가, 제어 모듈(44)은 디바이스(4)의 임베디드 디바이스(21)가 제공하는 타이머 서비스에 대한 명세를 획득한 제어 포인트(3)로부터 임베디드 디바이스(21)가 소정 시간에 소정 명령을 수행하라는 예약을 수신하면, 제어 포인트(3)의 예약에 따라 임베디드 디바이스 별로 소정 시간에 소정 명령을 수행한다.
보다 상세하게 설명하면, 제어 모듈(44)은 제어 포인트(3)로부터 소정 시간에 소정 명령을 수행할 것을 예약하는 타이머 서비스의 액션의 호출을 수신하면, 이 액션 호출을 제어 모듈(44) 내의 타이머 서비스에 등록한다. 이와 함께, 제어 모듈(44)은 상기된 소정 시간을 디바이스(4)의 파워 온 시간으로 설정할 것을 파워 제어기(46)에 지시하고, 상기된 소정 명령을 NV 메모리(45)에 저장한다. 이후, 상기된 소정 시간이 되면, 제어 모듈(44)은 파워 제어기(42)에 의한 파워 온에 따라 디바이스(4)의 파워가 온되고, 디바이스(4)의 파워가 온된 상태에서 제어 모듈(44) 내의 타이머 서비스는 NV 메모리(45)로부터 상기된 소정 명령을 찾아서 이것을 수 행한다. 또한, 제어 모듈(44)은 상기된 소정 명령의 수행이 완료되면, 디바이스(4)의 파워를 오프할 것을 파워 제어기(45)에 지시한다.
파워 제어기(45)는 제어 모듈(4)의 지시에 따라 상기된 소정 시간을 디바이스(4)의 파워 온 시간으로 설정한다. 또한, 파워 제어기(45)는 상기된 소정 시간에 디바이스(4)의 파워를 온한다. 또한, 파워 제어기(45)는 제어 모듈(4)의 지시에 따라 디바이스(4)의 파워를 오프한다.
NV 메모리(46)는 제어 모듈(44)이 제어 포인트(3)로부터 소정 시간에 소정 명령을 수행할 것을 예약하는 타이머 서비스의 액션의 호출을 수신한 경우에 이 소정 명령이 저장되는 비 휘발성 메모리이다. 따라서, 디바이스(4)의 파워가 오프되더라도 NV 메모리(46)에 저장된 소정 명령을 지워지지 않고 남아있게 된다.
도 5a-5c에 도시된 타이머 서비스 명세를 참조하여 구체적으로 설명하면, 제어 모듈(44) 내의 타이머 서비스는 도 5a-5c에 도시된 타이머 서비스 명세에 포함된 액션들 중, "GetReservationCapability()"의 호출을 수신하면, 디바이스(4)가 제어 포인트(3)의 예약에 따라 수행할 수 있는 명령들의 목록, 즉 "commandCapList"를 제공한다.
또한, 제어 모듈(44) 내의 타이머 서비스는 도 5a-5c에 도시된 타이머 서비스 명세에 포함된 액션들 중, "GetCurrentTime()"의 호출을 수신하면, 디바이스(4)의 로컬 시간, 즉 로컬 클록(47)의 클록 값인 "localTime"을 제공한다. 특히, 디바이스(4)가 모든 명령을 예약 받아서 수행할 수 있는 경우에는 "commandCapList"에 어떤 명령들의 목록을 기록하지 않고, "*"을 기록한다.
또한, 제어 모듈(44)은 도 5a-5c에 도시된 타이머 서비스 명세에 포함된 액션들 중, "SetCurrentTime(curTime, ...)"의 호출을 수신하면, 이 액션 호출에 포함된 현재 시간, 즉 "curTime"으로 디바이스(4)의 로컬 시간을 설정할 것을 로컬 클록(47)에 지시한다. 또한, 제어 모듈(44)은 이 액션의 호출에 대한 반환 값으로 디바이스(4)의 로컬 시간이 정상적으로 설정되었는지를 통보할 수 있다.
로컬 클록(47)은 디바이스(4)의 실시간(real time) 클록으로서 제어 포인트(3)의 로컬 클록과 동기되어 있지 않을 수 있다. 따라서, 로컬 클록(47)은 제어 모듈(44)에 이것의 클록 값을 제공하고, 제어 모듈(44)의 지시에 따라 "SetCurrentTime(curTime, ...)"의 호출에 포함된 "curTime"으로 디바이스(4)의 로컬 시간을 설정한다.
또한, 제어 모듈(44)은 도 5a-5c에 도시된 타이머 서비스 명세에 포함된 액션들 중에서 "SetReservation(futureTime, command, args, ...)"의 호출을 수신하면, 이 액션 호출에 포함된 소정 시간, 즉 "futureTime"에 소정 명령, 즉 "command"를 수행한다. 특히, 제어 모듈(44)은 "GetReservationCapability()"의 호출 수신에 따라 제공된 "commandCapList" 중 사용자에 의해 선택된 어느 하나를 수행한다. 또한, 제어 모듈(44)은 "SetCurrentTime(curTime, ...)" 호출 수신에 따라 설정된 디바이스(4)의 로컬 시간을 기준으로 소정 시간에 소정 명령을 수행한다. 또한, 제어 모듈(44)은 이 액션의 호출에 대한 반환 값으로 이 액션 호출이 제어 모듈(44) 내의 타이머 서비스에 정상적으로 등록되었는지를 통보할 수 있다.
예를 들어, 제어 모듈(44)은 "SetReservation(2006:1:1:0:00, PowerOn, args, ...)"의 호출을 수신하면, 2006년 1월 1일 0시에 디바이스(4)의 파워 온을 수행한다. 또한, 제어 모듈(44)은 이 액션의 호출에 대한 반환 값으로 2006년 1월 1일 0시에 디바이스(4)의 파워 온이 정상적으로 수행되었는지를 통보할 수 있다. 또한, 제어 모듈(44)은 "SetReservation(2006:1:1:1:00, PowerOff, args, ...)"의 호출을 수신하면, 2006년 1월 1일 1시에 디바이스(4)의 파워 오프를 수행한다. 이후, 제어 모듈(44)은 이 액션의 호출에 대한 반환 값으로 2006년 1월 1일 1시에 디바이스(4)의 파워 오프가 정상적으로 수행되었는지를 통보할 수 있다.
또한, 제어 모듈(44)은 도 5a-5c에 도시된 타이머 서비스 명세에 포함된 액션들 중, "GetReservationList()"의 호출을 수신하면, 디바이스(4)에 의한 수행이 예약된 명령들의 목록, 즉 "futureCommandList"를 제공한다.
또한, 제어 모듈(44)은 도 5a-5c에 도시된 타이머 서비스 명세에 포함된 액션들 중, "DeleteReservation(commandId, ...)"의 호출을 수신하면, 디바이스(4)에 의한 수행이 예약된 명령들 중 어느 하나, 즉 "commandId"에 해당하는 명령을 삭제한다. 또한, 제어 모듈(44)은 이 액션의 호출에 대한 반환 값으로 디바이스(4)에 현재 예약된 명령들의 목록으로부터 "commandId"에 해당하는 명령이 정상적으로 삭제되었는지를 통보할 수 있다.
또한, 제어 모듈(44)은 도 5a-5c에 도시된 타이머 서비스 명세에 포함된 액션들 중, "GetReservationResult(commandId, ...)"의 호출을 수신하면, 이 액션의 호출에 대한 반환 값으로 "commandId"에 해당하는 명령이 정상적으로 수행되었는지를 통보한다.
이벤트 모듈(48)은 UPnP 이벤트 단계를 수행한다. 즉, 이벤트 모듈(48)은 제어 포인트(3)의 제어에 따라 제어되는 디바이스(4)의 상태 변화를 알리는 이벤트 메시지를 전송한다. 특히, 본 실시예에 따르면, 이벤트 모듈(48)은 제어 포인트(3)에게 디바이스(4)의 현재 파워 상태가 변화된 경우에 디바이스(4)의 파워 온/오프 변화를 알리는 이벤트 메시지를 전송한다.
표현 모듈(46)은 UPnP 표현 단계를 수행한다. 즉, 표현 모듈(46)은 제어 포인트(3)에게 디바이스(4)를 표현하기 위한 정보를 제공한다. 보다 상세하게 설명하면, 표현 모듈(34)은 제어 포인트(3)가 표현 페이지의 URL, 즉 "URL for presentation"에 접근하면, 제어 포인트(3)에게 표현 페이지를 제공한다.
특히, 본 실시예에 따르면, 표현 모듈(46)은 제어 포인트(3)에게 상기된 "localTime"을 표현하는 페이지를 제공한다. 또한, 표현 모듈(46)은 제어 포인트(3)에게 상기된 "commandCapList"를 표현하는 페이지를 제공한다. 또한, 표현 모듈(46)은 제어 포인트(3)에게 상기된 "futureCommandList"를 표현하는 페이지를 제공한다.
도 6은 본 발명의 바람직한 일 실시예에 따른 예약 방법의 흐름도이다.
도 6을 참조하면, 본 실시예에 따른 예약 방법은 다음과 같은 단계들로 구성된다. 특히, 본 실시예에 따른 예약 방법은 도 3에 도시된 제어 포인트(3)에서 시계열적으로 처리되는 단계들로 구성된다. 따라서, 이하 생략된 내용이라 하더라도 도 3에 도시된 제어 포인트(3)에 관하여 이상에서 기술된 내용은 본 실시예에 따른 예약 방법에도 적용된다.
61 단계에서 제어 포인트(3)는 디바이스(4)로부터 디바이스(4)를 광고하는 발견 메시지를 수신함으로서 홈 네트워크 상에서 디바이스(4)를 발견한다.
62 단계에서 제어 포인트(3)는 61 단계에서 발견된 디바이스(4)로부터 디바이스(4)에 대한 명세를 획득한다.
63 단계에서 제어 포인트(3)는 62 단계에서 획득된 디바이스(4)에 대한 명세에 포함된 타이머 서비스 명세에 대한 URL로부터 디바이스(4)가 제공하는 타이머 서비스에 대한 명세를 획득한다.
64 단계에서 제어 포인트(3)는 63 단계에서 획득된 타이머 서비스 명세에 기초하여 디바이스(4)가 제공하는 타이머 서비스에 대한 명세에 포함된 액션들 중 어느 하나를 호출함으로서 디바이스(4)가 소정 시간에 소정 명령을 수행할 것을 예약한다.
도 7은 본 발명의 바람직한 일 실시예에 따른 예약 처리 방법의 흐름도이다.
도 7을 참조하면, 본 실시예에 따른 예약 처리 방법은 다음과 같은 단계들로 구성된다. 특히, 본 실시예에 따른 예약 처리 방법은 도 3에 도시된 디바이스(4)에서 시계열적으로 처리되는 단계들로 구성된다. 따라서, 이하 생략된 내용이라 하더라도 도 3에 도시된 디바이스(4)에 관하여 이상에서 기술된 내용은 본 실시예에 따른 예약 처리 방법에도 적용된다.
71 단계에서 디바이스(4)는 제어 포인트(3)에게 디바이스(4)를 광고하는 발견 메시지를 전송함으로서 제어 포인트(3)가 홈 네트워크 상에서 디바이스(4)를 발견할 수 있도록 한다.
72 단계에서 디바이스(4)는 71 단계에서 전송된 발견 메시지를 수신한 제어 포인트(3)에게 디바이스(4)에 대한 명세를 제공한다.
73 단계에서 디바이스(4)는 72 단계에서 제공된 디바이스(4)에 대한 명세를 획득한 제어 포인트(3)가 디바이스(4)에 대한 명세에 포함된 타이머 서비스 명세에 대한 URL에 접근하면, 제어 포인트(3)에게 디바이스(4)가 제공하는 타이머 서비스에 대한 명세를 제공한다.
74 단계에서 디바이스(4)는 73 단계에서 제공된 타이머 서비스에 대한 명세를 획득한 제어 포인트(3)로부터 소정 시간에 소정 명령을 수행할 것을 예약하는 타이머 서비스의 액션의 호출을 수신하면 75 단계로 진행하고, 이 액션 호출을 수신하지 못한 경우에는 대기한다.
75 단계에서 디바이스(4)는 74 단계에서 수신된 액션 호출에 포함된 소정 시간을 디바이스(4)의 파워 온 시간으로 설정하고, 소정 명령을 NV 메모리(45)에 저장한다.
76 단계에서 디바이스(4)는 디바이스(4)의 로컬 시간이 74 단계에서 설정된 파워 온 시간이 되면 77 단계로 진행하고, 아직 파워 온 시간이 되지 않은 경우에는 대기한다.
77 단계에서 디바이스(4)는 디바이스(4)의 파워를 온한다.
78 단계에서 디바이스(4)는 NV 메모리(45)로부터 상기된 소정 명령을 찾아서 이것을 수행한다.
79 단계에서 디바이스(4)는 상기된 소정 명령의 수행이 완료되면, 디바이스 (4)의 파워를 오프한다.
도 8은 본 발명의 바람직한 일 실시예에 따른 타이머 서비스의 이용 예를 도시한 도면이다.
도 8을 참조하면, 본 실시예에 따른 타이머 서비스를 이용하여 TV 예약 재생을 하는 과정은 다음과 같다.
81 단계에서 제어 포인트(3)는 "GetReservationCapability()"를 호출하고, 디바이스(4)는 이 액션 호출을 수신한다.
82 단계에서 디바이스(4)는 디바이스(4)가 제어 포인트(3)의 예약에 따라 수행할 수 있는 명령들의 목록, 즉 "commandCapList"를 제공한다. 이상의 과정이 수행되면, 사용자는 디바이스(4)가 제어 포인트(3)의 예약에 따라 수행할 수 있는 명령들의 목록을 알 수 있게 된다.
83 단계에서 제어 포인트(3)는 "GetCurrentTime()"을 호출하고, 디바이스(4)는 이 액션 호출을 수신한다.
84 단계에서 디바이스(4)는 디바이스(4)의 로컬 시간, 즉 로컬 클록(47)의 클록 값인 "localTime"을 제공한다.
85 단계에서 제어 포인트(3)는 "SetCurrentTime(curTime, ...)"을 호출하고, 디바이스(4)는 이 액션 호출을 수신한다.
86 단계에서 디바이스(4)는 이 액션 호출에 포함된 현재 시간, 즉 "curTime"으로 디바이스(4)의 로컬 시간을 설정하고, 디바이스(4)의 로컬 시간이 정상적으로 설정되었음을 통보한다. 이상의 과정이 수행되면, 제어 포인트(3)의 로컬 클록과 디바이스(4)의 로컬 클록은 서로 동기되게 된다.
87 단계에서 제어 포인트(3)는 "SetReservation(2006:1:1:7:00, play, args, ...)"를 호출하고, 디바이스(4)는 이 호출을 수신한다.
88 단계에서 디바이스(4)는 디바이스(4) 내의 타이머 서비스에 이 액션 호출을 등록하고, 디바이스(4) 내의 타이머 서비스에 이 액션 호출이 정상적으로 등록되었음을 통보한다.
89 단계에서 제어 포인트(3)는 "SetReservation(2006:1:2:7:00, play, args, ...)"를 호출하고, 디바이스(4)는 이 호출을 수신한다.
90 단계에서 디바이스(4)는 디바이스(4) 내의 타이머 서비스에 이 액션 호출을 등록하고, 디바이스(4) 내의 타이머 서비스에 이 액션 호출이 정상적으로 등록되었음을 통보한다.
91 단계에서 제어 포인트(3)는 "GetReservationList()"를 호출하고, 디바이스(4)는 이 호출을 수신한다.
92 단계에서 디바이스(4)는 디바이스(4)에 의한 수행이 예약된 명령들의 목록, 즉 "futureCommandList"를 제공한다. 이상의 과정이 수행되면, 사용자는 디바이스(4)에 의한 수행이 예약된 명령들의 목록, "play1", "play2"를 알 수 있게 된다. 여기에서, "play1"은 SetReservation(2006:1:1:7:00, play, args, ...)" 호출에 의해 예약된 명령의 아이디이고, "play2"는 "SetReservation(2006:1:2:7:00, play, args, ...)" 호출에 의해 예약된 명령의 아이디이다.
93 단계에서 제어 포인트(3)는 "DeleteReservation(play1, ...)"을 호출하 고, 디바이스(4)는 이 호출을 수신한다.
94 단계에서 디바이스(4)는 디바이스(4)가 제어 포인트(3)의 예약에 따라 수행할 수 있는 명령들 중 어느 하나, 즉 "play1"에 해당하는 명령을 삭제하고, 한다. 또한, 제어 모듈(44)은 이 액션의 호출에 대한 반환 값으로 디바이스(4)가 디바이스(4)에 현재 예약된 명령들의 목록으로부터 "play1"에 해당하는 명령이 정상적으로 삭제되었는지를 통보할 수 있다.
95 단계에서 디바이스(4)는 2006년 1월 2일 7시에 디바이스(4)의 파워를 온하고, TV 프로그램을 재생한다.
96 단계에서 디바이스(4)는 제어 포인트(3)에게 디바이스(4)의 파워가 온되었음을 알리는 이벤트 메시지를 전송한다.
97 단계에서 디바이스(4)는 이 TV 프로그램의 재생이 완료되면, 디바이스(4)의 파워를 오프한다.
98 단계에서 제어 포인트(3)는 "GetReservationResult(play2, ...)"을 호출하고, 디바이스(4)는 이 호출을 수신한다.
94 단계에서 디바이스(4)는 이 액션의 호출에 대한 반환 값으로 "play2"에 해당하는 명령이 정상적으로 수행되었음을 통보한다.
한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 또한, 상술한 본 발명의 실시예에서 사용된 데이터의 구조는 컴퓨터로 읽을 수 있는 기록매체에 여러 수단을 통하 여 기록될 수 있다.
상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드 디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 저장매체를 포함한다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
본 발명에 따르면, 제어 포인트가 소정 시간에 소정 명령을 수행할 것을 예약하는 액션을 호출하고, 디바이스가 이 액션 호출을 수신함에 따라 소정 시간에 소정 명령을 수행함으로서 UPnP 상에서 디바이스의 기능들을 예약할 수 있다는 효과가 있다. 이와 같은 예약 기능들을 이용함으로서 TV, 오디오, 세탁기 등과 같은 가전 기기들의 파워를 장래의 어느 시점에 온/오프하거나, 장래의 어느 시점에 이것들의 특정 기능을 수행하도록 예약할 수 있다는 효과가 있다.
나아가, 본 발명에 따르면, 디바이스의 타이머 서비스를 제공하고, 이와 함 께 이 디바이스의 임베디드 디바이스들 각각의 타이머 서비스도 제공함으로서 디바이스의 전체 파워를 관리하고, 디바이스의 임베디드 디바이스들에 대한 부분적인 파워도 관리할 수 있다는 효과가 있다.

Claims (18)

  1. 네트워크 상에서 디바이스를 발견하고 제어하는 제어 포인트에서의 예약 방법에 있어서,
    (a) 상기 네트워크 상에서 상기 디바이스를 발견하는 단계; 및
    (b) 상기 발견된 디바이스가 소정 시간에 소정 명령을 수행할 것을 예약하는 단계를 포함하는 것을 특징으로 하는 방법.
  2. 제 1 항에서,
    상기 (b) 단계는 상기 소정 시간에 상기 소정 명령을 수행할 것을 예약하는 액션을 호출함으로서 예약하는 것을 특징으로 하는 방법.
  3. 제 1 항에 있어서,
    상기 발견된 디바이스가 제공하는 서비스에 대한 명세를 획득하는 단계를 더 포함하고,
    상기 (b) 단계는 상기 획득된 명세에 기초하여 상기 소정 시간에 상기 소정 명령을 수행할 것을 예약하는 것을 특징으로 하는 방법.
  4. 제 1 항에 있어서,
    상기 발견된 디바이스의 임베디드 디바이스가 제공하는 서비스에 대한 명세 를 획득하는 단계를 더 포함하고,
    상기 (b) 단계는 상기 임베디드 디바이스가 제공하는 서비스에 대한 명세에 기초하여 상기 임베디드 디바이스가 상기 소정 시간에 상기 소정 명령을 수행할 것을 예약하는 것을 특징으로 하는 방법.
  5. 제 1 항에서,
    상기 디바이스가 상기 제어 포인트의 예약에 따라 수행할 수 있는 적어도 하나 이상의 명령의 목록을 제공하여 줄 것을 요청하는 단계; 및
    상기 요청에 대한 응답으로부터 상기 목록을 획득하는 단계를 더 포함하고,
    상기 (b) 단계는 상기 획득된 목록 중 어느 하나를 수행할 것을 예약하는 것을 특징으로 하는 방법.
  6. 제 1 항에서,
    상기 디바이스의 로컬 시간을 제공하여 줄 것을 요청하는 단계;
    상기 요청에 대한 응답으로부터 상기 디바이스의 로컬 시간을 획득하는 단계; 및
    상기 획득된 로컬 시간이 아닌 다른 시간으로 상기 디바이스의 로컬 시간을 설정할 것을 요청하는 단계를 더 포함하고,
    상기 (b) 단계는 상기 다른 시간을 기준으로 상기 소정 시간에 상기 소정 명령을 수행할 것을 예약하는 것을 특징으로 하는 방법.
  7. 제 1 항에서,
    상기 디바이스에 의한 수행이 예약된 적어도 하나 이상의 명령의 목록을 제공하여 줄 것을 요청하는 단계;
    상기 요청에 대한 응답으로부터 상기 목록을 획득하는 단계; 및
    상기 획득된 목록 중 어느 하나를 삭제할 것을 요청하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  8. 네트워크 상에서 디바이스를 발견하고 제어하는 제어 포인트에서의 예약 장치에 있어서,
    상기 네트워크 상에서 상기 디바이스를 발견하는 발견 모듈; 및
    상기 발견 모듈에 의해 발견된 디바이스가 소정 시간에 소정 명령을 수행할 것을 예약하는 제어 모듈을 포함하는 것을 특징으로 하는 장치.
  9. 제 1 항 내지 제 7 항 중에 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  10. 네트워크 상에 위치한 제어 포인트에 의해 발견되고 제어되는 디바이스에서의 예약 처리 방법에 있어서,
    (a) 상기 제어 포인트에게 상기 디바이스를 광고하는 메시지를 전송하는 단 계; 및
    (b) 상기 전송된 메시지를 수신한 제어 포인트의 예약에 따라 소정 시간에 소정 명령을 수행하는 단계를 포함하는 것을 특징으로 하는 방법.
  11. 제 10 항에 있어서,
    상기 소정 시간에 상기 소정 명령을 수행할 것을 예약하는 액션의 호출이 수신되면, 상기 소정 시간에 상기 디바이스의 파워를 온하는 단계를 더 포함하고,
    상기 (b) 단계는 상기 디바이스의 파워가 온된 상태에서 상기 소정 명령을 수행하는 것을 특징으로 하는 방법.
  12. 제 10 항에 있어서,
    상기 전송된 메시지를 수신한 제어 포인트에게 상기 디바이스가 제공하는 서비스에 대한 명세를 제공하는 단계를 더 포함하고,
    상기 (b) 단계는 상기 제공된 명세를 획득한 제어 포인트의 예약에 따라 상기 소정 시간에 상기 소정 명령을 수행하는 것을 특징으로 하는 방법.
  13. 제 10 항에 있어서,
    상기 제어 포인트에게 상기 디바이스의 임베디드 디바이스가 제공하는 서비스에 대한 명세를 제공하는 단계를 더 포함하고,
    상기 (b) 단계는 상기 임베디드 디바이스가 제공하는 서비스에 대한 명세를 획득한 제어 포인트의 예약에 따라 상기 임베디드 디바이스 별로 상기 소정 시간에 상기 소정 명령을 수행하는 것을 특징으로 하는 방법.
  14. 제 10 항에서,
    상기 제어 포인트의 요청에 따라 상기 디바이스가 상기 제어 포인트의 예약에 따라 수행할 수 있는 적어도 하나 이상의 명령의 목록을 제공하는 단계를 더 포함하고,
    상기 (b) 단계는 상기 제어 포인트의 예약에 따라 상기 목록 중 어느 하나를 수행하는 것을 특징으로 하는 방법.
  15. 제 10 항에서,
    상기 제어 포인트의 요청에 따라 상기 디바이스의 로컬 시간을 제공하는 단계; 및
    상기 로컬 시간을 획득한 제어 포인트의 요청에 따라 상기 로컬 시간이 아닌 다른 시간으로 상기 디바이스의 로컬 시간을 설정하는 단계를 더 포함하고,
    상기 (b) 단계는 상기 설정된 로컬 시간을 기준으로 상기 소정 시간에 상기 소정 명령을 수행하는 것을 특징으로 하는 방법.
  16. 제 10 항에서,
    상기 제어 포인트의 요청에 따라 상기 디바이스에 의한 수행이 예약된 적어 도 하나 이상의 명령의 목록을 제공하는 단계; 및
    상기 목록을 획득한 제어 포인트의 요청에 따라 상기 목록 중 어느 하나를 삭제하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  17. 네트워크 상에 위치한 제어 포인트에 의해 발견되고 제어되는 디바이스에서의 예약 처리 장치에 있어서,
    상기 제어 포인트에게 상기 디바이스를 광고하는 메시지를 전송하는 발견 모듈; 및
    상기 발견 모듈에 의해 전송된 메시지를 수신한 제어 포인트의 예약에 따라 소정 시간에 소정 명령을 수행하는 제어 모듈을 포함하는 것을 특징으로 하는 장치.
  18. 제 10 항 내지 제 16 항 중에 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020060007883A 2006-01-25 2006-01-25 UPnP 상에서 디바이스의 기능을 예약하는 방법 및 장치 KR100750160B1 (ko)

Priority Applications (6)

Application Number Priority Date Filing Date Title
KR1020060007883A KR100750160B1 (ko) 2006-01-25 2006-01-25 UPnP 상에서 디바이스의 기능을 예약하는 방법 및 장치
JP2008552212A JP2009524871A (ja) 2006-01-25 2007-01-11 UPnP上でデバイスの機能を予約する方法及び装置
CNA2007800014125A CN101356766A (zh) 2006-01-25 2007-01-11 用于预定UPnP装置的功能的方法和设备
EP07700793A EP1977556A4 (en) 2006-01-25 2007-01-11 METHOD AND APPARATUS FOR RESERVING A FUNCTION OF A UPNP DEVICE
US12/161,737 US20100250721A1 (en) 2006-01-25 2007-01-11 Method and apparatus for reserving function of upnp device
PCT/KR2007/000001 WO2007086652A1 (en) 2006-01-25 2007-01-11 Method and apparatus for reserving function of upnp device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060007883A KR100750160B1 (ko) 2006-01-25 2006-01-25 UPnP 상에서 디바이스의 기능을 예약하는 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20070077954A true KR20070077954A (ko) 2007-07-30
KR100750160B1 KR100750160B1 (ko) 2007-08-17

Family

ID=38309402

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060007883A KR100750160B1 (ko) 2006-01-25 2006-01-25 UPnP 상에서 디바이스의 기능을 예약하는 방법 및 장치

Country Status (6)

Country Link
US (1) US20100250721A1 (ko)
EP (1) EP1977556A4 (ko)
JP (1) JP2009524871A (ko)
KR (1) KR100750160B1 (ko)
CN (1) CN101356766A (ko)
WO (1) WO2007086652A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8788888B2 (en) * 2008-03-14 2014-07-22 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus for providing end user notification in a UPnP network
US7863779B1 (en) * 2008-04-28 2011-01-04 Andres Pineda Energy management and power distribution method and system
CN101778020A (zh) * 2009-01-13 2010-07-14 华为终端有限公司 通用即插即用设备数据模型发现及通知的方法、装置和系统
CN102209022B (zh) * 2010-03-31 2014-12-17 华为终端有限公司 设备控制方法、网络设备及网络系统

Family Cites Families (23)

* 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
US20030005130A1 (en) * 2001-06-29 2003-01-02 Cheng Doreen Yining Audio-video management in UPnP
JP2003087871A (ja) * 2001-09-10 2003-03-20 Canon Inc ホームバスシステム
JP3715584B2 (ja) * 2002-03-28 2005-11-09 富士通株式会社 機器制御装置および機器制御方法
JP3747887B2 (ja) * 2002-06-14 2006-02-22 ブラザー工業株式会社 設定情報送受信システム、送信機器、及びプログラム
JP2004056394A (ja) * 2002-07-18 2004-02-19 Fujitsu Ltd Lanを介して取込装置および蓄積装置を制御するための制御装置、およびそのための取込装置、蓄積装置、プログラムおよび方法
FR2848051B1 (fr) * 2002-12-03 2005-02-25 Canon Res Ct France Sa PASSERELLE ET PROCEDE POUR L'INTERCONNEXION DE DEUX RESEAUX, NOTAMMENT UN RESEAU HAVI ET UN RESEAU UPnP
US8561069B2 (en) * 2002-12-19 2013-10-15 Fujitsu Limited Task computing
EP1595354A1 (en) * 2003-02-12 2005-11-16 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 삼성전자주식회사 협업 서비스를 위한 홈 네트워크 시스템 및 방법
JPWO2004095293A1 (ja) * 2003-04-24 2006-07-13 三菱電機株式会社 映像情報システム、およびモジュールユニット
JP2004348455A (ja) * 2003-05-22 2004-12-09 Sony Corp 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
KR100596755B1 (ko) * 2003-05-30 2006-07-04 엘지전자 주식회사 홈 네트워크 시스템
CN1771695B (zh) * 2003-05-30 2010-09-29 Lg电子株式会社 家庭网络系统
CN1871820A (zh) * 2003-10-27 2006-11-29 皇家飞利浦电子股份有限公司 在UPnP中记录排定的广播
KR100550774B1 (ko) * 2003-11-20 2006-02-08 엘지전자 주식회사 모바일 홈 네트워크 시스템의 예약정보처리장치
EP1690370B1 (en) * 2003-12-01 2017-02-22 Samsung Electronics Co., Ltd. Home network system and method therefor
US7154862B2 (en) * 2003-12-31 2006-12-26 Openpeak Inc. Device control system, method, and apparatus for server-based or peer-to-peer network environments
JP2007519325A (ja) * 2003-12-31 2007-07-12 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ホームネットワーク中の時間シフト装置
US20050182816A1 (en) * 2004-02-12 2005-08-18 Wanrong Lin Automated dissemination of presence and availability schedule
KR20050094246A (ko) * 2004-03-22 2005-09-27 엘지전자 주식회사 홈네트워크 시스템 및 그 동작방법
KR100896245B1 (ko) * 2004-04-28 2009-05-08 후지쯔 가부시끼가이샤 태스크 컴퓨팅
KR20060112146A (ko) * 2005-04-26 2006-10-31 주식회사 팬택 홈 네트워크 시스템의 예약 방법 및 이를 구현하는 홈네트워크 시스템

Also Published As

Publication number Publication date
EP1977556A1 (en) 2008-10-08
EP1977556A4 (en) 2011-03-30
KR100750160B1 (ko) 2007-08-17
CN101356766A (zh) 2009-01-28
WO2007086652A1 (en) 2007-08-02
US20100250721A1 (en) 2010-09-30
JP2009524871A (ja) 2009-07-02

Similar Documents

Publication Publication Date Title
US9883251B2 (en) Method and apparatus for managing connection between broadcast receiving device and another device connected by network
JP3202205B2 (ja) 所定のプロトコールを支援しないディバイスのホームネットワーク連結時のディバイスページの生成方法
CN108810594A (zh) 一种远程投屏方法、装置及系统
JP4605273B2 (ja) 情報処理装置及び機能拡張方法
KR20090054940A (ko) 범용 웹 애플리케이션을 이용하여 홈 네트워크 장치를 제어하는 방법 및 장치
CN103729425A (zh) 操作响应方法、客户端、浏览器及系统
CN112165642B (zh) 一种显示设备
CN113064645B (zh) 一种开机界面控制方法及显示设备
KR100750160B1 (ko) UPnP 상에서 디바이스의 기능을 예약하는 방법 및 장치
CN113342415B (zh) 一种定时任务执行方法及显示设备
US20140280732A1 (en) Transmission apparatus, transmission method, and transmission system
EP1985111A1 (en) Method and apparatus for controlling scheduled recording service using external tuner
CN114143371A (zh) 投屏方法、装置、存储介质及电子设备
KR20050008755A (ko) 소비자 가전에서 오디오/비디오 안내를 스트리밍하는 장치및 방법
US10165082B2 (en) Method and apparatus for managing connection between plurality of devices over network
CN114915810B (zh) 一种媒资推送方法及智能终端
US8661511B2 (en) Apparatus registration method and server device
CN114445131A (zh) 一种开机广告投放方法、播放方法及显示设备、服务器
JP2000227851A (ja) 双方向通信システム及び記録媒体
CN114173179A (zh) 系统升级任务与视频录制任务的兼容执行方法及显示设备
JP2012124619A (ja) ゲートウェイ装置、録画予約システム及び方法
CN114915818B (zh) 一种媒资推送方法及智能终端
CN112218125B (zh) 一种播放终端及播放方法
JP2005267150A (ja) 情報処理システム及び情報処理方法、並びにコンピュータ・プログラム
KR20100117396A (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
G170 Re-publication after modification of scope of protection [patent]
FPAY Annual fee payment

Payment date: 20120730

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20130730

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140730

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150730

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20160728

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20170728

Year of fee payment: 11