KR20050035038A - 유피엔피(UPnP) 네트워크의 IP 주소 설정 방법 - Google Patents

유피엔피(UPnP) 네트워크의 IP 주소 설정 방법 Download PDF

Info

Publication number
KR20050035038A
KR20050035038A KR1020030070868A KR20030070868A KR20050035038A KR 20050035038 A KR20050035038 A KR 20050035038A KR 1020030070868 A KR1020030070868 A KR 1020030070868A KR 20030070868 A KR20030070868 A KR 20030070868A KR 20050035038 A KR20050035038 A KR 20050035038A
Authority
KR
South Korea
Prior art keywords
address
control point
media
upnp
network
Prior art date
Application number
KR1020030070868A
Other languages
English (en)
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 KR1020030070868A priority Critical patent/KR20050035038A/ko
Publication of KR20050035038A publication Critical patent/KR20050035038A/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • H04L61/5014Internet protocol [IP] addresses using dynamic host configuration protocol [DHCP] or bootstrap protocol [BOOTP]
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2514Translation of Internet protocol [IP] addresses between local and global IP addresses

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Automation & Control Theory (AREA)
  • Small-Scale Networks (AREA)

Abstract

본 발명은 유피엔피(UPnP 네트워크의 IP 주소 설정 방법에 관한 것으로 특히, 디바이스가 사전에 IP 변경 여부를 콘트롤 포인트(CP)에 통보하여 콘트롤 포인트가 스트림이 끊기지 않도록 처리하며 또한, 디바이스가 사전에 IP 변경 여부를 콘트롤 포인트에 통보하지 못하더라도 이를 콘트롤 포인트가 인식하여 미디어 스트림의 끊김을 이어주도록 함에 목적이 있다. 이러한 목적의 본 발명은 콘트롤 포인트(CP)를 구비하여 네트워크 상의 미디어 서버 디바이스와 미디어 렌더러 디바이스 간의 미디어 스트리밍을 제어하는 UPnP AV 네트워크의 스트리밍 서비스 방법에 있어서, 콘트롤 포인트(CP)가 디바이스(제1 디바이스라 칭함)가 제공하는 이벤트 서비스에 가입하는 단계와, 제1 디바이스로부터 IP 주소 변경을 알리는 이벤트 메시지가 수신되면 IP 주소 변경을 상대 디바이스(제2 디바이스로 칭함)로 알리는 단계와, 제1 디바이스로부터 IP 주소 변경에 관련한 이벤트 메시지가 아닌 스트림 종료를 알리는 메시지가 수신되면 상기 제1 디바이스에 미디어 스트림이 열려 있는지 확인하는 단계와, 상기에서 미디어 스트림이 열려 있고 제1 디바이스로부터 출현 메시지가 수신되면 IP 주소 변경을 제2 디바이스로 알리는 단계와, 상기에서 제1 디바이스에 미디어 스트림이 열려 있지 않은 경우 제1 디바이스 등록을 삭제하는 단계를 수행함을 특징으로 한다.

Description

유피엔피(UPnP) 네트워크의 IP 주소 설정 방법{METHOD FOR SETTING INTERNET PROTOCOL ADDRESS FOR NETWORK BASED UNIVERSAL PLUG AND PLAY}
본 발명은 홈 네트워크에 관한 것으로 특히, UPnPTM 기술에 있어서 IP 주소 설정 방법에 관한 것이다.
가정에 있는 2개 이상의 장치가 서로 통신하는 것을 홈 네트워크라고 한다.
현재 홈 네트워킹의 확산으로 가정에서 기존의 PC 위주의 네트워크 환경이 점점 다양한 하위 네트워크 기술이 사용되어지는 환경으로 바뀌면서 이들 가전 제품들을 IP 프로토콜을 사용하여 독립적이며 통일된 방식으로 네트워크화 할 수 있는 기술에 대한 필요성으로 UPnPTM(이하, UPnP라 약칭함)기술이 MS에 의해 제안되었다.
UPnP란 TCP/IP, HTTP 및 XML과 같은 인터넷 표준 기술을 기반으로 전체 네트워크로까지 확장시켜 여러 가전 제품, 네트워크 프린터, 인터넷 게이트와 같은 네트워크 디바이스가 네트워킹 특히, 홈네트워킹이 가능하도록 하는 기술이다.
UPnP 네트워크는 다수의 UPnP 디바이스(device), 서비스(service) 및 콘트롤 포인트(CP ; Control Point)를 기본으로 구성된다.
상기의 서비스(service)라 함은 네트워크 상의 가장 작은 소규모 제어단위를 의미하는데, 상태 변수를 통하여 서비스 자체를 모델링하게 된다.
상기의 CP(Control Point)라 함은 다른 디바이스들을 감지하고 제어하는 기능을 갖춘 컨트롤러를 의미한다. 따라서, 사용자는 콘트롤 포인트(CP)가 제공하는 인터페이스를 통해 각종 디바이스들을 찾아(discovery) 명세정보(description)를 알아내고, 제어(control)하는 것이 가능하다.
일반적으로 UPnP 네트워크 시스템은 서비스를 제공해주는 다수개의 디바이스(Device)와, 이 다수개의 디바이스를 제어하는 컨트롤 포인트(CP)를 구비하여 구성된다.
상기 컨트롤 포인트(CP)는 다양한 장비를 제어하는 소프트웨어 개체로서, 사용자의 키 입력에 따라 각종 디바이스들을 발견하고(discovery), 기능을 알아내며(description), 제어(control)하도록 구성된다.
상기 디바이스(Device)는 홈 네트워크에 접속된 PC, 네트워크 장비 등의 장치로서, 이벤트를 컨트롤 포인트(CP)로 알리며 프레젠테이션(presentation) 페이지를 상기 컨트롤 포인트(CP)로 제공하여 웹 페이지를 이용한 디바이스 제어 및 상태 파악이 가능하도록 구성된다
현재 UPnP 디바이스 아키텍쳐 버전1.0의 UPnP 프로토콜 구조는 도2의 예시도에 도시된 바와 같이, IP를 포함하는 네트워크 계층(Network Layer)(211)과, UDP, TCP를 포함하는 트랜스포트 계층(Transport Layer)(212)과, HTTP, XML(eXtensible Markup Language), SOAP(Simple Object Access Protocol), SSDP(Simple Service Discovery Protocol) 등의 프로토콜과 GENA(Generic Event Notification Architecture)와 같은 아키텍쳐를 포함하는 프리젠테이션/세션 계층(Presentation/Session Layer)(213)과, UPnP 디바이스, 포럼(ForumP), 사업자 등의 관련 정보를 포함하는 어플리케이션 계층(Application Layer)(214)으로 구성된다.
이러한 UPnP 프로토콜을 적용한 UPnP 네트워크 시스템에서 컨트롤 포인트(CP)와 디바이스(Device) 간의 통신은 디바이스들이 IP 주소를 할당 받는 주소할당(Addressing) 단계와, 컨트롤 포인트(CP)들이 디바이스의 존재를 알아내는 발견(Discovery) 단계와, 컨트롤 포인트(CP)가 디바이스와 그 디바이스가 지원하는 서비스 정보를 얻어오는 기능설명(Description) 단계와, 컨트롤 포인트(CP)가 디바이스의 서비스를 호출하는 제어(Control) 단계와, 디바이스가 컨트롤 포인트(CP)로 자신의 상태 변이를 알리는 이벤트(Eventing) 단계와, 디바이스 자신의 상태와 제어 정보를 보여주는 프레젠테이션(Presentation) 단계를 포함하여 이루어진다.
어드레싱(addressing)은 UPnP 디바이스가 네트워크에 참여하게 되면 자신의 IP 주소를 DHCP(Dynamic Host Configuration Protocol)를 이용하여 받아오거나, 네트워크에 DHCP 서버가 없는 경우 자동(auto) IP 기능을 이용하여 특정 서브넷 안에서 무작위로 IP 주소를 구성하여 로컬 네트워크에서의 중복 사용여부 검사 후에 사용하게 된다.
콘트롤 포인트(CP)가 네트워크 안에 있는 UPnP 디바이스를 찾는 과정인 찾기(discovery)는 SSDP(Simple Service Discovery Protocol)를 사용하여 이루어진다.
먼저, 디바이스가 네트워크에 추가되었을 경우, 디바이스는 SSDP의 출현(alive) 메시지를 네트워크에 IP 멀티캐스트 기능을 이용하여 전달하게 된다. 콘트롤 포인트는 출현 메시지를 받아서 디바이스의 존재여부를 알 수 있다. 반대로, 콘트롤 포인트(CP)가 네트워크에 새로 참여하게 되는 경우 해당 콘트롤 포인트(CP)는 SSDP의 찾기(m-search) 메시지를 네트워크에 멀티캐스트하게 된다. 이 메시지를 확인한 UPnP 디바이스는 자신의 정보를 담은 응답 메시지를 해당 콘트롤 포인트로 보내준다.
만일, 콘트롤 포인트(CP)가 응답 메시지를 확인하기를 원하는 경우 디바이스에 관련된 상세한 정보를 디바이스에 요청할 수 있으며, 요청을 받은 디바이스는 자신의 정보를 XML 문서로 만들어 보내주게 된다. 이 과정이 바로 디스크립션(description)이다.
콘트롤 포인트(CP)가 디바이스를 제어하고자 하는 경우 디바이스 디스크립션을 바탕으로 받고자 하는 서비스를 SOAP을 이용하여 디바이스에 보내주게 된다. SOAP은 원격지 함수 호출을 목적으로 HTTP 위에서 XML을 기반으로 작성되어진 프로토콜이다.
마지막으로 디바이스의 이벤트 메시지를 받기 원하는 경우에는 콘트롤 포인트(CP)는 디바이스에 해당 이벤트에 대한 가입 요청을 보내게 된다. 가입이 성공하면 디바이스는 CP에게 GENA를 사용하여 이벤트 메시지를 전송해준다.
현재 UPnP AV 네트워크는 도1의 구성도에 도시된 바와 같이, 홈 네트워크에 미디어 데이터를 제공하는 미디어 서버(MS ; Media Server)(120)와, 홈 네트워크를 통해 미디어 데이터를 재생하는 미디어 렌더러(MR ; Media Render)(130)와, 상기 미디어 서버(120)와 미디어 렌더러(130)를 제어하는 AV 콘트롤 포인트(CP ; Control Point)(110)를 구비한다.
이러한 구성의 종래 기술에 대한 동작 과정을 설명하면 다음과 같다.
현재 미디어 서버(MS)(120)가 콘트롤 포인트(CP)(110)에게 디렉토리 정보를 알려 주기 위해서는 UPnP 액션(action)이 있을 때마다 직접 파일 시스템을 이용하여 미디어 파일에 대한 정보를 알린다.
그리고, UPnP AV 네트워크에서 미디어 데이터를 재생(play)하기 위해서는 미디어 서버(120)와 미디어 렌더러(130) 간에 스트리밍(streaming) 방식으로 미디어 데이터를 전송한다. 지금까지 미디어 스트리밍을 위한 다양한 기술들이 나와 있으며, UPnP AV에서는 다양하게 제시되어 있는 어떠한 방식도 사용 가능하지만, 현재 UPnP AV에서는 out-of-band transfer protocol을 사용하고 있다.
UPnP AV 메커니즘에 대해서 좀 더 자세히 설명하면 다음과 같다.
AV 콘트롤 포인트(110)는 표준화된 SOAP(Simple Object Access Protocol) 기반으로 제공되는 UPnP 액션을 호출함으로써 디바이스 즉, 미디어 서버(120)와 미디어 렌더러(130)를 제어한다.
또한, AV 콘트롤 포인트(110)는 디바이스가 제공하는 이벤트 서비스에 가입하여 디바이스의 상태 정보 변화를 보고 받을 수 있다.
상기 미디어 서버(120)는 서버가 관리하는 미디어 데이터를 탐색하는 서비스를 제공하는 ContentDirectory 서비스(121)와, MediaServer와 MediaRenderer간에 streaming을 위한 컨넥션을 관리하는 ConnectionManager 서비스(122)와, 미디어에 대한 재생(Play), 중지(Stop)와 같은 컨트롤을 제공하는 AVTransport 서비스(123)를 제공하고 있다.
상기 미디어 렌더러(130)는 화면의 밝기, 명도를 제어하는 RenderingControl 서비스(131)와, ConnectionManager 서비스(132)와, AVTransport 서비스(133)를 제공하고 있다.
따라서, AV 콘트롤 포인트(110)는 발견된 UPnP 미디어 서버(120)와 미디어 렌더러(130)에 대해 ContentDirectory 서비스(121)를 이용해서 서버의 미디어 파일 정보를 알아내고 이 정보를 바탕으로 ConnectionManger 서비스(122)(132)를 통해 상기 미디어 서버(120)와 미디어 렌더러(130) 간에 미디어 전송을 위한 연결을 맺고 AVTransport 서비스(123)(133)를 이용해서 해당 미디어 파일을 재생(play)할 수 있다.
또한, 미디어 렌더러(130)의 RenderingControl 서비스(131)를 통해 화면의 밝기나 명도 등을 조절하는 것이 가능하다.
그리고, AV 콘트롤 포인트(110)는 미디어 서버(120)의 컨텐츠가 변경되거나 현재 미디어 스트림(stream)의 상태 변화 등의 정보를 각 서비스가 제공하는 이벤트에 가입함으로써 모니터링 할 수 있다.
한편, UPnP 디바이스가 실행되고 있는 동안 네트워크 인터페이스의 IP 주소가 변하게 되는 상황이 발생할 수 있다.
예를 들면, DHCP 서버가 다운(down)되어 있는 동안 자동(auto) IP를 이용해서 통신하다가 DHCP 서버가 업(up)되어서 IP를 DHCP 클라이언트에게 제공해 주는 경우 IP 주소가 변하는 상황이 발생한다.
또한, DHCP 서버로 받은 IP 주소의 유효 기간이 지나서 DHCP 클라이언트가 서버에게 IP 주소를 요구했을 때 새로운 IP 주소를 받게 되는 경우도 있을 수 있다.
이렇게 네트워크 인터페이스의 IP 주소가 변하는 경우 UPnP 표준에서 UPnP 디바이스는 SSDP의 종료(bye-bye) 메시지를 멀티캐스트하여 콘트롤 포인트(CP)에게 알리고 새로운 IP 주소를 이용하여 SSDP의 출현(alive) 메시지를 네트워크에 멀티캐스트하여 콘트롤 포인트(CP)에게 알리도록 권고하고 있다. 즉, 네트워크 상황에 변하여 디바이스 인터페이스의 IP 주소가 변경되는 경우 UPnP 디바이스를 UPnP 홈 네트워크에서 해제(unregister)하고 새롭게 등록(register)하는 것이다.
그러나, 종래에는 out-of-band로 이루어지고 있는 미디어 스트림의 전송이 끊기거나 콘트롤(control)을 잃게 되는 경우 또는 미디어 서버로부터 스트리밍을 통해 미디어 렌더러가 멀티미디어 데이터를 수신하고 있을 때 UPnP 디바이스의 IP 주소가 바뀌는 경우 사용자가 시청하고 있던 미디어 데이터를 더 이상 시청할 수 없게 되는 문제점이 있다.
즉, 종래에는 시청하고 있던 미디어 스트림이 초기화되거나 이미 해지(expire)된 이전의 IP 주소로 잘못 전달되는 경우 사용자가 시청하고 있던 미디어 데이터를 더 이상 시청할 수가 없게 된다.
따라서, 본 발명은 종래의 문제점을 개선하기 위하여 디바이스의 IP 주소가 바뀌더라도 미디어 스트리밍이 올바르게 될 수 있도록 창안한 유피엔피(UPnP) 네트워크의 IP 주소 설정 방법을 제공함에 목적이 있다.
즉, 본 발명은 디바이스가 사전에 IP 변경 여부를 콘트롤 포인트(CP)에 통보하여 콘트롤 포인트가 스트림이 끊기지 않도록 처리하며 또한, 디바이스가 사전에 IP 변경 여부를 콘트롤 포인트에 통보하지 못하더라도 이를 콘트롤 포인트가 인식하여 미디어 스트림의 끊김을 이어주도록 함을 목적으로 하는 것이다.
본 발명은 상기의 목적을 달성하기 위하여 콘트롤 포인트(CP)를 구비하여 네트워크 상의 미디어 서버 디바이스와 미디어 렌더러 디바이스 간의 미디어 스트리밍을 제어하는 UPnP AV 네트워크의 스트리밍 서비스 방법에 있어서, 콘트롤 포인트(CP)가 디바이스(제1 디바이스라 칭함)가 제공하는 이벤트 서비스에 가입하는 단계와, 제1 디바이스로부터 IP 주소 변경을 알리는 이벤트 메시지가 수신되면 IP 주소 변경을 상대 디바이스(제2 디바이스로 칭함)로 알리는 단계와, 제1 디바이스로부터 IP 주소 변경에 관련한 이벤트 메시지가 아닌 디바이스 종료를 알리는 SSDP 메시지가 수신되면 상기 제1 디바이스에 미디어 스트림이 열려 있는지 확인하는 단계와, 상기에서 미디어 스트림이 열려 있고 제1 디바이스로부터 출현 메시지가 수신되면 IP 주소 변경을 제2 디바이스로 알리는 단계와, 상기에서 제1 디바이스에 미디어 스트림이 열려 있지 않은 경우 제1 디바이스 등록을 삭제하는 단계를 수행함을 특징으로 한다.
상기에서 IP 주소 변경 알림을 위한 이벤트 메시지는 미디어 스트림 객체명(instancdID), 변경될 IP 주소, 이전 IP 주소 및 IP 주소 변경 시점의 정보를 포함하여 이루어짐을 특징으로 한다.
또한, 본 발명은 상기의 목적을 달성하기 위하여 네트워크 상에 미디어 서버 디바이스 또는 미디어 렌더러 디바이스를 구비하여 콘트롤 포인트의 제어에 의해 미디어 스트리밍을 수행하는 UPnP 네트워크의 스트리밍 서비스 방법에 있어서, 임의의 디바이스가 IP 주소를 변경하는 단계와, 상기에서 IP 주소가 변경된 디바이스가 종료 메시지를 콘트롤 포인트로 전송하는 단계와, 해당 디바이스가 출현 메시지를 콘트롤 포인트로 전송하는 단계를 수행하여 콘트롤 포인트가 종료 메시지와 출현 메시지의 uuid 값이 동일한 경우 IP 주소 변경으로 인식하도록 구성함을 특징으로 한다.
상기에서 IP 주소 변경을 확인하는 경우 콘트롤 포인트로 IP 주소 변경을 알리는 이벤트 메시지를 전송하고 IP 주소를 변경하는 단계를 포함하여 수행함을 특징으로 한다.
이하, 본 발명을 도면에 의거 상세히 설명하면 다음과 같다.
UPnP 네트워크에서 서로 다른 두 디바이스간의 통신은 정의되어 있지 않다.
따라서, 서로 다른 디바이스 간에 데이터를 주고 받기 위해서 콘트롤 포인트(CP)를 통하는 방법을 이용할 수 있다.
콘트롤 포인트가 디바이스에서 제공하는 이벤트 서비스에 가입하면 디바이스는 상기 콘트롤 포인트로 원하는 시점에 이벤트 메시지를 전송함으로써 상기 콘트롤 포인트에게 정보를 제공할 수 있다.
또한, 콘트롤 포인트는 다른 디바이스의 서비스 액션을 호출할 때 해당 액션의 입력 argument로 전송하고자 하는 정보를 전달할 수 있다.
따라서, 본 발명의 실시예에서는 IPAddressManage(이하, IPM으로 약칭함) 서비스를 도3 및 도4의 예시도와 같이 정의한다.
이 IPM 서비스는 독립적인 서비스로 디바이스로 등록될 수 있고, 해당 상태 변수(state variable)와 액션을 UPnP AV의 AVTransport 서비스에 vender-specific state variable과 액션으로 추가할 수 있다.
IPM 서비스는 IPAddress라는 state variable을 구비하는데, 이는 해당 디바이스의 인터페이스 IP를 지칭하며, 인터페이스의 IP가 변할 때마다 eventing되어진다.
IPM 서비스는 NotifyIPAddressChange라는 액션을 가진다. 이 액션은 입력 argument로서, 도5의 예시도에 도시한 바와 같이 InstanceID, NewIP, OldIP, TimeToChange를 포함한다.
상기 InstanceID는 UPnP AV의 ConnectionManage의 PrepareForConnection으로 만들어지는 값이다. 디바이스가 단 1개의 미디어 스트림만을 지원하는 경우에는 그 값이 '0'이다.
NewIP는 인터페이스에 새로 지정될 IP 주소이고, OldIP는 그동안 사용하고 있었던 IP 주소이다.
상기 TimeToChange는 앞으로 몇 초 후에 인터페이스의 IP 주소가 변경될 것인지를 나타낸다. 만약 이미 변경된 경우라면 그 값이 '0'이다.
도6은 RTP를 사용하는 경우와 같은 Isochronous-Push Transfer Protocol을 이용하여 미디어 스트림을 전송하는 경우의 메시지 전달 과정을 도시한 것이다.
먼저, UPnP AV 콘트롤 포인트(610)는 미디어 렌더러(630)의 IPM eventing 서비스에 가입한다.
이후, 미디어 렌더러(630)의 IP 주소가 바뀌게 되면 eventing 메커니즘을 통해 콘트롤 포인트(610)로 전달한다(S601).
만일, 이미 IP 주소가 변경된 경우에는 eventing을 통하지 않더라도 SSDP의 종료(bye-bye) 메시지와 출현(alive) 메시지의 device uuid 값이 동일한지의 여부를 확인하는 방법으로 해당 디바이스의 IP 주소가 변경되었는지를 알아낼 수 있다. 따라서, 이벤팅을 통해서 IP 주소의 변경을 알려주는 방법은 인터페이스의 IP가 변할 것을 미리 알 수 있는 경우에만 사용한다.
이때, 이벤팅을 받은 후에 콘트롤 포인트(610)는 미디어 서버(620)가 제공하는 NotifyIPAddressChange 액션을 호출함으로써 미디어 렌더러(630)의 변경될 IP 주소를 전달해 줄 수 있다(S602).
이에 따라, 미디어 서버(620)는 적당한 시점에 out of band media streaming의 목적지 IP 주소를 변경시켜준다(S603).
도8은 도6의 시나리오를 UPnP 액션 레벨에서 표현한 신호 흐름도로서 이를 설명하면 다음과 같다.
우선, 콘트롤 포인트(610)는 'CDS::Browse()' 액션을 통해 임의의 콘텐트를 선택하고 'ConnectionManager(CM)::GetProtocolInfo()' 액션을 통해 미디어 렌더러(630)가 콘텐트를 재생할 수 있는지의 여부를 확인한다.
이후, 콘트롤 포인트(610)는 미디어 서버(620)와 미디어 렌더러(630) 간의 전송 프로토콜 및 미디어 데이터 포맷을 매칭시키게 된다.
이후, 콘트롤 포인트(610)는 CM::PrepareForConnection 액션을 통해 생성된 AVTransport(AVT) InstanceID를 이용하여 미디어 서버(620)에게 미디어 렌더러(630)의 IP 주소 변경 정보를 IPManager의 NotifyIPAddressChange 액션을 호출함으로써 전달한다. 즉, 해당 InstanceID를 갖는 미디어 스트림에 대해서 상대방 미디어 렌더러(MR)의 IP 주소 변경을 전달해 주는 것이다. 이때, 각 액션 호출은 UPnP AV Architecture V1.0을 따른다.
그리고, CM::PrepareForConnection 액션을 통해 생성된 RCS InstancdID를 미디어 렌더러(630)에게 알린다.
이후, 콘트롤 포인트(610)는 미디어 서버(120)로 'SetAVTransportURI()' 액션을 호출하고 'AVT::Play()' 액션을 호출하게 된다.
이에 따라, 미디어 렌더러(630)가 미디어 서버(620)가 보내주고 있는 콘텐트를 재생(play)하여 사용자가 해당 콘텐트를 시청할 수 있게 한다.
이후, 미디어 렌더러(630)로부터 IP 주소 이벤팅 메시지에 의해 상기 미디어 렌더러(630)의 IP 주소 변경을 인식한 콘트롤 포인트(610)는 미디어 서버(620)로 'IPM::NotifyIPAddressChange()' 액션을 호출하여 상기 미디어 렌더러(630)의 변경될 IP 주소를 알려주게 된다.
이에 따라, 미디어 서버(620)가 미디어 스트림이 전달될 IP 주소를 변경하여 해당 미디어 스트림을 전송하게 된다.
또한, 도7은 HTTP GET을 사용하는 경우와 같은 Asynchronous-Pull Transfer Protocol을 이용하여 미디어 stream을 전송하는 경우의 메시지 전달 과정을 도시한 것이다.
먼저 UPnP AV 콘트롤 포인트(710)는 미디어 서버(720)의 IPM eventing 서비스에 가입한다.
이후, 미디어 서버(720)의 주소가 변경되게 되면 eventing 메커니즘을 통해 콘트롤 포인트(710)로 전달한다(S701). 만일, 이미 IP 주소가 변경된 경우에는 eventing을 통하지 않더라도 SSDP의 종료(bye-bye) 메시지와 출현(alive) 메시지의 device uuid 값이 동일한지의 여부를 확인하는 방법으로 해당 디바이스의 IP 주소가 변경된 것을 알아낼 수 있다. 따라서, 이벤팅을 통해서 IP 주소 변경을 알려주는 방법은 인터페이스의 IP 주소가 변경될 것을 미리 알 수 있는 경우에만 사용한다.
이때, 이벤팅을 받은 후에 콘트롤 포인트(710)는 미디어 서버(720)가 제공하는 NotifyIPAddressChange 액션을 호출함으로써 미디어 서버(720)의 변경될 IP 주소를 전달해 줄 수 있다(S702).
이에 따라, 미디어 렌더러(730)는 적당한 시점에 out of band media streaming의 소스 IP 주소를 변경시켜준다(S703).
도9는 7의 해당 시나리오를 UPnP 액션 레벨에서 표현한 신호 흐름도를 도시한 것으로, 이를 설명하면 다음과 같다.
우선, 콘트롤 포인트(710)는 미디어 서버(720)로 'CDS::Browse()' 액션을 호출하여 임의의 콘텐트를 선택하고 'ConnectionManager(CM)::GetProtocolInfo()' 액션을 통해 미디어 렌더러(730)가 콘텐트를 재생할 수 있는지의 여부를 확인한다.
이후, 콘트롤 포인트(710)는 미디어 서버(720)와 미디어 렌더러(730) 간의 전송 프로토콜 및 미디어 데이터 포맷을 매칭시키게 된다.
이후, 콘트롤 포인트(710)는 CM::PrepareForConnection 액션을 통해 생성된 AVTransport(AVT) InstanceID, RCS InstancdID를 이용하여 미디어 렌더러(730)에게 미디어 서버(720)이 전송할 콘텐트를 수신할 수 있는 IP 주소를 알리게 된다.
이후, 콘트롤 포인트(710)는 미디어 렌더러(730)로 'AVTransportURI"를 세팅한 후 재생(play) 액션을 호출하게 된다.
이에 따라, 미디어 서버(720)와 미디어 렌더러(730) 간에 콘텐트 스트림이 발생하고 상기 미디어 렌더러(730)가 해당 콘텐트를 재생하여 사용자가 해당 콘텐트를 시청할 수 있도록 한다.
이후, 콘트롤 포인트(710)는 IP 주소 변경에 의한 이벤트 메시지가 수신되는지 확인하다가 해당 메시지가 수신되면 'CM::PrepareForConnection' 액션을 통해 생성된 AVTransport(AVT) InstanceID를 이용하여 미디어 렌더러(730)에게 미디어 서버(720)의 IP 주소 변경 정보를 IPManager의 NotifyIPAddressChange 액션을 호출함으로써 전달한다. 즉, 해당 InstanceID를 갖는 미디어 스트림에 대해 상대방 미디어 서버(720)의 IP 주소 변화를 전달해 주는 것이다. 이때, 상기에서 각 액션 호출은 UPnP AV Architecture V1.0을 따른다.
이에 따라, 미디어 서버(620)가 미디어 스트림이 전달될 IP 주소를 변경하여 해당 미디어 스트림을 전송하고 미디어 렌더러(730)는 변경된 IP 주소로 접속하여 해당 미디어 스트림을 수신하여 재생하게 된다.
한편, 본 발명의 실시예에서 상기 과정을 실행함에 있어서, UPnP 디바이스와 UPnP 콘트롤 포인트의 동작을 도10 및 도11을 참조하여 설명하기로 한다.
도10은 IP 주소가 변경되는 UPnP 디바이스의 동작 순서도를 도시한 것으로, 이를 설명하면 다음과 같다.
먼저, UPnP 디바이스는 자신이 가지고 있는 네트워크 인터페이스의 IP 주소 변경을 미리 알 수 있는 경우에는 IPAddress state variable을 이벤팅 서비스에 가입된 모든 콘트롤 포인트에게 전달해 준다(S11,S12). 이때, IPAddress state variable에는 새로운 IP 주소 값과 몇 초 후에 변화하는지를 알리는 정보를 포함한다.
만약, IP 주소의 변화를 미리 알 수 없는 경우에는 IP 주소 변경을 알리는 이벤팅 단계(S12)를 넘어간다.
이후, 인터페이스의 IP 주소가 바뀌면 이전의 IP 주소로 구성된 device URL을 포함하는 SSDP의 종료(bye-bye) 메시지를 보내고, 새로운 IP 주소로 구성된 device URL을 포함하는 SSDP의 출현(alive) 메시지를 보낸다(S13,S14,S15).
상기의 과정은 해당 UPnP 디바이스에서 반복적으로 수행되어진다.
도 11은 UPnP 콘트롤 포인트의 동작 순서도를 도시한 것으로, 이를 설명하면 다음과 같다.
먼저, UPnP 콘트롤 포인트는 UPnP 디바이스가 보내는 IPAddress 이벤트 메시지를 받은 경우 이 메지시를 전달하려는 UPnP 디바이스의 NotifyIPAddressChange 액션을 호출한다(S21,S22).
만약, IPAddress 이벤트를 받지 않은 상태에서 해당 UPnP 디바이스로부터 SSDP 종료(bye-bye) 메시지를 수신한 경우 해당 디바이스에 현재 미디어 스트림이 열려 있고 미디어 데이터를 전송 중인지를 확인한다(S21,S23,S24),
이때, 해당 디바이스에서 미디어 스트림을 전송 중이지 않은 경우에는 UPnP 콘트롤 포인트는 평소대로 해당 디바이스 등록을 삭제한다(S26).
그리고, 미디어 스트림을 전송중인 경우에는 해당 디바이스가 이전과 동일한 device uuid값을 가지고 SSDP의 출현(alive) 메시지를 전송하는지를 기다린다(S25).
이후, 일정 시간 내에 해당 출현 메시지가 도착하면 UPnP 콘트롤 포인트는 해당 디바이스의 네트워크 인터페이스의 IP 주소가 변경된 것으로 간주하고 이 정보를 전달하려는 UPnP 디바이스(IP 주소가 변경된 디바이스의 peer로서 미디어 전송을 담당하는 디바이스)의 NotifyIPAddressChange 액션을 호출한다(S25,S22).
상기와 같은 과정은 해당 콘트롤 포인트에서 반복적으로 수행되어진다.
상기에서 상세히 설명한 바와 같이 본 발명은 UPnP 디바이스가 사전에 IP 주소 변경 여부를 콘트롤 포인트로 통보하여 미디어 스트림의 끊김을 방지하거나 UPnP 디바이스가 IP 주소 변경을 알리지 않는 경우에 콘트롤 포인트가 IP 주소 변경을 자동으로 인식하여 미디어 스트림을 이어주도록 함으로써 사용자에게 안정적인 미디어 시청을 보장할 수 있도록 하는 효과가 있다.
도1은 일반적인 UPnP AV 네트워크의 구성도.
도2는 UPnP 프로토콜 구조의 예시도.
도3 내지 도5는 본 발명의 실시예에서 IPM 서비스에 관련한 변수 및 액션의 예시도.
도6 및 도7은 본 발명의 실시예에서 IP 주소 변경을 위한 모델의 예시도.
도8은 도6에서 IP 주소 변경 과정을 보인 신호 흐름도.
도9는 도7에서 IP 주소 변경 과정을 보인 신호 흐름도.
도10은 본 발명의 실시예에서 디바이스에서의 주소 변경 과정을 보인 동작 순서도.
도11은 본 발명의 실시예에서 UPnP 콘트롤 포인트에서의 주소 변경 과정을 보인 동작 순서도.
* 도면의 주요부분에 대한 부호 설명 *
610,710 : 콘트롤 포인트(CP) 620,720 : 미디어 서버(MS)
630,730 : 미디어 렌더러(MR)

Claims (9)

  1. 콘트롤 포인트를 구비하여 네트워크 상의 미디어 서버 디바이스와 미디어 렌더러 디바이스 간의 미디어 스트리밍을 제어하는 UPnP AV 네트워크의 스트리밍 서비스 방법에 있어서,
    임의의 디바이스(제1 디바이스라 칭함)로부터 IP 주소 변경을 알리는 이벤트 메시지가 수신되면 콘트롤 포인트가 IP 주소 변경을 상기 제1 디바이스에 대응되는 상대 디바이스(제2 디바이스라 칭함)로 알리는 단계를 수행함을 특징으로 하는 유피엔피(UPnP) 네트워크의 IP 주소 설정 방법.
  2. 제1항에 있어서, 콘트롤 포인트(CP)가 디바이스의 IP 주소 변경 알림을 위한 이벤트 서비스에 가입하는 단계를 포함하는 것을 특징으로 하는 유피엔피(UPnP) 네트워크의 IP 주소 설정 방법.
  3. 제1항에 있어서, 이벤팅 메시지는
    스트리밍 미디어 객체명(instanceID), 변경될 IP 주소, 이전 IP 주소, IP 주소 변경 시점의 정보를 포함하여 이루어짐을 특징으로 하는 유피엔피(UPnP) 네트워크의 IP 주소 설정 방법.
  4. 콘트롤 포인트를 구비하여 네트워크 상의 미디어 서버 디바이스와 미디어 렌더러 디바이스 간의 미디어 스트리밍을 제어하는 UPnP AV 네트워크의 스트리밍 서비스 방법에 있어서,
    임의의 디바이스(제1 디바이스라 칭함)로부터 스트림 종료 메시지를 수신하는 단계와,
    상기 제1 디바이스로부터 출현 메시지를 수신되는 경우 상기 제1 디바이스에 대응되는 상대 디바이스(제2 디바이스라 칭함)로 상기 제1 디바이스의 IP 주소 변경 정보를 알리는 단계를 수행함을 특징으로 하는 유피엔피(UPnP) 네트워크의 IP 주소 설정 방법.
  5. 제4항에 있어서, IP 주소 변경 알림 단계는 제1 디바이스에 미디어 스트림이 열려 있는 경우 수행함을 특징으로 하는 유피엔피(UPnP) 네트워크의 IP 주소 설정 방법.
  6. 제4항에 있어서, IP 주소 변경 알림 단계는
    종료 메시지와 출현 메시지의 device uuid 값이 일치하는 경우에 수행함을 특징으로 하는 유피엔피(UPnP) 네트워크의 IP 주소 설정 방법.
  7. 제4항에 있어서, 제1 디바이스로부터 종료 메시지가 수신된 경우 그 제1 디바이스에 미디어 스트림이 열려 있지 않은 경우 제1 디바이스 등록을 삭제하는 단계를 포함하여 수행함을 특징으로 하는 유피엔피(UPnP) 네트워크의 IP 주소 설정 방법.
  8. 네트워크 상에 미디어 서버 디바이스 또는 미디어 렌더러 디바이스를 구비하여 콘트롤 포인트의 제어에 의해 미디어 스트리밍을 수행하는 UPnP 네트워크의 스트리밍 서비스 방법에 있어서,
    임의의 디바이스가 IP 주소를 변경하는 단계와,
    상기에서 IP 주소가 변경되면 해당 디바이스가 종료 메시지를 콘트롤 포인트로 전송하고 이후 출현 메시지를 콘트롤 포인트로 전송하는 단계를 수행하여
    콘트롤 포인트가 종료 메시지와 출현 메시지의 uuid 값이 동일한 경우 변경될 IP 주소를 인식하도록 함을 특징으로 하는 유피엔피(UPnP) 네트워크의 IP 주소 설정 방법.
  9. 제8항에 있어서, IP 주소 변경을 확인하는 경우 콘트롤 포인트로 IP 주소 변경을 알리는 이벤트 메시지를 전송하고 IP 주소를 변경하는 단계를 포함하여 수행함을 특징으로 하는 유피엔피(UPnP) 네트워크의 IP 주소 설정 방법.
KR1020030070868A 2003-10-11 2003-10-11 유피엔피(UPnP) 네트워크의 IP 주소 설정 방법 KR20050035038A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020030070868A KR20050035038A (ko) 2003-10-11 2003-10-11 유피엔피(UPnP) 네트워크의 IP 주소 설정 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030070868A KR20050035038A (ko) 2003-10-11 2003-10-11 유피엔피(UPnP) 네트워크의 IP 주소 설정 방법

Publications (1)

Publication Number Publication Date
KR20050035038A true KR20050035038A (ko) 2005-04-15

Family

ID=37238690

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030070868A KR20050035038A (ko) 2003-10-11 2003-10-11 유피엔피(UPnP) 네트워크의 IP 주소 설정 방법

Country Status (1)

Country Link
KR (1) KR20050035038A (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100608582B1 (ko) * 2004-08-28 2006-08-03 삼성전자주식회사 범용 플러그 앤 플레이 통신 방법 및 장치
KR100727999B1 (ko) * 2005-10-14 2007-06-14 삼성전자주식회사 UPnP 디바이스 정보를 효율적으로 관리하는 방법 및장치
KR100750135B1 (ko) * 2005-10-25 2007-08-21 삼성전자주식회사 UPnP 디바이스의 IP 주소 변경으로 인한 네트워크연결 중단을 신속하게 복구하는 방법 및 시스템
CN1949711B (zh) * 2005-10-14 2010-12-15 三星电子株式会社 用于发送再见消息的方法和设备

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100608582B1 (ko) * 2004-08-28 2006-08-03 삼성전자주식회사 범용 플러그 앤 플레이 통신 방법 및 장치
KR100727999B1 (ko) * 2005-10-14 2007-06-14 삼성전자주식회사 UPnP 디바이스 정보를 효율적으로 관리하는 방법 및장치
US7697530B2 (en) 2005-10-14 2010-04-13 Samsung Electronics Co., Ltd. Method and apparatus for managing information for universal plug and play device
CN1949711B (zh) * 2005-10-14 2010-12-15 三星电子株式会社 用于发送再见消息的方法和设备
KR100750135B1 (ko) * 2005-10-25 2007-08-21 삼성전자주식회사 UPnP 디바이스의 IP 주소 변경으로 인한 네트워크연결 중단을 신속하게 복구하는 방법 및 시스템
US9419936B2 (en) 2005-10-25 2016-08-16 Samsung Electronics Co., Ltd. Method and apparatus for recovering interruption of network connection caused by IP address change of universal plug and play (UPnP) device

Similar Documents

Publication Publication Date Title
US7583685B2 (en) Gateway device, network system, communication program, and communication method
US7958272B2 (en) Method and apparatus for outputting a user interface (UI) event of 3rd party device in home network
EP2314059B1 (en) Method and system for providing input in home network using upnp
US20060248233A1 (en) Method and system for aggregating the control of middleware control points
KR20020005771A (ko) UPnP 서브-네트워크와 HAVi 서브-네트워크를브릿징하는 방법 및 상기 방법을 구현하기 위한 장치
WO2007063408A2 (en) System and method for using web syndication protocols as an out-of-band upnp service discovery system
WO2007142485A1 (en) Method and system for remote access to universal plug and play devices
WO2007142483A1 (en) A method and system for remotely accessing devices in a network
EP3240286B1 (en) Apparatus and method for configuring high-definition video telephony between computer devices
WO2013107175A1 (zh) 家庭网络设备的控制方法及装置
KR100949020B1 (ko) 멀티캐스트 스트리밍 서비스 방법 및 시스템
US9531561B2 (en) Apparatus and method for extending network area
US10404485B2 (en) Method and apparatus for restricting disclosure of network information during remote access service
US20090254671A1 (en) Remote control of a device by a terminal
KR20050078541A (ko) 홈네트워크 디바이스 모니터링 및 제어 방법
US7617316B2 (en) Network connection device, network system and method for avoiding duplication of proxy function
KR20050035038A (ko) 유피엔피(UPnP) 네트워크의 IP 주소 설정 방법
KR100736037B1 (ko) UPnP기능의 확장 시스템 및 방법
KR100455123B1 (ko) UPnP 기반의 네트워크 시스템의 제어 메시지멀티캐스트 방법 및 장치
JP5718454B2 (ja) ホームネットワークに含まれる機器の機能を制御する方法
KR20050099899A (ko) UPnP 네트워크의 IP 멀티캐스트 할당 방법
KR20040055456A (ko) 유피엔피(UPnP) 기반의 다중 컨트롤 포인트 간의 정보교환 방법
KR100952280B1 (ko) 댁내에 설치되는 주거 게이트웨이의 재부팅을 원격으로제어하는 방법
US20120059885A1 (en) METHOD AND APPARATUS FOR SHARING A MEMO USING UPnP TELEPHONY
KR20050055134A (ko) 망관리 정보를 이용한 바이바이 메시지의 대체 전송 장치,시스템 및 그 방법

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid