KR101474840B1 - UPnP 기반의 네트워크 시스템 및 그 제어 방법 - Google Patents

UPnP 기반의 네트워크 시스템 및 그 제어 방법 Download PDF

Info

Publication number
KR101474840B1
KR101474840B1 KR1020070112099A KR20070112099A KR101474840B1 KR 101474840 B1 KR101474840 B1 KR 101474840B1 KR 1020070112099 A KR1020070112099 A KR 1020070112099A KR 20070112099 A KR20070112099 A KR 20070112099A KR 101474840 B1 KR101474840 B1 KR 101474840B1
Authority
KR
South Korea
Prior art keywords
controlled device
service
message
description file
description
Prior art date
Application number
KR1020070112099A
Other languages
English (en)
Other versions
KR20090046133A (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 KR1020070112099A priority Critical patent/KR101474840B1/ko
Priority to US12/263,692 priority patent/US8135014B2/en
Priority to EP08168208A priority patent/EP2058984B1/en
Priority to CN200810172862.7A priority patent/CN101431456B/zh
Publication of KR20090046133A publication Critical patent/KR20090046133A/ko
Application granted granted Critical
Publication of KR101474840B1 publication Critical patent/KR101474840B1/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/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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0207Discounts or incentives, e.g. coupons or rebates
    • G06Q30/0225Avoiding frauds
    • 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]
    • 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/51Discovery or management thereof, e.g. service location protocol [SLP] or web services

Landscapes

  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Business, Economics & Management (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Game Theory and Decision Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Computer Security & Cryptography (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Information Transfer Between Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

UPnP 기반의 네트워크 시스템 및 그 제어 방법이 제공된다. 본 발명의 실시예에 따른 UPnP 기반의 네트워크 시스템은, 광고 메시지를 전송하는 피제어 장치 및 광고 메시지를 전송받는 제어 포인트를 포함하며, 제어 포인트는 광고 메시지에 포함된 확장 헤더의 변경 여부를 판단하여, 확장 헤더의 변경이 있는 경우에는 피제어 장치로 디스크립션 파일을 요청하는 메시지를 전송한다.
또한, 본 발명의 또 다른 실시예에 따른 UPnP 기반의 네트워크 시스템은, 디스크립션 변경 광고 서비스를 제공하는 피제어 장치 및 디스크립션 변경 광고 서비스에 대해 서브스크립션하는 제어 포인트를 포함하며, 제어 포인트는 피제어 장치가 전송한 디스크립션 변경 광고 서비스에 대한 이벤트 메시지를 받아 피제어 장치로 디스크립션 파일로 요청하는 메시지를 전송한다.
UPnP, 모바일 네트워크, 서비스, Discovery, Description

Description

UPnP 기반의 네트워크 시스템 및 그 제어 방법 {System and method for controlling network device based on UPnP}
본 발명은 UPnP 기반의 네트워크 시스템 및 그 제어 방법에 관한 것으로, 보다 상세하게는 모바일 네트워크 환경에서 제공하는 서비스의 동적 변화를 지원하는 UPnP 기반의 네트워크 시스템 및 그 제어 방법에 관한 것이다.
홈 네트워크(Home Network)를 위한 프로토콜(Protocol)의 대표적인 것으로 UPnP(Universal Plug-and-Play)가 있다.
UPnP 기술은 모든 형태의 지능 제품, 무선 장치, 및 PC들의 동등 계층 네트워크의 연결(Peer-to-peer connectivity)을 위한 아키텍처이다. UPnP는 댁내, 소규모 사업장(Small office), 공공 장소, 또는 인터넷에 연결된 애드 혹 네트워크(Ad-hoc Network) 또는 비관리 네트워크(Unmanaged Network)에 사용하기 쉽고, 유연하고, 표준에 기초한 연결성을 부여하기 위하여 설계되었다. UPnP 기술은 TCP/IP 및 웹 기술로 하여금 끊김없는 근접 통신(Proximity Networking)을 가능하게 하는 분산 개방 네트워크(Distributed Open Network) 아키텍처를 제공한다. 즉, UPnP 기술은 분산 컴퓨팅 환경에서 서비스들간의 연결성(Connectivity) 및 상호연동 성(Interoperability)을 제공하기 위한 기술이라는 할 수 있다.
도 1은 일반적인 홈 네트워크 시스템의 구성을 나타낸 도면이다.
홈 네트워크 상에서 UPnP 기반의 네트워크 시스템은 논리적으로 크게 두 가지로 구분할 수 있다. 하나는 디바이스 고유의 서비스를 제공하며 사용자의 제어를 받는 피제어 장치(Controlled Device)(이하, CD라고 한다.)이고, 다른 하나는 사용자에게 댁내 디바이스를 제어할 수 있는 기능을 제공하는 제어 포인트(Control Point)(이하, CP라고 한다.)이다. 즉, CP는 클라이언트에 해당하며 CD는 서비스 또는 서비스를 제공하는 디바이스에 해당한다.
도 1에 도시된 바와 같이, 홈 네트워크 시스템은 다수의 UPnP 기반의 네트워크 시스템들(110, 120, 130, 140 및 200)이 네트워크로 연결될 수 있다. 예를 들어, UPnP 기반의 CP는 컴퓨터(110), PDA 또는 휴대폰(120), 프린터(130) 및 노트북(140)이고, UPnP 기반의 CD는 서비스를 제공하는 서버(200)일 수 있다.
UPnP 디바이스 아키텍처는 CP와 CP의 제어를 받는 CD 간의 통신 프로토콜을 정의한다. 즉, 홈 네트워크 상에 존재하는 모든 장치들은 상호 통신되도록 UPnP 프로토콜을 전송한다.
도 2a 내지 2d는 일반적인 UPnP 기반의 네트워크 시스템 간에 통신 과정을 나타낸 도면이다.
UPnP 기반의 네트워크 상에서의 통신은 디스커버리(Discovery) 단계, 디스크립션(Description) 단계, 제어(Control) 단계, 이벤팅(Eventing) 단계 및 프리젠테이션(Presentation) 단계로 나누어질 수 있다.
도 2a는 UPnP의 디스커버리 단계를 나타낸 것으로, 디스커버리 단계는 크게 두 가지로 나눌 수 있다.
하나는 CD가 디바이스 정보 및 자신이 제공할 수 있는 서비스 정보를 멀티캐스트(Multicast) 방식으로 보내는 과정, 즉 광고 메시지(Advertise Message)를 전송하는 과정이고, 다른 하나는 CP가 홈 네트워크 상의 관심 있는 CD를 탐색하는 과정, 즉 Search 메시지를 CD에 전송하는 과정이다. 이에, CP는 CD로부터 유니캐스트(Unicast) 형식의 응답 메시지, 즉 Response 메시지를 전송 받는다. 한편, 홈 네트워크 상에서 CD가 더 이상 동작하지 않고 나가는 단계에서는 CD에서 Bye 메시지를 댁내 CP에게 멀티캐스트 형식으로 보내게 된다.
도 2b는 UPnP의 디스크립션 단계를 나타낸 것으로, 디스크립션 단계는 CP가 제어하고자 하는 CD의 디바이스 및 서비스의 디스크립션 정보를 획득하는 과정이다.
즉, UPnP는 디스커버리 단계를 통해 획득한 해당 CD의 디스크립션 URL 정보를 기반으로 해당 CD의 디바이스 디스크립션 파일(Device Description File)과 서비스 디스크립션 파일(Service Description File)을 전송받게 된다.
도 2c는 UPnP의 컨트롤 단계를 나타낸 것으로, 컨트롤 단계는 CP와 CD사이에 제어 명령을 주고 받는 단계이다. 컨트롤 단계는 요청 메시지(Request Message)에 대한 응답 메시지(Response Message) 형식으로 이루어 진다.
도 2d는 UPnP의 이벤팅 단계를 나타낸 것으로, 이벤팅 단계는 CP가 CD로부터 서비스의 상태 변화에 따른 이벤트 메시지를 받는 단계이다.
CP가 CD에서 제공하는 서비스의 상태 변화에 따른 이벤트 메시지를 받기 위해서는 서브스크립션(subscription) 단계를 통해 CD에 등록을 해야 한다. 이 후, CD에서 제공하는 서비스의 상태 변화 또는 특정 이벤팅 상황이 발생하였을 경우, CD는 해당 이벤트 메시지를 등록된 CP에 전송하게 된다. 한편, CP는 서브스크립션 단계에서 타임아웃(timeout) 설정 등을 할 수 있으며, 타임아웃 시간 내에 리뉴얼 요청(renewal request)을 할 수 있다. 또한, CD로부터 더 이상 이벤트 메시지를 전송 받길 원하지 않을 경우 취소(cancellation) 요청을 할 수도 있다.
그러나, 종래의 UPnP 기반의 네트워크 시스템 및 그 제어 방법에는 다음과 같은 문제점이 있었다.
종래에는 CD에 새로운 서비스가 추가되는 등 서비스가 동적으로 변화하더라도, CP는 광고 메시지에서 UDN을 확인하여 새로운 장치인지 여부만을 판단하였으므로, 새로운 서비스의 추가 등 서비스의 추가 또는 삭제를 인식할 수 없는 문제점이 있었다. 이러한 한계는 UPnP 기반의 CD에서 서비스의 추가 또는 삭제가 정적인 홈 네트워크 환경의 특성 때문이다. 그러나, 모바일 네트워크 환경과 같이, 서비스의 추가 또는 삭제가 필요하기 때문에 기존의 PnP 기술은 한계가 있었다.
본 발명은 상기한 문제점을 개선하기 위해 고안된 것으로, 본 발명이 해결하고자 하는 과제는 UPnP 기반의 네트워크에서 디스커버리 단계 또는 디스크립션 단계에서의 기능을 확장함으로써 모바일 네트워크 환경에서 제공하는 서비스의 동적 변화를 지원함과 동시에 기존 UPnP 방식과 호환성을 유지할 수 있는 UPnP 기반의 네트워크 시스템 및 그 제어 방법을 제공하는 것이다.
본 발명의 기술적 과제는 이상에서 언급한 것들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제는 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기 과제를 달성하기 위하여, 본 발명의 실시예에 따른 UPnP 기반의 네트워크 시스템은, 광고 메시지를 전송하는 피제어 장치 및 상기 광고 메시지를 전송받는 제어 포인트를 포함하며, 상기 제어 포인트는 상기 광고 메시지에 포함된 확장 헤더의 변경 여부를 판단하여, 상기 확장 헤더의 변경이 있는 경우에는 상기 피제어 장치로 디스크립션 파일을 요청하는 메시지를 전송한다.
상기 과제를 달성하기 위하여, 본 발명의 실시예에 따른 UPnP 기반의 네트워크 시스템의 제어 방법은, 피제어 장치가 광고 메시지를 전송하는 (a) 단계와, 제어 포인트가 상기 광고 메시지에 포함된 확장 헤더의 변경 여부를 판단하는 (b) 단계 및 상기 판단 결과, 상기 확장 헤더의 변경이 있는 경우에는 상기 제어 포인트 가 상기 피제어 장치로 디스크립션 파일을 요청하는 메시지를 전송하는 (c) 단계를 포함한다.
상기 과제를 달성하기 위하여, 본 발명의 또 다른 실시예에 따른 UPnP 기반의 네트워크 시스템은, 디스크립션 변경 광고 서비스를 제공하는 피제어 장치 및 상기 디스크립션 변경 광고 서비스에 대해 서브스크립션하는 제어 포인트를 포함하며, 상기 제어 포인트는 상기 피제어 장치가 전송한 상기 디스크립션 변경 광고 서비스에 대한 이벤트 메시지를 받아 상기 피제어 장치로 디스크립션 파일로 요청하는 메시지를 전송한다.
상기 과제를 달성하기 위하여, 본 발명의 또 다른 실시예에 따른 UPnP 기반의 네트워크 시스템의 제어 방법은, 제어 포인트가 피제어 장치에서 제공하는 디스크립션 변경 광고 서비스에 대해 서브스크립션하는 (a) 단계와, 상기 피제어 장치가 상기 디스크립션 변경 광고 서비스에 대한 이벤트 메시지를 발생시켜 상기 제어 포인트로 전송하는 (b) 단계 및 상기 이벤트 메시지를 전송받은 상기 제어 포인트가 상기 피제어 장치로 디스크립션 파일을 요청하는 메시지를 전송하는 (c) 단계를 포함한다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명의 UPnP 기반의 네트워크 시스템 및 그 제어 방법에 따르면 다음과 같은 효과가 하나 혹은 그 이상 있다.
첫째, UPnP 기반의 네트워크에서 디스커버리 단계 또는 디스크립션 단계에서의 기능을 확장함으로써 모바일 네트워크 환경에서 제공하는 서비스의 동적 변화를 지원할 수 있는 장점이 있다.
둘째, UPnP 기반의 네트워크에서 디스커버리 단계 또는 디스크립션 단계에서의 기능을 확장함으로써 기존 UPnP 방식과 호환성을 유지할 수 있는 장점도 있다.
셋째, 모바일 네트워크 환경에서 대역폭(Bandwidth)의 사용을 줄이고 전력 소비(Power Consumption)를 줄일 수 있는 장점도 있다.
본 발명의 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 청구범위의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
이하, 본 발명의 실시예들에 의하여 UPnP 기반의 네트워크 시스템 및 그 제어 방법을 설명하기 위한 도면들을 참고하여 본 발명에 대해 설명하도록 한다.
이때, 처리 흐름도 도면들의 각 블록과 흐름도 도면들의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수 있음을 이해할 수 있을 것이다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 흐름도 블록(들)에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 흐름도 블록(들)에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 흐름도 블록(들)에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록은 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실행 예들에서는 블록들에서 언급된 기능들이 순서를 벗어나 서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
도 3은 본 발명의 일실시예에 따른 UPnP 기반의 네트워크 시스템의 구성을 나타내는 블록도이다.
본 발명의 일실시예에 따른 UPnP 기반의 네트워크 시스템은, 제어 포인트(100) 및 피제어 장치(200)를 포함할 수 있다.
제어 포인트(100)(Control Point)(이하, CP라고 한다.)는 디바이스를 제어할 수 있는 메시지를 전송하는 역할을 할 수 있다.
도 3에 도시된 바와 같이, CP(100)는 메시지 제어부(110) 및 캐시 데이터 저장부(120)를 포함할 수 있다.
메시지 제어부(110)는 CP(100)가 CD(200)와 주고 받는 다양한 형태의 메시지를 처리하는 역할을 할 수 있다. CP(100)가 CD(200)로 보내는 메시지로는 서치 메시지, 디스크립션 요청 메시지, 컨트롤 메시지, 서브스크립션 요청 메시지 등이 있고, CP(100)가 CD(200)로부터 받는 메시지는 응답 메시지, 이벤트 메시지 등이 있을 수 있다.
본 발명의 일실시예에 따른 UPnP 기반의 네트워크 시스템의 경우, CP(100)의 메시지 제어부(110)는 디스커버리 단계에서 CD(200)로부터 전송되는 광고 메시지 내에 정의된 확장 헤더를 인식할 수 있다. 이에 대해서는 후술할 CD(200)의 디스커버리부(210)에서 자세히 설명한다.
캐시 데이터 저장부(120)는 CD(200)로부터 전송되는 CD(200)의 정보를 포함하는 캐시 데이터(Cache Data)를 저장하는 역할을 할 수 있다. 캐시 데이터에 포함되는 CD(200)의 정보로는 디바이스의 정보, 디바이스에서 제공하는 서비스의 정보 등이 있을 수 있다.
피제어 장치(200)(Controlled Device)(이하, CD라고 한다.)는 디바이스 고유의 서비스를 제공하며, CP(100)의 제어 메시지를 전송 받아 제어를 받을 수 있다.
도 3에 도시된 바와 같이, CD(200)는 디스커버리부(210), 디스크립션부(220), 컨트롤부(230), 이벤팅부(240) 및 정보 관리부(250)를 포함할 수 있다.
디스커버리부(210)는 디스커버리 단계에서 CD(200) 내의 디스커버리 메시지를 처리하는 역할을 할 수 있다.
먼저, 디스커버리부(210)는 디바이스 정보 및 자신이 제공할 수 있는 서비스 정보를 포함한 광고 메시지(Advertise Message)를 전송할 수 있다. 즉, CD(200)가 네트워크에 참여할 때에 CD(200)는 자신의 존재를 알리기 위하여 기본적인 정보를 담은 광고 메시지를 전송할 수 있다. 여기서 기본적인 정보란 CD(200)를 제공하는 디바이스에 관한 상세 정보(Description)의 URL, 디바이스의 유형, 알림 메시지의 유효 시간(Expire time) 등을 포함할 수 있다. 이러한 광고 메시지는 멀티캐스트(Multicast) 방식으로 전송할 수 있다.
본 발명의 일실시예에 따른 UPnP 기반의 네트워크 시스템의 경우, 디스커버리 단계에서 CD(200)로부터 전송되는 광고 메시지 내에 확장 헤더를 정의할 수 있다.
일반적으로, 광고 메시지의 포맷은 표준으로 정의되어 있으나, 사용자가 추가적인 내용을 정의하여 확장이 가능하다. 따라서, 디스커버리부(210)는 광고 메시지 내에 확장 헤더를 추가하여 정의하고 확장 헤더를 통해 CD(200)가 제공하는 서비스의 변화, 즉 서비스의 추가 또는 삭제에 대한 정보를 포함시킬 수 있다.
이 후, CD(200)에 새로운 서비스가 추가되거나 기존 서비스가 삭제되는 경우, 디스커버리부(210)는 광고 메시지 내에 정의된 확장 헤더를 통해 서비스의 추가 또는 삭제 정보를 기록할 수 있다. 그리고, 광고 메시지가 CP(100)에 전송되면 CP(100)의 메시지 제어부(110)는 디스커버리 단계에서 CD(200)로부터 전송되는 광고 메시지 내에 정의된 확장 헤더를 인식할 수 있다. 따라서, 광고 메시지 내에 정의된 확장 헤더가 변경된 경우에는, CD(200)에서 제공하는 서비스에 변화가 있음을 인식하고 CP(100)는 디바이스 디스크립션 파일 및 서비스 디스크립션 파일을 전송 받기 위해 디스크립션 요청 메시지를 CD(200)로 전송하고, CD(200)는 디바이스 디스크립션 파일 및 서비스 디스크립션 파일을 CP(100)에 전송할 수 있다.
도 4는 본 발명의 일실시예에 따른 UPnP 기반의 네트워크 시스템에서 광고 메시지의 예를 나타내는 도면이다.
도 4에 도시된 바와 같이, 광고 메시지 내에는 호스트(Host), 캐시-컨트롤(Cache-Control), 디바이스 URL 등의 정보를 포함하는 HTTP 헤더를 포함할 수 있다. 한편, 광고 메시지의 포맷은 표준으로 정의되어 있으나, 사용자가 추가적인 내용을 정의하여 확장할 수 있다.
따라서, 광고 메시지 내에 CD(200)가 제공하는 서비스의 추가 또는 삭제에 대한 정보를 포함하는 확장 헤더를 정의할 수 있다. 도 4에서는 SERVICE-CHANGE라는 확장 헤더를 정의한 예를 도시하고 있다. 확장 헤더의 형식 또는 포함되는 정보는 당업자에 의해 변경이 가능하다.
한편, 확장 헤더를 가지는 광고 메시지는 CD(200)가 네트워크에 참여하는 초기 단계에 생성될 수도 있으나, CD(200)에서 제공하는 서비스의 추가 또는 삭제가 있을 때에 표준 광고 메시지에 확장 헤더를 추가할 수도 있다.
또한, 디스커버리부(210)는 확장 헤더를 가지는 광고 메시지를 일반적인 광고 메시지 전송 주기에 맞춰 전송할 수도 있고, 메시지 전송 주기에 상관없이 서비스가 추가 또는 삭제되는 시점에 전송될 수도 있다.
한편, CP(100)는 이용하고자 하는 CD(200)를 찾는 서치 메시지(Search Message)를 멀티캐스트 방식으로 전송할 수 있는데, 디스커버리부(210)는 자신이 CP(100)가 찾는 CD(200)에 해당하는 경우 CP(100)에 응답 메시지(Response Message)를 전송할 수 있다. 이러한 응답 메시지는 유니캐스트(Unicast) 방식으로 전송할 수 있다.
한편, 디스커버리부(210)는 UPnP 디바이스 간의 동적 멀티캐스트 디스커버리 프로토콜(Dynamic Multicast Discovery Protocol)로서 HTTP 헤더(Header)를 기반으로 하는 SSDP(Simple Service Discovery Protocol)를 사용할 수 있다.
디스크립션부(220)는 CD(200)의 디바이스 및 서비스에 대한 정보를 포함하는 디스크립션 파일(Description File)을 생성하고 CP(100)에게 전송하는 역할을 할 수 있다. UPnP 네트워크에서는 디스크립션 파일로서 UPnP 포럼(forum)에서 정한 디 바이스 디스크립션 파일(Device Description File)과 서비스 디스크립션 파일(Service Description File)을 사용할 수 있다.
디바이스 디스크립션 파일은 디바이스에 관한 정보 및 디바이스에서 제공하는 서비스에 관한 정보를 포함하는 문서로서, 디바이스의 제조사 정보, 모델명, 시리얼 번호 등의 제품 정보, 디바이스 내 서비스 목록 등을 포함할 수 있다. 또한, 서비스 디스크립션 파일은 디바이스에서 제공하는 서비스에 대한 정보를 포함할 수 있다.
한편, UPnP 네트워크에서 디바이스 디스크립션 파일 및 서비스 디스크립션 파일은 XML 포맷을 사용할 수 있다.
컨트롤부(230)는 CD(200)가 제공하는 서비스를 이용하기 위해 CP(100)가 전송하는 명령을 처리할 수 있다. 즉, CP(100)의 요청 메시지(Request Message)에 대한 응답 메시지(Response Message)를 생성하여 CP(100)에게 전송하는 역할을 할 수 있다.
한편, UPnP 네트워크에서 제어 메시지 프로토콜(Control Messaging Protocol)로서 SOAP를 사용할 수 있다.
이벤팅부(240)는 CD(200)에서 제공하는 서비스의 상태 변화에 따른 이벤트 메시지를 생성하고 CP(100)에게 전송하는 역할을 할 수 있다.
CP(100)가 이용하고자 하는 CD(200)에서 제공하는 서비스의 상태 변화를 알고자 하는 경우, CD(200)는 디스커버리 단계에서 획득한 CD(200)에 관한 정보에 포함된 이벤팅 URL로 서브스크립션 요청 메시지(Subscription Message)를 생성하여 전송할 수 있다. 이 단계를 서브스크립션 단계(Subscription)라고 한다. 이 후, CD(200)는 등록 요청 메시지를 보낸 CP(100)를 등록한 후, CD(200)에서 제공하는 서비스의 상태 변화 또는 특정 이벤팅 상황이 발생하였을 경우 해당 이벤트 메시지를 등록된 CP(100)에 전송할 수 있다.
한편, UPnP 네트워크에서 디바이스의 이벤팅 단계를 위한 프로토콜로서 HTTP 헤더(header)를 기반으로 하는 GENA(Generic Event Notification Architecture)를 사용할 수 있다.
정보 관리부(250)는 CD(200)가 제공하는 서비스 정보를 저장하고 관리하는 역할을 할 수 있다. 이 때, CD(200)가 제공하는 서비스 정보를 리스트(List) 형태로 저장할 수 있다. 또한, 정보 관리부(250)는 CP(100)로부터 전송된 요청에 따라 서비스 정보 리스트를 지속적으로 업데이트 할 수 있다.
상술한 바와 같이, UPnP 기반의 네트워크 시스템은 CP(100) 또는 CD(200)의 기능을 가질 수 있으나, 하나의 장치가 CP(100)와 CD(200)의 기능을 모두 포함할 수도 있다.
상기와 같이 구성되는 본 발명의 일실시예에 따른 UPnP 기반의 네트워크 시스템의 제어 방법을 설명하면 다음과 같다.
도 5는 본 발명의 일실시예에 따른 UPnP 기반의 네트워크 시스템에서 서비스의 추가 또는 삭제를 인식하는 과정을 나타낸 순서도이다.
먼저, UPnP 기반의 CD(200)는 일정한 주기를 가지고 자신의 디바이스 정보 및 자신이 제공할 수 있는 서비스 정보를 포함한 광고 메시지를 멀티캐스트 방식으 로 전송할 수 있다(S301). 광고 메시지는 SSDP 형식이다.
이 때, UPnP 기반의 CP(100)는 광고 메시지를 받아 CD(200)의 UDN을 확인하고(S302), 기존의 CD(200)와 동일한 것인지 판단할 수 있다(S303).
CP(100)가 UDN을 확인하여 메시지를 보낸 CD(200)가 새로운 CD(200)라고 판단하게 되면, CP(100)는 디바이스 디스크립션 파일 및 서비스 디스크립션 파일을 전송 받기 위해 디스크립션 요청 메시지, 즉 HTTP GET 메시지를 CD(200)로 전송할 수 있다(S304). 이 때, CP(100)는 광고 메시지 내에 포함된 디스크립션 URL 정보를 통해 디스크립션 요청 메시지를 전송할 수 있다. 그리고, CD(200)는 디스크립션 요청 메시지에 대한 응답으로 XML 포맷의 디바이스 디스크립션 파일 및 서비스 디스크립션 파일을 CP(100)에 전송할 수 있다(S305).
그리고, CP(100)는 전송 받은 XML 포맷의 디바이스 디스크립션 파일 및 서비스 디스크립션 파일을 파싱(Parsing)하여 CD(200)의 디바이스 정보 및 서비스 정보를 캐시 데이터 저장부(120)에 저장할 수 있다(S306).
만약, 단계 S303에서 CP(100)가 UDN을 확인하여 메시지를 보낸 CD(200)가 기존의 CD(200)와 동일하다고 판단하게 되면, CP(100)는 광고 메시지 내에 정의된 확장 헤더가 변경되었는지 판단을 할 수 있다(S307).
이때, 광고 메시지 내에 정의된 확장 헤더가 변경된 경우에는, CP(100)는 디바이스 디스크립션 파일 및 서비스 디스크립션 파일을 전송 받기 위해 디스크립션 요청 메시지를 CD(200)로 전송할 수 있다(S308). 그리고, CD(200)는 디스크립션 요청 메시지에 대한 응답으로 XML 포맷의 디바이스 디스크립션 파일 및 서비스 디스 크립션 파일을 CP(100)에 전송할 수 있다(S309).
그리고, CP(100)는 전송 받은 XML 포맷의 디바이스 디스크립션 파일 및 서비스 디스크립션 파일을 파싱(Parsing)하여 CD(200)의 디바이스 정보 및 서비스 정보를 캐시 데이터를 업데이트할 수 있다(S310).
만약, 단계 S307에서 광고 메시지 내에 정의된 확장 헤더가 변경되지 않은 경우에는, 해당 CD(200)에 대한 디바이스 디스크립션 파일 및 서비스 디스크립션 파일을 다운받지 않고, 캐시 데이터 저장부(120)에 저장된 CD(200)의 만기 시간(Expire Time)을 업데이트하는 작업만을 수행할 수 있다(S311).
상술한 바와 같이, 본 발명의 일실시예에 따른 UPnP 기반의 네트워크 시스템에서는 디스커버리 단계에서 전송되는 광고 메시지 내에 확장 헤더를 정의하여 서비스의 추가 또는 삭제를 인식할 수 있다.
도 6은 도 5의 UPnP 기반의 네트워크 시스템이 디스커버리 단계에서 서비스의 추가 또는 삭제를 인식하는 예를 나타낸 도면이다.
도 6에서는 CD(200)에 서비스의 추가 또는 삭제가 있은 후, CD(200)가 전송한 광고 메시지 내에 정의된 확장 헤더가 변경된 경우를 예로 들고 있다. 즉, CP(100)가 UDN을 확인하여 CD(200)가 기존의 CD(200)와 동일하다고 판단(S302)하였어도 광고 메시지 내에 정의된 확장 헤더가 변경되었음을 확인(S307)하고 CD(200)로부터 디바이스 디스크립션 파일 및 서비스 디스크립션 파일을 전송받을 수 있다(S307).
도 7은 본 발명의 또 다른 실시예에 따른 UPnP 기반의 네트워크 시스템의 구 성을 나타내는 블록도이다.
본 발명의 또 다른 실시예에 따른 UPnP 기반의 네트워크 시스템은, CP(400) 및 CD(500)를 포함할 수 있다.
도 3에서 설명한 바와 같이, CP(400)는 메시지 제어부(410) 및 캐시 데이터 저장부(420)를 포함할 수 있다. 즉, 메시지 제어부(410)는 CP(400)가 CD(500)로 보내는 다양한 형태의 메시지를 처리하는 역할을 할 수 있고, 캐시 데이터 저장부(420)는 CD(500)로부터 전송되는 CD(500)의 정보를 포함하는 캐시 데이터를 저장하는 역할을 할 수 있다.
본 발명의 또 다른 실시예에 따른 UPnP 기반의 네트워크 시스템의 경우, CP(400)의 메시지 제어부(410)는 디스커버리 단계에서 CD(500)로부터 전송되는 광고 메시지 내에 포함된 디스크립션 변화 광고 서비스(560)에 대한 서브스크립션 요청을 할 수 있도록 미리 설정될 수 있다. 이에 대해서는 후술할 CD(500)의 디스크립션부(520)에서 자세히 설명한다.
또한, CD(500)는 디스커버리부(510), 디스크립션부(520), 컨트롤부(530), 이벤팅부(540) 및 정보 관리부(550)를 포함할 수 있다. 본 발명의 또 다른 실시예에 따른 UPnP 기반의 네트워크 시스템의 CD(500)를 구성하는 컨트롤부(530) 및 정보 관리부(550)는 도 3에서 설명한 바와 동일하므로 생략한다.
디스커버리부(510)는 디스커버리 단계에서 CD(500) 내의 디스커버리 메시지를 처리하는 역할을 할 수 있다.
먼저, 디스커버리부(510)는 디바이스 정보 및 자신이 제공할 수 있는 서비스 정보를 포함한 광고 메시지를 전송할 수 있다. 이러한 광고 메시지는 멀티캐스트(Multicast) 방식으로 전송할 수 있다.
한편, CP(400)는 이용하고자 하는 CD(500)를 찾는 서치 메시지(Search Message)에 대한 응답 메시지(Response Message)를 CP(400)에 전송할 수 있다.
디스크립션부(520)는 CD(500)의 디바이스 및 서비스에 대한 정보를 포함하는 디스크립션 파일을 생성하고 CP(400)에게 전송하는 역할을 할 수 있다. UPnP 네트워크에서는 디스크립션 파일로서 UPnP 포럼에서 정한 디바이스 디스크립션 파일과 서비스 디스크립션 파일을 사용할 수 있다.
본 발명의 또 다른 실시예에 따른 UPnP 기반의 네트워크 시스템의 경우, CD(500)에서 디스크립션 변화 광고 서비스(560)를 제공할 수 있다. 디스크립션 변화 광고 서비스(560)(Description Change Advertise Service)는 CD(500)에서 제공되는 기본 서비스로서, CD(500)에서 제공하는 다른 서비스의 추가 또는 삭제를 인식하여 이벤트 메시지를 발생시켜 CP(400)에게 알려주는 서비스를 의미한다.
CD(500)가 네트워크에 참여할 때에 CD(500)는 자신의 존재를 알리기 위하여 기본적인 정보를 담은 광고 메시지를 전송하는데, 광고 메시지에는 디스크립션 변화 광고 서비스(560)에 대한 정보를 포함할 수 있다.
또한, CP(400)의 메시지 제어부(410)는 디스커버리 단계에서 CD(500)로부터 전송되는 광고 메시지 내에 포함된 디스크립션 변화 광고 서비스(560)에 대한 서브스크립션 요청을 할 수 있도록 미리 설정될 수 있다.
따라서, CP(400)는 전송 받은 XML 포맷의 디바이스 디스크립션 파일 및 서비 스 디스크립션 파일을 파싱(Parsing)하여 CD(500)의 디바이스 정보 및 서비스 정보를 캐시 데이터 저장부(420)에 저장할 수 있다.
이때, CP(400)는 디바이스 디스크립션 파일 및 서비스 디스크립션 파일 내에 포함된 디스크립션 변경 광고 서비스에 대한 정보를 알 수 있다.
도 8은 본 발명의 또 다른 실시예에 따른 UPnP 기반의 네트워크 시스템에서 디바이스 디스크립션 파일의 예를 나타내는 도면이다.
도 8에 도시된 바와 같이, XML 포맷의 디바이스 디스크립션 파일에는 <service> 태그 내에 서비스의 타입, 서비스 ID, 서비스 디스크립션의 URL, 컨트롤 URL 및 이벤팅 URL 등의 정보를 포함할 수 있다. 한편, <serviceList> 태그 내에 UPnP 포럼이나 정의된 서비스나 UPnP 벤터(Vendor)에서 추가된 서비스에 대한 정보를 추가할 수 있다.
따라서, 디바이스 디스크립션 파일의 <serviceList> 태그 내에 디스크립션 변화 광고 서비스(560)(521)에 대한 정보를 추가하여 정의할 수 있다. 도 8에서는 디스크립션 변화 광고 서비스(560)(521)를 ChangingNotify라는 타입의 서비스로 추가하여 정의한 예를 도시하고 있다. 디스크립션 변화 광고 서비스(560)(521)를 정의함에 있어서 서비스의 타입, 서비스 ID, 서비스 디스크립션의 URL, 컨트롤 URL 및 이벤팅 URL 등의 정보는 당업자에 의해 변경이 가능하다.
도 9는 본 발명의 또 다른 실시예에 따른 UPnP 기반의 네트워크 시스템에서 서비스 디스크립션 파일의 예를 나타내는 도면이다.
도 9에 도시된 바와 같이, XML 포맷의 서비스 디스크립션 파일에는 <actionList> 태그 내에 서비스가 응답하는 명령어인 Action들의 리스트와 <action> 태그 내에 각 Action의 파라미터인 Argument들의 정보를 포함할 수 있다. 또한, <serviceStateTable>에는 관련된 상태 변수(State Variable)들을 포함할 수 있다. 한편, <actionList> 태그 내에 UPnP 포럼이나 정의된 서비스나 UPnP 벤터(Vendor)에서 추가된 Action을 추가할 수 있다. 또한, < serviceStateTable> 태그 내에 UPnP 포럼이나 정의된 서비스나 UPnP 벤터(Vendor)에서 추가된 상태 변수들을 추가할 수 있다.
따라서, 디바이스 디스크립션 파일의 <actionList> 및 <serviceStateTable>태그 내에 디스크립션 변화 광고 서비스(560)에 대한 Action(522), 관련된 상태 변수 정보(523)를 추가하여 정의할 수 있다. 이러한 정보는 당업자에 의해 변경이 가능하다.
이벤팅부(540)는 CD(500)에서 제공하는 서비스의 상태 변화에 따른 이벤트 메시지를 생성하고 CP(400)에게 전송하는 역할을 할 수 있다.
CP(400)가 이용하고자 하는 CD(500) 에서 제공하는 서비스의 상태 변화를 알고자 하는 경우, CD(500)는 디스커버리 단계에서 획득한 CD(500)에 관한 정보에 포함된 이벤팅 URL로 서브스크립션 요청 메시지(Subscription Message)를 생성하여 전송할 수 있다. 이 단계를 서브스크립션 단계(Subscription)라고 한다. 이 후, CD(500)는 등록 요청 메시지를 보낸 CP(400)를 등록한 후, CD(500)에서 제공하는 서비스의 상태 변화 또는 특정 이벤팅 상황이 발생하였을 경우 해당 이벤트 메시지를 등록된 CP(400)에 전송할 수 있다.
한편, UPnP 네트워크에서 디바이스의 이벤팅 단계를 위한 프로토콜로서 HTTP 헤더(header)를 기반으로 하는 GENA(Generic Event Notification Architecture)를 사용할 수 있다.
상술한 바와 같이, UPnP 기반의 네트워크 시스템은 CP(400) 또는 CD(500)의 기능을 가질 수 있으나, 하나의 장치가 CP(400)와 CD(500)의 기능을 모두 포함할 수도 있다.
상기와 같이 구성되는 본 발명의 또 다른 실시예에 따른 UPnP 기반의 네트워크 시스템의 제어 방법을 설명하면 다음과 같다.
도 10은 본 발명의 또 다른 실시예에 따른 UPnP 기반의 네트워크 시스템에서 서비스의 추가 또는 삭제를 인식하는 과정을 나타낸 순서도이다.
도 10a는 CP가 디스크립션 변경 광고 서비스를 이용하기 위해 CD에 서브스크립션을 요청하는 과정을 나타낸 순서도이다.
먼저, UPnP 기반의 CD(500)는 일정한 주기를 가지고 자신의 디바이스 정보 및 자신이 제공할 수 있는 서비스 정보를 포함한 광고 메시지를 멀티캐스트 방식으로 전송할 수 있다(S501). 이 때, UPnP 기반의 CP(400)는 광고 메시지를 받아 CD(500)의 UDN을 확인하고(S502), 기존의 CD(500)와 동일한 것인지 판단할 수 있다(S503).
CP(400)가 UDN을 확인하여 메시지를 보낸 CD(500)가 새로운 CD(500)라고 판단하게 되면, CP(400)는 디바이스 디스크립션 파일 및 서비스 디스크립션 파일을 전송 받기 위해 디스크립션 요청 메시지를 CD(500)로 전송할 수 있다(S504). 그리 고, CD(500)는 디스크립션 요청 메시지에 대한 응답으로 XML 포맷의 디바이스 디스크립션 파일 및 서비스 디스크립션 파일을 CP(400)에 전송할 수 있다(S505). 그리고, CP(400)는 전송 받은 XML 포맷의 디바이스 디스크립션 파일 및 서비스 디스크립션 파일을 파싱(Parsing)하여 CD(500)의 디바이스 정보 및 서비스 정보를 캐시 데이터 저장부(420)에 저장할 수 있다(S506). 이 때, CP(400)는 디바이스 디스크립션 파일 및 서비스 디스크립션 파일 내에 포함된 디스크립션 변경 광고 서비스에 대한 정보를 알 수 있다.
그리고, CP(400)는 CD(500)에서 전송받은 디바이스 디스크립션 파일에 정의된 디스크립션 변경 광고 서비스를 이용하기 위해 CD(500)에 이벤트 서브스크립션 요청 메시지를 전송할 수 있다(S507). 서브스크립션 요청 메시지는 GENA 프로토콜을 사용하는 XML 포맷의 메시지이다. CD(500)는 자신의 서브스크립션 리스트에 서브스크립션 요청 메시지를 전송한 CP(400)의 URL 정보를 등록할 수 있다(S508). 따라서, CD(500)에 서비스가 추가 또는 삭제되는 상황이 발생하는 경우, 이벤트 메시지가 CP(400)에 전송될 수 있다.
만약, 단계 503에서 CP(400)가 UDN을 확인하여 메시지를 보낸 CD(500)가 기존의 CD(500)와 동일하다고 판단하게 되면, 해당 CD(500)에 대한 디바이스 디스크립션 파일 및 서비스 디스크립션 파일을 다운받지 않고, 캐시 데이터 저장부(420)에 저장된 CD(500)의 만기 시간(Expire Time)을 업데이트하는 작업만을 수행할 수 있다(S509).
도 10b는 CD에 서비스가 추가 또는 삭제된 경우 CP가 이를 인식하는 과정을 나타낸 순서도이다.
CD(500)에 새로운 서비스가 추가되거나, 기존 서비스가 삭제되는 경우(S601), CD(500)에서 기본적으로 제공하는 디스크립션 변경 광고 서비스에서 서비스의 추가 또는 삭제에 따른 이벤트 메시지를 발생할 수 있다(S602).
CD(500)는 서비스의 추가 또는 삭제에 따른 이벤트 메시지를 CP(400)로 전송할 수 있다(S603). 이 때, 이벤트 메시지를 전송 받는 CP(400)는 CD(500)의 디스크립션 변경 광고 서비스에 서브스크립션 요청을 통해 CD(500)에 등록한 CP(400)이다.
이벤트 메시지를 전송 받은 CP(400)는 디바이스 디스크립션 파일 및 서비스 디스크립션 파일을 전송 받기 위해 디스크립션 요청 메시지를 CD(500)로 전송할 수 있다(S604). 그리고, CD(500)는 디스크립션 요청 메시지에 대한 응답으로 XML 포맷의 디바이스 디스크립션 파일 및 서비스 디스크립션 파일을 CP(400)에 전송할 수 있다(S605). 그리고, CP(400)는 전송 받은 XML 포맷의 디바이스 디스크립션 파일 및 서비스 디스크립션 파일을 파싱(Parsing)하여 CD(500)의 디바이스 정보 및 서비스 정보를 캐시 데이터 저장부(420)에 저장할 수 있다(S606).
상술한 바와 같이, 본 발명의 또 다른 일실시예에 따른 UPnP 기반의 네트워크 시스템에서는 UPnP 기반의 CD(500)에 디스크립션 변화 광고 서비스(560)를 기본적으로 제공하고, 디스크립션 단계에서 전송되는 XML 포맷의 디바이스 디스크립션 파일 및 서비스 디스크립션 파일에 CD(500)에 디스크립션 변화 광고 서비스(560)에 대한 정의 및 이 서비스에 대한 Action, 인자, 관련된 상태 변수를 추가함으로써 CP(400)가 서비스의 추가 또는 삭제를 인식할 수 있다.
도 11은 도 10의 UPnP 기반의 네트워크 시스템이 디스크립션 단계에서 서비스의 추가 또는 삭제를 인식하는 예를 나타낸 도면이다.
도 11a에서는 CP(400)가 CD(500)의 디스크립션 변경 광고 서비스를 이용하기 위해 CD(500)에 서브스크립션을 요청하는 예를 들고 있다. 즉, CP(400)는 디스크립션 요청 메시지를 CD(500)로 전송(S504)하여 디바이스 디스크립션 파일 및 서비스 디스크립션 파일을 전송 받은 후(S505), 디바이스 디스크립션 파일에 정의된 디스크립션 변경 광고 서비스를 이용하기 위해 CD(500)에 이벤트 서브스크립션 요청 메시지를 전송할 수 있다(S507).
도 11b에서는 CD(500)에 서비스의 추가 또는 삭제가 있은 후 CD(500)의 디스크립션 변화 광고 서비스(560)에서 서비스 추가 또는 삭제 이벤트 메시지를 발생시켜 CP(400)에 전송하는 경우를 예로 들고 있다. 즉, CD(500)에 서비스가 추가 또는 삭제되는 경우(S601), CD(500)에서 디스크립션 변경 광고 서비스에서 이벤트 메시지를 발생(S602)하여 CP(400)에 전송하고(S603), CP(400)는 디스크립션 요청 메시지를 CD(500)로 전송(S604)하여 디바이스 디스크립션 파일 및 서비스 디스크립션 파일을 전송 받을 수 있다(S605).
종래에는 CD에 새로운 서비스가 추가되는 등 서비스가 동적으로 변화하더라도, CP는 광고 메시지에서 UDN을 확인하여 새로운 장치인지 여부만을 판단하였으므로, 새로운 서비스의 추가 등 서비스의 추가 또는 삭제를 인식할 수 없는 문제점이 있었다. 이러한 한계는 UPnP 기반의 CD에서 서비스의 추가 또는 삭제가 정적인 홈 네트워크 환경의 특성 때문이다. 그러나, 모바일 네트워크 환경과 같이, 서비스의 추가 또는 삭제가 필요하기 때문에 기존의 PnP 기술은 한계가 있었다.
그러나, 본 발명의 일실시예에 따른 UPnP 기반의 네트워크 시스템의 경우, 디스커버리 단계에서 CD(200)가 전송하는 광고 메시지 내에 정의된 확장 헤더에 서비스의 추가 또는 삭제에 대한 정보를 기록하여 이를 CP(100)가 인식하게 함으로써, 모바일 네트워크 환경에서 제공하는 서비스의 추가 또는 삭제를 지원할 수 있다.
또한, 본 발명의 또 다른 실시예에 따른 UPnP 기반의 네트워크 시스템의 경우, UPnP 기반의 CD(500)에 디스크립션 변화 광고 서비스(560)를 기본적으로 제공하고, 디스크립션 단계에서 전송되는 XML 포맷의 디바이스 디스크립션 파일 및 서비스 디스크립션 파일에 CD(500)에 디스크립션 변화 광고 서비스(560)에 대한 정의 및 이 서비스에 대한 Action, 인자, 관련된 상태변수를 추가하여 이를 CP(400)가 인식하게 함으로써, 모바일 네트워크 환경에서 제공하는 서비스의 추가 또는 삭제를 지원할 수 있다.
이때, 본 실시예에서 사용되는 '~부'라는 용어는 소프트웨어 또는 FPGA또는 ASIC과 같은 하드웨어 구성요소를 의미하며, '~부'는 어떤 역할들을 수행한다. 그렇지만 '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성 요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다. 구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로 더 분리될 수 있다. 뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU들을 재생시키도록 구현될 수도 있다.
본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구의 범위에 의하여 나타내어지며, 특허청구의 범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
도 1은 일반적인 홈 네트워크 시스템의 구성을 나타낸 도면이다.
도 2a 내지 2d는 일반적인 UPnP 기반의 네트워크 시스템 간에 통신 과정을 나타낸 도면이다.
도 3은 본 발명의 일실시예에 따른 UPnP 기반의 네트워크 시스템의 구성을 나타내는 블록도이다.
도 4는 본 발명의 일실시예에 따른 UPnP 기반의 네트워크 시스템에서 광고 메시지의 예를 나타내는 도면이다.
도 5는 본 발명의 일실시예에 따른 UPnP 기반의 네트워크 시스템에서 서비스의 추가 또는 삭제를 인식하는 과정을 나타낸 순서도이다.
도 6은 도 5의 UPnP 기반의 네트워크 시스템이 디스커버리 단계에서 서비스의 추가 또는 삭제를 인식하는 예를 나타낸 도면이다.
도 7은 본 발명의 또 다른 실시예에 따른 UPnP 기반의 네트워크 시스템의 구성을 나타내는 블록도이다.
도 8은 본 발명의 또 다른 실시예에 따른 UPnP 기반의 네트워크 시스템에서 디바이스 디스크립션 파일의 예를 나타내는 도면이다.
도 9는 본 발명의 또 다른 실시예에 따른 UPnP 기반의 네트워크 시스템에서 서비스 디스크립션 파일의 예를 나타내는 도면이다.
도 10은 본 발명의 또 다른 실시예에 따른 UPnP 기반의 네트워크 시스템에서 서비스의 추가 또는 삭제를 인식하는 과정을 나타낸 순서도이다.
도 11은 도 10의 UPnP 기반의 네트워크 시스템이 디스크립션 단계에서 서비스의 추가 또는 삭제를 인식하는 예를 나타낸 도면이다.
<도면의 주요 부분에 대한 부호의 설명>
100, 400: 제어 포인트
110, 410: 메시지 제어부
120, 420: 캐시 데이터 저장부
200, 500: 피제어 장치
210, 510: 디스커버리부
220, 520: 디스크립션부
230, 530: 컨트롤부
240, 540: 이벤팅부
250, 550: 정보 관리부

Claims (20)

  1. UDN(unique device name)을 포함하는 광고 메시지를 전송하는 피제어 장치; 및
    상기 광고 메시지를 전송받는 제어 포인트를 포함하며,
    상기 제어 포인트는 상기 광고 메시지에 포함된 UDN을 기초로 상기 피제어 장치가 기 저장된 피제어 장치인지 판단하고, 상기 광고 메시지에 포함된 확장 헤더의 변경 여부를 판단하여, 상기 확장 헤더의 변경이 있는 경우에는 상기 피제어 장치로 디스크립션 파일을 요청하는 메시지를 전송하고,
    상기 확장 헤더는 상기 피제어 장치가 제공하는 서비스의 추가 또는 삭제에 대한 정보를 포함하는, UPnP 기반의 네트워크 시스템.
  2. 삭제
  3. 제 1 항에 있어서,
    상기 디스크립션 파일은,
    상기 피제어 장치에 관한 정보를 포함하는 디바이스 디스크립션 파일; 및
    상기 피제어 장치가 제공하는 서비스에 관한 정보를 포함하는 서비스 디스크립션 파일을 포함하는 UPnP 기반의 네트워크 시스템.
  4. 제 3 항에 있어서,
    상기 디스크립션 파일은 XML 포맷을 사용하는 UPnP 기반의 네트워크 시스템.
  5. 제 1 항에 있어서,
    상기 광고 메시지는 HTTP 헤더 기반의 SSDP(Simple Service Discovery Protocol)를 사용하는 UPnP 기반의 네트워크 시스템.
  6. UDN(unique device name) 및 디스크립션 변경 광고 서비스를 제공하는 피제어 장치; 및
    상기 UDN을 기초로 상기 피제어 장치가 기 저장된 피제어 장치인지 판단하고, 상기 디스크립션 변경 광고 서비스에 대해 서브스크립션하는 제어 포인트를 포함하며,
    상기 제어 포인트는 상기 피제어 장치가 전송한 상기 디스크립션 변경 광고 서비스에 대한 이벤트 메시지를 받아 상기 피제어 장치로 디스크립션 파일로 요청하는 메시지를 전송하고,
    상기 이벤트 메시지는 상기 피제어 장치에서 제공하는 서비스가 추가 또는 삭제되는 경우 상기 디스크립션 변경 광고 서비스에 대하여 발생하는, UPnP 기반의 네트워크 시스템.
  7. 제 6 항에 있어서,
    상기 제어 포인트는 상기 디스크립션 변경 광고 서비스에 대해 서브스크립션 요청 메시지를 전송하고 상기 피제어 장치에 의해 상기 제어 포인트의 URL 정보를 상기 피제어 장치의 서브스크립션 리스트에 등록하는 UPnP 기반의 네트워크 시스템.
  8. 삭제
  9. 제 6 항에 있어서,
    상기 디스크립션 파일은,
    상기 피제어 장치에 관한 정보를 포함하는 디바이스 디스크립션 파일; 및
    상기 피제어 장치가 제공하는 서비스에 관한 정보를 포함하는 서비스 디스크립션 파일을 포함하는 UPnP 기반의 네트워크 시스템.
  10. 제 9 항에 있어서,
    상기 디스크립션 파일은 XML 포맷을 사용하는 UPnP 기반의 네트워크 시스템.
  11. 피제어 장치가 UDN(unique device name)을 포함하는 광고 메시지를 전송하는 (a) 단계;
    제어 포인트가 상기 광고 메시지에 포함된 UDN을 기초로 상기 피제어 장치가 기저장된 피제어 장치인지 판단하고, 상기 광고 메시지에 포함된 확장 헤더의 변경 여부를 판단하는 (b) 단계; 및
    상기 판단 결과, 상기 확장 헤더의 변경이 있는 경우에는 상기 제어 포인트가 상기 피제어 장치로 디스크립션 파일을 요청하는 메시지를 전송하는 (c) 단계를 포함하며,
    상기 확장 헤더는 상기 피제어 장치가 제공하는 서비스의 변화에 대한 정보를 포함하는, UPnP 기반의 네트워크 시스템의 제어 방법.
  12. 삭제
  13. 제 11 항에 있어서,
    상기 디스크립션 파일은,
    상기 피제어 장치에 관한 정보를 포함하는 디바이스 디스크립션 파일; 및
    상기 피제어 장치가 제공하는 서비스에 관한 정보를 포함하는 서비스 디스크립션 파일을 포함하는 UPnP 기반의 네트워크 시스템의 제어 방법.
  14. 제 13 항에 있어서,
    상기 디스크립션 파일은 XML 포맷을 사용하는 UPnP 기반의 네트워크 시스템의 제어 방법.
  15. 제 11 항에 있어서,
    상기 광고 메시지는 HTTP 헤더 기반의 SSDP를 사용하는 UPnP 기반의 네트워크 시스템의 제어 방법.
  16. 제어 포인트가 피제어 장치에서 제공하는 UDN(unique device name)을 기초로 상기 피제어 장치가 기 저장된 피제어 장치인지 판단하고, 디스크립션 변경 광고 서비스에 대해 서브스크립션하는 (a) 단계;
    상기 피제어 장치가 상기 디스크립션 변경 광고 서비스에 대한 이벤트 메시지를 발생시켜 상기 제어 포인트로 전송하는 (b) 단계; 및
    상기 이벤트 메시지를 전송받은 상기 제어 포인트가 상기 피제어 장치로 디스크립션 파일을 요청하는 메시지를 전송하는 (c) 단계를 포함하며,
    상기 이벤트 메시지는 상기 피제어 장치에서 제공하는 서비스가 추가 또는 삭제되는 경우 상기 디스크립션 변경 광고 서비스에 대하여 발생하는, UPnP 기반의 네트워크 시스템의 제어 방법.
  17. 제 16 항에 있어서,
    상기 (a) 단계는,
    상기 제어 포인트가 상기 디스크립션 변경 광고 서비스에 대해 서브스크립션 요청 메시지를 전송하는 단계; 및
    상기 피제어 장치가 상기 제어 포인트의 URL 정보를 상기 피제어 장치의 서브스크립션 리스트에 등록하는 단계를 포함하는 UPnP 기반의 네트워크 시스템의 제어 방법.
  18. 삭제
  19. 제 16 항에 있어서,
    상기 디스크립션 파일은,
    상기 피제어 장치에 관한 정보를 포함하는 디바이스 디스크립션 파일; 및
    상기 피제어 장치가 제공하는 서비스에 관한 정보를 포함하는 서비스 디스크립션 파일을 포함하는 UPnP 기반의 네트워크 시스템의 제어 방법.
  20. 제 19항에 있어서,
    상기 디스크립션 파일은 XML 포맷을 사용하는 UPnP 기반의 네트워크 시스템의 제어 방법.
KR1020070112099A 2007-11-05 2007-11-05 UPnP 기반의 네트워크 시스템 및 그 제어 방법 KR101474840B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020070112099A KR101474840B1 (ko) 2007-11-05 2007-11-05 UPnP 기반의 네트워크 시스템 및 그 제어 방법
US12/263,692 US8135014B2 (en) 2007-11-05 2008-11-03 UPnP-based network system and control method thereof
EP08168208A EP2058984B1 (en) 2007-11-05 2008-11-03 UPnP-based network system and control method thereof based on an extension header
CN200810172862.7A CN101431456B (zh) 2007-11-05 2008-11-05 基于通用即插即用的网络系统及其控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070112099A KR101474840B1 (ko) 2007-11-05 2007-11-05 UPnP 기반의 네트워크 시스템 및 그 제어 방법

Publications (2)

Publication Number Publication Date
KR20090046133A KR20090046133A (ko) 2009-05-11
KR101474840B1 true KR101474840B1 (ko) 2014-12-19

Family

ID=40376218

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070112099A KR101474840B1 (ko) 2007-11-05 2007-11-05 UPnP 기반의 네트워크 시스템 및 그 제어 방법

Country Status (4)

Country Link
US (1) US8135014B2 (ko)
EP (1) EP2058984B1 (ko)
KR (1) KR101474840B1 (ko)
CN (1) CN101431456B (ko)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100132979A (ko) * 2008-03-14 2010-12-20 텔레폰악티에볼라겟엘엠에릭슨(펍) Upnp 네트워크에서 최종 사용자 통지를 제공하기 위한 방법 및 장치
US10404485B2 (en) * 2009-03-03 2019-09-03 Samsung Electronics Co., Ltd Method and apparatus for restricting disclosure of network information during remote access service
KR101890592B1 (ko) * 2010-09-16 2018-08-23 삼성전자주식회사 네트워크에서 성능 정보를 관리하는 방법 및 장치
US20120079125A1 (en) * 2010-09-23 2012-03-29 Mark Nixon Service oriented framework for communicating with devices in a process control system
US8359211B2 (en) * 2010-11-09 2013-01-22 Hartford Fire Insurance Company System and method for active insurance underwriting using intelligent IP-addressable devices
US10201296B2 (en) 2010-11-11 2019-02-12 Ascensia Diabetes Care Holdings Ag Apparatus, systems, and methods adapted to transmit analyte data having common electronic architecture
CN102142988A (zh) * 2010-12-28 2011-08-03 华为终端有限公司 配置设备的方法、装置和系统
WO2015039300A1 (en) * 2013-09-18 2015-03-26 Nokia Corporation Bluetooth low energy packets
CN106455980B (zh) 2014-01-10 2022-02-11 安晟信医疗科技控股公司 用于终端用户医疗设备的设置同步装置和方法
JP6629232B2 (ja) 2014-04-11 2020-01-15 アセンシア・ディアベティス・ケア・ホールディングス・アーゲー バッテリで動作するバイオセンサメータのための無線送信機アダプタおよびその提供方法
EP3167629B1 (en) 2014-07-07 2018-09-12 Ascensia Diabetes Care Holdings AG Methods and apparatus for improved low energy data communications
US11361863B2 (en) 2015-04-29 2022-06-14 Ascensia Diabetes Care Holdings Ag Location-based wireless diabetes management systems, methods and apparatus
TWI623891B (zh) * 2017-11-24 2018-05-11 中華電信股份有限公司 Ict設備改接管控系統及其方法
CN111314132B (zh) * 2020-02-14 2022-09-30 上海市共进通信技术有限公司 无线网关路由器与无线放大器间智能组网配置设定的方法
CN114024695A (zh) * 2020-07-16 2022-02-08 艾锐势企业有限责任公司 用于实现增强的UPnP订阅的方法、路由器、介质和设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060067489A1 (en) * 2004-09-30 2006-03-30 Yasuhiro Morioka Service providing apparatus, service providing method, and program

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE60019750T2 (de) * 1999-06-11 2005-09-29 Microsoft Corp., Redmond Allgemeines api zur gerätefernsteuerung
CA2403736A1 (en) * 2000-03-20 2001-09-27 At&T Corp. Service selection in a shared access network using dynamic host configuration protocol
US20020083143A1 (en) * 2000-12-13 2002-06-27 Philips Electronics North America Corporation UPnP architecture for heterogeneous networks of slave devices
US20060155980A1 (en) * 2003-02-12 2006-07-13 Koninklijke Philips Electronics N.V. Method and system for reacting to a change of a upnp device
KR100568235B1 (ko) * 2003-11-20 2006-04-07 삼성전자주식회사 네트워크 기기에 의해 제공되는 서비스 요청 장치 및 방법
JP2005182481A (ja) * 2003-12-19 2005-07-07 Hitachi Ltd ネットワーク機器
JP2005217974A (ja) * 2004-01-30 2005-08-11 Canon Inc 電子機器及びその制御方法
EP1589698A1 (en) 2004-04-19 2005-10-26 Lg Electronics Inc. Home network system and method for operating the same
KR100608582B1 (ko) * 2004-08-28 2006-08-03 삼성전자주식회사 범용 플러그 앤 플레이 통신 방법 및 장치
KR100739755B1 (ko) * 2005-11-09 2007-07-13 삼성전자주식회사 UPnP 이벤트에 관한 정보를 효율적으로 송수신하는방법 및 장치
TW200720931A (en) * 2005-11-30 2007-06-01 Benq Corp Systems, methods and machine-readable storage media for device or service management
WO2007089023A1 (en) * 2006-01-31 2007-08-09 Matsushita Electric Industrial Co., Ltd. Method for selective service updates for communication networks
KR100978336B1 (ko) * 2006-03-27 2010-08-30 노키아 코포레이션 리모트 액세스

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060067489A1 (en) * 2004-09-30 2006-03-30 Yasuhiro Morioka Service providing apparatus, service providing method, and program

Also Published As

Publication number Publication date
EP2058984A3 (en) 2009-09-02
US8135014B2 (en) 2012-03-13
US20090116479A1 (en) 2009-05-07
KR20090046133A (ko) 2009-05-11
CN101431456A (zh) 2009-05-13
EP2058984B1 (en) 2013-04-03
CN101431456B (zh) 2014-07-09
EP2058984A2 (en) 2009-05-13

Similar Documents

Publication Publication Date Title
KR101474840B1 (ko) UPnP 기반의 네트워크 시스템 및 그 제어 방법
US7539152B2 (en) Service providing apparatus, service providing method, and program
US8060588B2 (en) Home network apparatus and system for cooperative work service and method thereof
US20060184660A1 (en) Scaling UPnP v1.0 device eventing using peer groups
WO2004062147A1 (en) Device discovery application interface
WO2009037665A2 (en) Context aware ipv6 connection activation in a upnp remote access environment
US9054889B2 (en) Method and apparatus for providing dynamically changed UPnP description
JP2015043208A (ja) 中央発見機構を利用する通信装置、及び個別の方法
KR20030024806A (ko) 정보 처리 장치
KR20050078541A (ko) 홈네트워크 디바이스 모니터링 및 제어 방법
EP2168327B1 (en) Method of receiving/transmitting event message, controlled device, and control point
EP2617176B1 (en) Device and method for managing a control device in a universal plug and play home network
JP4515489B2 (ja) 情報管理装置及び情報管理方法
US9083545B2 (en) Method and apparatus for managing resources of a universal plug and play device based on a connection status of a control point
JP2013123126A (ja) Dlna対応機器およびその探索方法
JP5718454B2 (ja) ホームネットワークに含まれる機器の機能を制御する方法
Preuveneers et al. Suitability of Existing Service Discovery Protocols for Mobile Users in an Ambient Intelligence Environment.
KR20040055456A (ko) 유피엔피(UPnP) 기반의 다중 컨트롤 포인트 간의 정보교환 방법
KR101088356B1 (ko) 멀티호밍된 upnp 기기에서 네트워크 접속 중단들을 관리하는 시스템 및 방법
KR100952280B1 (ko) 댁내에 설치되는 주거 게이트웨이의 재부팅을 원격으로제어하는 방법
KR20120021216A (ko) UPnP 텔레포니를 이용한 메모 공유 방법 및 장치
KR20040055455A (ko) 다중 컨트롤 포인트의 동일 디바이스 제어 방지 시스템 및방법
JP2016001474A (ja) 通信装置及びその制御方法及びプログラム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application
AMND Amendment
B601 Maintenance of original decision after re-examination before a trial
J301 Trial decision

Free format text: TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20140619

Effective date: 20141202

S901 Examination by remand of revocation
GRNO Decision to grant (after opposition)
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20171120

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20181119

Year of fee payment: 5