KR20120025661A - 원격지에 위치하는 디바이스가 제공하는 이벤트를 수신하기 위한 컨트롤 포인트 및 홈 게이트웨이 - Google Patents

원격지에 위치하는 디바이스가 제공하는 이벤트를 수신하기 위한 컨트롤 포인트 및 홈 게이트웨이 Download PDF

Info

Publication number
KR20120025661A
KR20120025661A KR1020100087646A KR20100087646A KR20120025661A KR 20120025661 A KR20120025661 A KR 20120025661A KR 1020100087646 A KR1020100087646 A KR 1020100087646A KR 20100087646 A KR20100087646 A KR 20100087646A KR 20120025661 A KR20120025661 A KR 20120025661A
Authority
KR
South Korea
Prior art keywords
address
event
home gateway
control point
callback
Prior art date
Application number
KR1020100087646A
Other languages
English (en)
Other versions
KR101394609B1 (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 KR1020100087646A priority Critical patent/KR101394609B1/ko
Publication of KR20120025661A publication Critical patent/KR20120025661A/ko
Application granted granted Critical
Publication of KR101394609B1 publication Critical patent/KR101394609B1/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/2818Controlling appliance services of a home automation network by calling their functionalities from a device located outside both the home and the home network
    • 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/2517Translation of Internet protocol [IP] addresses using port numbers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Automation & Control Theory (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

본 발명의 실시예에 따르면, 사설망에 위치하는 컨트롤 포인트는 원격지에 위치한 디바이스로부터 이벤트를 수신하기 위한 콜백 접속 주소를 원격지에 위치한 디바이스에게 등록한다.
이때, 콜백 접속 주소가 사설 IP 주소로 되어 있는 경우, 콜백 접속 주소는 컨트롤 포인트와 연결된 홈 게이트웨이의 공인 IP 주소 및 홈 게이트웨이에 의해 포트 포워딩 설정된 외부 포트 번호로 변경되어 등록된다.

Description

원격지에 위치하는 디바이스가 제공하는 이벤트를 수신하기 위한 컨트롤 포인트 및 홈 게이트웨이{CONTROL POINT AND HOME GATEWAY FOR RECEIVING EVENT PROVIDED FROM DEVICE IN REMOTE PLACE}
본 발명은 원격지에 위치하는 디바이스가 제공하는 이벤트를 수신하기 위한 컨트롤 포인트 및 홈 게이트웨이에 관한 것이다.
일반적으로, 홈 네트워크는 IP(Internet Procotol) 기반의 사설망으로 이루어진다. 이러한 홈 네트워크는 댁내에서 사용되는 다양한 형태의 디바이스들을 미들웨어(middleware)라 불리는 공통의 가상 컴퓨팅 환경을 통해 하나의 네트워크로 연결하여 통제한다. 여기서, 미들웨어란 다양한 디지털 기기들을 피어-투-피어(peer-to-peer) 방식으로 연결하여 기기들 간의 통신이 가능하도록 하는 것으로, HAVI(Home AV Interoperability), UPnP(Universal Plug and Play control device), Jini(Java Intelligent Network Infra-structure), HWW(Home Wide Web) 등이 현재까지 제안되어 있다.
특히, UPnP는 TCP/IP(transmission control protocol/internet protocol), HTTP(hypertext transfer protocol) 및 XML(extensible markup language)과 같은 인터넷 표준 기술을 기반으로 홈 네트워크 내에 위치한 장치들 간의 통신에 사용되는 IP 기반의 표준 프로토콜 기술이다.
한편, 원격지에 위치한 디바이스에도 마치 홈 네트워크에 위치한 것과 동일한 기능을 제공하기 위한 UPnP 원격 접속(Remote Access, 이하, 'RA'라 통칭함) 1.0 기술에 대한 표준화가 완료되었다.
도 1은 종래의 UPnP(Universal Plug and Play) RA 아키텍쳐(Architecture)를 나타낸 블록도이다. 이때, 도 1의 UPnP 원격 접속 아키텍쳐는 UPnP 포럼(Forum)의 Remote Access Architecture v1.0 문서에서 인용하였다.
도 1을 참조하면, 원격 접속 클라이언트(Remote Access Client, 이하, RAC라 통칭함)(100) 및 원격 접속 서버(Remote Access Server, 이하, RAS라 통칭함)(200)는 공통적으로 RADA(Remote Access Discovery Agent)(110, 210)를 포함하며, 각각 RAC(120) 및 RAS(220)를 포함한다.
RADA(110, 210)는 내부의 RADASync(112, 211)와 RADASync CP(113, 212)를 통해 RAC(100)가 가지고 있는 UPnP 장치 목록과 RAS(200)가 속해 있는 홈 네트워크 상에 동작하는 UPnP 장치 목록을 동기화한다. 그리고 자신이 속한 홈 네트워크 상의 UPnP CP가 원격 네트워크 상의 UPnP 디바이스를 발견할 수 있도록 SSDP(Simple Service Discovery Protocol) 메시지를 처리한다.
여기서, RAC(100)의 RADA(110), RAC(120) 및 RAS(200)의 RADA(210)는 UPnP 디바이스를 나타낸다. 그리고 RAC(100)의 RADASync CP(113), RAS(200)의 RADASync CP(212)는 원격 접속 관련 UPnP 컨트롤 포인트(CP)를 나타내며, 컨트롤 포인트는 UPnP 디바이스에 포함되지 않는다.
또한, RAC(100)의 RADASync(112), RATAConfig(121), RAS(200)의 Inbound Connection Config(221), RADAConfig(223), RATAConfig(224)는 원격 접속 관련 UPnP 서비스(Service)를 나타낸다. RAC(100) 및 RAS(200)는 RADA와 RATA에 대한 기능 설정을 위해 RADA Config(223)와 RATA Config(121, 224) 서비스를 제공한다. 이때, RATA는 RA 트랜스포트(Transport) 채널을 생성하여 RAC(100)와 RAS(200) 간의 통신 채널을 제공하고, RADA는 원격지 간의 정보 동기화, 즉 로컬 사이트에 위치한 UPnP 디바이스들에 대한 정보를 원격지에 그대로 재현해내는 역할을 담당한다.
또한, RADA Listener/Relay(111, 222)는 RADA(Remote Access Discovery Agent)(110, 210)의 서포트 컴포넌트(Support Component)를 의미하며, CP(130) 및 Device(140)는 원격 접속과는 관련 없는 UPnP CP, 디바이스를 나타낸다.
또한, RAS(200)는 원격지에서 들어오는 연결 요청 처리를 설정하기 위한 Inbound Connection Config(221) 서비스를 제공한다. 이때, RATA Config, RADA Config 및 Inbound Connection Config 서비스는 댁내에 위치한 별도의 관리 콘솔 디바이스(400)를 통해 호출된다. 또한, 홈 디바이스(300)와 RA 관리 콘솔(RA Management Console)(400)은 LAN으로 RAS(200)에 연결된다.
상술한 RAC(100)는 원격 단말에 필요한 기능이고, RAS(200)는 댁내 단말에 필요한 기능이고, 원격 단말은 댁내에 위치한 RAS(200)로의 접속을 통해 댁내에 위치한 UPnP 디바이스들의 서비스를 제공받을 수 있다.
여기서, 댁내에 위치한 UPnP 디바이스들은 SSDP 메시지를 이용하여 자신의 존재를 RAS(200)에 알리고 RAS는 이를 AddRemoteDevices()와 같은 RADASync 서비스 액션을 이용해 원격 단말에 전달한다. 그리고 원격 단말은 AddRemoteDevices() 서비스 액션을 통해 전달된 정보를 SSDP 메시지로 변환하여 원격 단말이 속한 랜에 다시 멀티캐스트 송신한다. 이러한 과정을 통하여 원격 단말이 속한 랜 상의 UPnP 디바이스 들도 RAS가 속한 랜 상의 UPnP 디바이스들이 제공하는 서비스들을 제공받을 수 있다.
예컨대, 원격 단말이 속한 랜을 홈 A라 가정하고 댁내 단말이 속한 랜을 홈 B라고 가정했을 경우, 홈 A에 위치한 UPnP 미디어 렌더러는 홈 B에 위치한 미디어 서버의 영상 콘텐츠를 검색하고 스트리밍 형태로 재생 시킬 수 있는 것이다.
그런데 홈 A와 B가 사설망인 경우, 홈 A의 기기에 대한 주소 정보가 홈 B로 전달되었을 때 홈 B에도 동일한 주소를 사용하는 경우 IP 주소 충돌 문제가 발생할 수 있으므로 정상적인 통신 서비스의 제공이 불가능해지는 문제가 발생한다.
물론, RA 표준 1.0 기술에서는 원격 단말과 RAS가 위치한 댁내와의 접속을 VPN(virtual private network)을 통해 구현하는 내용이 명시되어 있으나 VPN을 설정한 경우 원격 단말이 속한 랜과 RAS가 속한 랜이 논리적으로 합쳐져서 하나의 랜으로 구성되는 결과를 가져오게 되므로 두 랜간의 IP 충돌 문제를 해결할 수 없기는 마찬가지다.
이러한 문제를 해결하기 위하여 종래에 응용 계층 게이트웨이(Application Level Gateway, 이하 ALG)방식이 제안되었다.
ALG 방식에 따르면, SSDP 메시지의 'LOCATION 필드'는 URL (uniform resource locator) 정보를 포함하여야 하나 사설 IP가 수록되는 경우 원격지에서 해당 URL로 접근이 안되므로 ALG(Application Layer Gateway) 처리를 하도록 되어 있다. 구체적으로, RAS는 SSDP M-SEARCH 메시지를 댁내로 멀티캐스트 송신하여 UPnP 디바이스를 검색한다. 그러면, UPnP 디바이스는 HTTP 200 OK 메시지로 응답한다. 이때, RAS는 HTTP 200 OK 메시지에 수록된 UPnP 디바이스의 접속 주소가 사설 주소일 경우, RAS의 공인 IP와 원격 단말과의 통신을 위한 대체 포트 정보로 변경함으로써 IP 주소 충돌과 같은 문제가 발생하지 않게 한다.
하지만, 컨트롤 포인트는 UPnP 디바이스가 아니므로, RAS가 댁내 UPnP 장치에 대한 검색을 수행해도 응답하지 않는다. 따라서, RAS는 댁내에 컨트롤 포인트가 존재하는지 확인할 방법이 없으므로, ALG 기능을 컨트롤 포인트에는 적용할 수가 없다.
그러나 UPnP 디바이스는 컨트롤 포인트로부터 서비스 호출을 받고 그 결과를 전달하는 과정 외에도 상태 변화가 발생했을 경우 이를 알리는 이벤트를 컨트롤 포인트에 통지하는 기능을 가지고 있다. 이때, 이벤트 통지에 앞서 컨트롤 포인트는 이벤트 수신을 위한 콜백 접속 주소를 UPnP 디바이스에 등록해야 한다.
그런데, 종래와 같이 ALG 기능을 컨트롤 포인트에 적용하지 않을 경우, 사설 IP 주소 및 포트 번호가 콜백 접속 주소로 등록되어 문제가 발생한다. 이를 도 2를 통해 나타내면 다음과 같다.
도 2는 종래에 컨트롤 포인트가 원격지에 위치하는 디바이스로부터 이벤트를 수신하는 과정을 설명하기 위한 도면이다.
도 2를 참조하면, 제1 UPnP 네트워크(500)는 RAS 기능이 구비된 홈 게이트웨이(501), 홈 게이트웨이(510)에 연결되어 제2 UPnP 디바이스(603)와 통신하는 제1 UPnP 디바이스(503) 및 컨트롤 포인트(505)를 포함한다.
제2 UPnP 네트워크(600)는 RAC 기능이 구비된 홈 게이트웨이(601), 홈 게이트웨이(601)에 연결되어 제1 UPnP 디바이스(503)와 통신하고, 컨트롤 포인트(505)의 제어를 받는 제2 UPnP 디바이스(603)를 포함한다.
이때, 제1 UPnP 네트워크(500) 및 제2 UPnP 네트워크(600)는 사설 IP 주소를 사용하는 사설망이다.
여기서, 제1 UPnP 네트워크(500)에 위치하는 컨트롤 포인트(505)는 사설 IP 주소 및 포트 번호 즉 예를 들어 192.168.1.1 및 9000를 이용하여 생성한 콜백 접속 주소가 포함된 이벤트 수신 등록 메시지(SUSCRIBE)를 제2 UPnP 디바이스(603)에 전송한다.
제2 UPnP 디바이스(603)는 서비스 상태 변화가 발생하는 경우, 이를 알리는 이벤트를 통지하기 위해 이벤트 수신 등록 메시지(SUSCRIBE)에 포함된 콕백 접속 주소 즉 192.168.1.1 및 9000으로 접속을 시도한다.
그러나, 192.168.1.1가 사설 IP 주소이므로 공중 IP 망을 이용해서는 패킷 라우팅이 불가능하여 결국 이벤트 통지가 이루어지지 않게 된다.
따라서, 본 발명이 이루고자 하는 기술적 과제는 사설망에 위치하는 컨트롤 포인트가 원격지에 위치하는 UPnP 디바이스로부터 이벤트를 수신할 수 있게 하는 구성을 포함하는 컨트롤 포인트 및 홈 게이트웨이를 제공하는 것이다.
본 발명의 한 특징에 따르면 컨트롤 포인트가 제공된다. 이 장치는, 원격지에 위치한 디바이스로부터 서비스의 상태 변화를 알리는 이벤트를 수신하는 컨트롤 포인트에 있어서, 상기 컨트롤 포인트가 사설 주소 정보를 할당받은 경우, 상기 컨트롤 포인트와 연결된 홈 게이트웨이로부터 획득한 공인 주소 정보를 이용하여 상기 이벤트를 수신하기 위한 콜백 접속 주소를 변경하는 변환부; 및 상기 콜백 접속 주소가 포함된 이벤트 수신 등록 메시지를 상기 홈 게이트웨이를 통하여 상기 디바이스에게 전송하는 전송부를 포함하고, 상기 디바이스는 상기 이벤트 수신 등록 메시지에 포함된 콜백 접속 주소로 접속을 시도하여 상기 이벤트를 통지한다.
본 발명의 다른 특징에 따르면 홈 게이트웨이가 제공된다. 이 장치는, 제1 홈 네트워크에 속하는 컨트롤 포인트와, 제2 홈 네트워크에 속하는 원격 디바이스 간에 원격 접속을 지원하는 상기 제1 홈 네트워크에 속하는 홈 게이트웨이에 있어서, 상기 컨트롤 포인트로부터 이벤트 수신 등록 메시지-여기서 이벤트 수신 등록 메시지는 상기 원격 디바이스가 제공하는 서비스의 상태 변화를 알리는 이벤트를 수신하기 위한 콜백 접속 주소를 포함함-에 포함된 상기 콜백 접속 주소에 대해 포트 포워딩을 설정하는 설정부; 상기 콜백 접속 주소를 상기 홈 게이트웨이의 공인 IP 주소 및 상기 설정부에 의해 포트 포워딩 설정된 포트 번호로 변경하는 변환부; 및 상기 변환부에 의해 변경된 콜백 접속 주소를 상기 이벤트 수신 등록 메시지에 포함시켜 상기 원격 디바이스에게 전송하는 전송부를 포함하고, 상기 원격 디바이스는 서비스 상태 변화가 발생하는 경우, 상기 이벤트 수신 등록 메시지에 포함된 콜백 접속 주소로 접속을 시도하여 상기 이벤트를 통지한다.
본 발명의 실시예에 따르면, 사설망에 위치한 컨트롤 포인트가 원격지 UPnP 디바이스로부터 이벤트 통지를 정상적으로 수신할 수 있다.
도 1은 종래의 UPnP(Universal Plug and Play) 원격 접속(Remote Access) 아키텍쳐(Architecture)를 나타낸 블록도이다.
도 2는 종래에 컨트롤 포인트가 원격지에 위치하는 디바이스로부터 이벤트를 수신하는 과정에서 발생하는 문제점을 설명하기 위한 도면이다.
도 3은 본 발명의 하나의 실시예에 따른 UPnP 원격 접속 네트워크 구성도이다.
도 4는 도 3의 구성에 따른 컨트롤 포인트가 원격지에 위치하는 디바이스로부터 이벤트를 수신하는 과정을 나타낸 흐름도이다.
도 5는 본 발명의 다른 실시예에 따른 UPnP 원격 접속 네트워크 구성도이다.
도 6은 도 5의 구성에 따른 컨트롤 포인트가 원격지에 위치하는 디바이스로부터 이벤트를 수신하는 과정을 나타낸 흐름도이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 어떤 구성 요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것을 의미한다.
그러면, 도면을 참조로 하여 본 발명의 실시예에 따른 원격지에 위치하는 디바이스가 제공하는 이벤트를 수신하기 위한 컨트롤 포인트 및 홈 게이트웨이에 대하여 상세히 설명한다.
여기서, 본 발명은 두 가지 실시예로 나타낼 수 있으며, 도 3 및 도 4는 제1 실시예에 해당되고, 도 5 및 도 6은 제2 실시예에 해당된다.
<제1 실시예>
먼저, 도 3은 본 발명의 하나의 실시예에 따른 UPnP(Universal Plug and Play) 원격 접속 네트워크 구성도이다.
도 3을 참조하면, 제1 범용 플러그 앤 플레이(Universal Plug and Play Device, 이하 'UPnP'라 통칭함) 네트워크(800) 및 제2 UPnP 네트워크(900)는 인터넷 망(1000)을 통해 통신한다.
제1 UPnP 네트워크(800)는 원격 접속 서버(Remote Access Server, 이하 'RAS'라 통칭함)의 기능을 포함하는 제1 홈 게이트웨이(810), 제1 UPnP 디바이스(820) 및 컨트롤 포인트(Control Point)(830)를 포함한다.
또한, 제2 UPnP 네트워크(900)는 원격 접속 클라이언트(Remote Access Client, 이하 'RAC'라 통칭함)의 기능을 포함하는 제2 홈 게이트웨이(910) 및 제2 UPnP 디바이스(920)를 포함한다.
여기서, RAS 또는 RAC는 원격 접속 서비스를 지원하기 위한 논리적인 장치를 의미하며, 제1 홈 게이트웨이(810) 및 제2 홈 게이트웨이(910)에 포함되는 기능으로 기재하였으나 별도의 장치로 존재할 수 있다.
제1 UPnP 네트워크(800)는 임의의 홈 네트워크이며, 제2 UPnP 네트워크(900)는 제1 UPnP 네트워크(800)로부터 떨어져 있는 원격 홈 네트워크를 의미한다.
또한, 제1 홈 게이트웨이(810) 및 제2 홈 게이트웨이(910)는 제1 UPnP 네트워크(800)와 제2 UPnP 네트워크(900) 간의 원격 접속을 지원한다.
즉 제1 홈 게이트웨이(810) 및 제2 홈 게이트웨이(910)는 제1 UPnP 네트워크(800) 및 제2 UPnP 네트워크(900) 각각에 존재하는 제1 UPnP 디바이스(820) 및 제2 UPnP 디바이스(920)의 정보 및 서비스 정보를 수집하여 상호 동기화한다. 여기서, 제1 홈 게이트웨이(810)와 제2 홈 게이트웨이(910)는 RAT(Remote Access Transport) 채널을 형성하여 원격 접속 정보를 송수신한다.
이때, 제1 홈 게이트웨이(810)와 제2 홈 게이트웨이(910)간의 통신은 공인 인터넷 프로토콜 주소(Internet Protocol Address, 이하에서는 'IP 주소'로 통칭함) 를 통해 이루어진다. 그리고 제1 UPnP 네트워크(800) 및 제2 UPnP 네트워크(900)는 IP 기반의 표준 프로토콜 기술을 사용하며, 사설 IP 주소를 사용한다.
한편, 제1 홈 게이트웨이(810)에 연결된 컨트롤 포인트(830)는 SOAP(Simple Object Acces Procotol)를 이용하여 제2 홈 게이트웨이(910)에 연결된 제2 UPnP 디바이스(920)와 원격 접속할 수 있다. 여기서, SOAP는 원격지 함수 호출을 목적으로 HTTP(HyperText Transfer Protocol) 상에서 XML(eXtensible MarkUp Language)을 기반으로 작성된 프로토콜이다.
이때, 컨트롤 포인트(830)는 제2 UPnP 디바이스(920)가 제공하는 서비스의 상태 변화를 알리는 이벤트 정보를 수신하기 위해 이러한 이벤트 정보에 대한 가입을 요청한다. 여기서, 가입 요청은 이벤트 수신 등록 메시지(SUBSCRIBE)를 이용한다.
이러한 이벤트 수신 등록 메시지(SUBSCRIBE)는 UPnP 포럼(Forum)의 디바이스 아키텍쳐 v1.1 문서에 정의되어 있는 내용에 따르면, 콜백 필드(Call-back field)를 포함한다.
여기서, 콜백 필드는 이벤트 메시지를 전송하는 위치 즉 이벤트 수신 등록 메시지(SUBSCRIBE)를 수신한 제2 UPnP 디바이스(920)가 이벤트를 통지할 위치가 수록되도록 정의된 필드이다. 이러한 콜백 필드에는 URL(Uniform Resource Locator) 정보가 명시되어야하며 컨트롤 포인트(830)의 콜백 접속 주소가 수록된다. 이러한 콜백 접속 주소는 컨트롤 포인트(830)의 IP 주소 및 포트 번호로 구성된 URL이다.
또한, 컨트롤 포인트(830)는 GENA(General Event Notification Architecture)를 이용하여 제2 UPnP 디바이스(920)로부터 이벤트 정보를 수신한다.
세부적으로, 컨트롤 포인트(830)는 할당부(831), 메모리(832), 판단부(833), 설정부(834), 변환부(835) 및 전송부(836) 를 포함한다.
할당부(831)는 제1 홈 게이트웨이(810)로부터 IP 주소를 할당받는다. 이때, DHCP(Dynamic Host Configuration Protocal) 방식으로 IP 어드레스를 자동 할당받을 수 있다.
메모리(832)는 기 정의된 사설 IP 대역 정보를 저장한다. 예컨대 IETF(Internet Engineering Task Force) RFC(Request For Comments) 표준에 의해 정해진 사설 IP 대역 정보를 저장할 수 있다.
판단부(833)는 할당부(831)가 할당받은 IP 주소가 메모리(832)에 저장된 사설 IP 대역에 포함되는 사설 IP 주소인지를 판단한다.
설정부(834)는 제1 홈 게이트웨이(810)에게 포트 포워딩(Port Forwarding) 설정을 요청하여 제1 홈 게이트웨이(810)의 공인 IP 주소 및 포트 포워딩 설정된 외부 포트 번호를 수신한다.
변환부(835)는 설정부(834)가 수신한 제1 홈 게이트웨이(810)의 공인 IP 주소 및 포트 포워딩 설정된 외부 포트 번호를 이용하여 콜백 접속 주소를 생성한다.
전송부(836)는 이벤트 수신 등록 메시지(SUBSCRIBE)를 생성하여 제2 UPnP 디바이스(920)에게 전송한다.
이상 설명한 내용을 토대로, 컨트롤 포인트(830)가 제2 UPnP 디바이스(920)가 제공하는 이벤트를 수신하는 일련의 과정에 대해 설명하면 도 4와 같다. 이때, 도 3과 동일한 구성 요소에 대한 설명은 동일한 도면 부호를 사용한다.
도 4는 도 3의 구성에 따른 컨트롤 포인트가 원격지에 위치하는 디바이스로부터 이벤트를 수신하는 과정을 나타낸 흐름도이다.
도 4를 참조하면, 컨트롤 포인트(830)의 할당부(831)는 제1 홈 게이트웨이(810)로부터 할당받은 IP 주소를 확인한다(S101).
컨트롤 포인트(830)의 판단부(833)는 할당부(831)가 할당받은 IP 주소가 메모리(832)에 저장된 사설 IP 대역에 포함되는 사설 IP 주소인지를 판단한다(S103).
이때, 사설 IP 주소가 아닌 경우로 판단되면, 할당부(831)가 할당받은 IP 주소 및 포트 번호를 이벤트 수신 등록 메시지(SUBSCRIBE)의 콜백 필드에 포함(S105)시켜 제2 UPnP 디바이스(920)에게 전송한다(S107).
반면, S103 단계에서 사설 IP 주소를 할당받은 경우로 판단되면, 컨트롤 포인트(830)의 설정부(834)는 제1 홈 게이트웨이(810)에게 포트 포워딩 설정을 요청한다(S109).
그러면, 제1 홈 게이트웨이(810)는 포트 포워딩을 요청한 컨트롤 포인트(830)에 외부 포트 번호를 할당하고, 컨트롤 포인트(830)의 사설 IP 주소 및 포트 번호로의 포워딩을 설정한다(S111). 그리고 제1 홈 게이트웨이(810)의 공인 IP 주소 및 포트 포워딩 설정된 외부 포트 번호를 설정부(834)에게 전송한다(S113).
컨트롤 포인트(830)의 변환부(835)는 설정부(834)가 수신한 제1 홈 게이트웨이(810)의 공인 IP 주소 및 포트 포워딩 설정된 외부 포트 번호를 이용하여 콜백 접속 주소를 생성한다(S115). 그리고 컨트롤 포인트(830)의 전송부(836)는 변환부(835)가 생성한 콜백 접속 주소를 이벤트 수신 등록 메시지(SUBSCRIBE)의 콜백 필드에 포함시켜 제2 UPnP 디바이스(920)에게 전송한다(S117).
이후, 제2 UPnP 디바이스(920)는 S117 단계에서 수신한 이벤트 수신 등록 메시지(SUBSCRIBE)의 콜백 필드에 수록된 콜백 접속 주소를 이용하여 이벤트를 통지한다.
<제2 실시예>
다음, 도 5는 본 발명의 다른 실시예에 따른 UPnP 원격 접속 네트워크 구성도이다.
도 5를 참조하면, 도 3의 구성과 대부분 동일하고, 제1 UPnP 네트워크(800')의 제1 홈 게이트웨이(810') 및 컨트롤 포인트(830')가 다른 실시예의 구성을 가진다. 따라서, 도 3과 동일한 구성 요소에 대한 설명은 생략하고, 다른 실시예의 구성에 대해서 설명한다.
컨트롤 포인트(830')는 도 3의 실시예와 달리 컨트롤 포인트(830')의 사설 IP 주소 및 포트 번호를 토대로 생성된 콜백 접속 주소를 콜백 필드에 포함하는 이벤트 수신 등록 메시지(SUBSCRIBE)를 생성하여 제2 UPnP 디바이스(920)에게 전송한다.
또한, 제1 홈 게이트웨이(810')는 제2 UPnP 디바이스(920)의 위치를 광고하는 SOAP 메시지를 제2 홈 게이트웨이(910)로부터 수신한다.
여기서, 제2 UPnP 디바이스(920)의 위치를 광고하는 SOAP 메시지는 UPnP 포럼(Forum) 버전 1.0의 RA (Remote Access) 표준 문건에 정의된 'AddRemoteDevice() 메시지'가 사용된다.
'AddRemoteDevice() 메시지'는 원격 단말 추가 리스트 즉 'DeviceList'가 입력 파라미터로 첨부되며, 'DeviceList' 파라미터의 'descriptionDocument' 항목은 URL 정보가 수록되도록 정의되어 있다.
이러한 'descriptionDocument' 항목에는 추가되는 원격 단말 즉 제2 UPnP 디바이스(920)의 접속 주소가 수록된다.
제1 홈 게이트웨이(810')는 'AddRemoteDevice() 메시지'가 수신되면, 제2 UPnP 디바이스(920)의 접속 주소를 포함하는 SSDP(Simple Service Discovery Protocol) 메시지를 생성하여 컨트롤 포인트(830')에게 전송한다. 이러한 SSDP 메시지는 컨트롤 포인트(830')가 원격 네트워크 상의 제2 UPnP 디바이스(920)를 발견할 수 있도록 처리하는 역할을 한다.
또한, 컨트롤 포인트(830')는 이벤트 수신 등록 메시지(SUBSCRIBE)를 제1 홈 게이트웨이(810')을 통하여 제2 UPnP 디바이스(920)에게 전송한다.
이때, 제1 홈 게이트웨이(810')는 수신부(811), 추출부(812), 패킷 필터(813), 설정부(814), 변환부(815) 및 전송부(816)를 포함한다.
수신부(811)는 제1 UPnP 디바이스(820), 컨트롤 포인트(830') 및 제2 홈 게이트웨이(910)로부터 SSDP 메시지 또는 SOAP 메시지를 수신한다.
추출부(812)는 수신부(811)가 수신하는 메시지 중에서 제2 UPnP 디바이스(920)의 위치를 광고하는 'AddRemoteDevice() 메시지'를 추출한다.
패킷 필터(813)는 추출부(812)로부터 'AddRemoteDevice() 메시지'가 전달되는 경우, 'AddRemoteDevice() 메시지'의 'descriptionDocument' 항목에 수록된 제2 UPnP 디바이스(920)의 접속 주소를 추출하여 추출된 접속 주소를 목적지 주소로 설정하여 전송되는 패킷을 가로채기 위한 패킷 필터링을 설정한다.
이 후 패킷 필터(813)는 필터링된 패킷들 중에서 이벤트 수신 등록 메시지(SUBSCRIBE)를 골라낸다.
설정부(814)는 패킷 필터(813)가 필터링한 이벤트 수신 등록 메시지(SUBSCRIBE)의 콜백 필드로부터 콜백 접속 주소를 추출하여 포트 포워딩을 설정한다. 즉 콜백 접속 주소에 대해 외부 포트 번호를 할당하여 콜백 접속 주소로의 포워딩을 설정한다.
변환부(815)는 패킷 필터(813)가 필터링한 이벤트 수신 등록 메시지(SUBSCRIBE)의 콜백 필드로부터 추출한 콜백 접속 주소를 제1 홈 게이트웨이(810')의 공인 IP 주소 및 설정부(814)가 포트 포워딩 설정한 외부 포트 번호로 변경한다.
전송부(816)는 변환부(815)에 의해 콜백 접속 주소가 변경된 이벤트 수신 등록 메시지(SUBSCRIBE)를 제2 UPnP 디바이스(920)에게 전송한다.
이상 설명한 내용을 토대로, 컨트롤 포인트(830')가 제2 UPnP 디바이스(920)가 제공하는 이벤트를 수신하는 일련의 과정에 대해 설명하면 도 6과 같다. 이때, 도 5와 동일한 구성 요소에 대한 설명은 동일한 도면 부호를 사용한다.
도 6은 도 5의 구성에 따른 컨트롤 포인트가 원격지에 위치하는 디바이스로부터 이벤트를 수신하는 과정을 나타낸 흐름도이다.
도 6을 참조하면, 제2 UPnP 디바이스(920)는 제2 UPnP 네트워크(900)에 추가되면, SSDP의 출현(Alive) 메시지를 제2 홈 게이트웨이(910)에게 전송한다(S201). 그러면, 제2 홈 게이트웨이(910)는 제2 UPnP 디바이스(920)의 접속 주소를 포함하는 'AddRemoteDevice() 메시지'를 제1 홈 게이트웨이(810')에게 전송한다(S203).
제1 홈 게이트웨이(810')의 추출부(812)가 제1 홈 게이트웨이(810')의 수신부(811)가 수신한 메시지 중에서 'AddRemoteDevice() 메시지'를 추출하면, 제1 홈 게이트웨이(810')의 패킷 필터(813)는 'AddRemoteDevice() 메시지'의 'descriptionDocument' 항목으로부터 접속 주소를 추출(S205)하여 추출된 접속 주소를 목적지로 설정하여 전송되는 패킷을 가로채기 위한 패킷 필터링을 설정한다(S207).
이후, 패킷 필터(813)는 필터링 된 패킷들 중에서 이벤트 수신 등록 메시지(SUBSCRIBE)를 골라낸다(S209).
이어서 설정부(814)는 패킷 필터(813)를 통해 획득한 이벤트 수신 등록 메시지(SUBSCRIBE)의 콜백 접속 필드로부터 콜백 접속 주소를 추출(S213)한다. 그리고 콜백 접속 주소에 대해 포트 포워딩을 설정한다(S215). 즉 임의의 외부 포트 번호를 할당하고, 할당된 외부 포트 번호를 컨트롤 포인트(830')의 내부 IP 주소 및 포트 번호로 포트 포워딩을 설정한다.
이때, 내부 IP 주소 및 포트 번호는 컨트롤 포인트(830')의 사설 IP 주소 및 포트 번호를 말한다.
그러면, 제1 홈 게이트웨이(810')의 변환부(815)는 S213 단계에서 추출한 콜백 접속 주소를 제1 홈 게이트웨이(810')의 공인 IP 주소 및 S215 단계에서 포트 포워딩 설정된 외부 포트 번호로 변경한다(S217).
제1 홈 게이트웨이(810')의 전송부(816)는 S217 단계에서 변경된 콜백 접속 주소를 S209 단계에서 수신한 이벤트 수신 등록 메시지(SUBSCRIBE)의 콜백 필드에 포함시켜 제2 UPnP 디바이스(920)에게 전송한다(S219).
이후, 제2 UPnP 디바이스(920)는 S219 단계에서 수신한 이벤트 수신 등록 메시지(SUBSCRIBE)의 콜백 필드에 수록된 콜백 접속 주소를 이용하여 이벤트를 통지한다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.
100: Remote Access Client 110: RADA
111: RADA Listener/Relay 112: RADASync
113: RADASync CP 120: RAC
121: RATAConfig 130: CP
140: Device 150: RA Transport Agent
200: Remote Access Server 210: RADA
211: RADASync 212: RADASync CP
220: RAS 221: Inbound Connection Config
222: RADA Listener/Relay 223: RADAConfig
224: RATAConfig 230: RA Transport Agent
300: Home Device 400: RA Management Console
500: 제1 UPnP 네트워크 501: 홈 게이트웨이(RAS)
503: 제1 UPnP 디바이스 505: 컨트롤 포인트
600: 제2 UPnP 네트워크 601: 홈 게이트웨이(RAC)
603: 제2 UPnP 디바이스 700: 인터넷망
800: 제1 UPnP 네트워크 810, 810': 제1 홈 게이트웨이
811: 수신부 812: 추출부
813: 패킷 필터 814: 설정부
815: 변환부 816: 전송부
820: 제1 UPnP 디바이스 830, 830': 컨트롤 포인트
831: 할당부 832: 메모리
833: 판단부 834: 설정부
835: 변환부 836: 전송부
900: 제2 UPnP 네트워크 910: 제2 홈 게이트웨이(RAC)
920: 제2 UPnP 디바이스 1000: 인터넷망

Claims (7)

  1. 원격지에 위치한 디바이스로부터 서비스의 상태 변화를 알리는 이벤트를 수신하는 컨트롤 포인트에 있어서,
    상기 컨트롤 포인트가 사설 주소 정보를 할당받은 경우, 상기 컨트롤 포인트와 연결된 홈 게이트웨이로부터 획득한 공인 주소 정보를 이용하여 상기 이벤트를 수신하기 위한 콜백 접속 주소를 변경하는 변환부; 및
    상기 변경된 콜백 접속 주소가 포함된 이벤트 수신 등록 메시지를 상기 홈 게이트웨이를 통하여 상기 디바이스에게 전송하는 전송부를 포함하고,
    상기 디바이스는 상기 이벤트 수신 등록 메시지에 포함된 상기 변경된 콜백 접속 주소로 접속을 시도하여 상기 이벤트를 통지하는 컨트롤 포인트.
  2. 제1항에 있어서,
    상기 홈 게이트웨이에게 포트 포워딩 설정을 요청하여 상기 홈 게이트웨이의 공인 IP 주소 및 포트 포워딩 설정된 외부 포트 번호를 수신하는 설정부를 더 포함하고,
    상기 변환부는,
    상기 설정부가 수신한 상기 공인 IP 주소 및 상기 외부 포트 번호를 이용하여 상기 콜백 접속 주소를 변경하는 컨트롤 포인트.
  3. 제1항 또는 제2항에 있어서,
    상기 변환부는,
    범용 플러그 앤 플레이(Universal Plug and Play) 서비스에 정의된 상기 이벤트 수신 등록 메시지의 콜백(CALLBACK) 필드에 명시되는 URL(uniform resource locator) 정보를 상기 공인 IP 주소 및 상기 포트 번호를 이용하여 변경하는 것을 특징으로 하는 컨트롤 포인트.
  4. 제1 홈 네트워크에 속하는 컨트롤 포인트와, 제2 홈 네트워크에 속하는 원격 디바이스 간에 원격 접속을 지원하는 상기 제1 홈 네트워크에 속하는 홈 게이트웨이에 있어서,
    상기 컨트롤 포인트로부터 이벤트 수신 등록 메시지-여기서 이벤트 수신 등록 메시지는 상기 원격 디바이스가 제공하는 서비스의 상태 변화를 알리는 이벤트를 수신하기 위한 콜백 접속 주소를 포함함-에 포함된 상기 콜백 접속 주소에 대해 포트 포워딩을 설정하는 설정부;
    상기 콜백 접속 주소를 상기 홈 게이트웨이의 공인 IP 주소 및 상기 설정부에 의해 포트 포워딩 설정된 외부 포트 번호로 변경하는 변환부; 및
    상기 변환부에 의해 변경된 콜백 접속 주소를 상기 이벤트 수신 등록 메시지에 포함시켜 상기 원격 디바이스에게 전송하는 전송부를 포함하고,
    상기 원격 디바이스는 서비스 상태 변화가 발생하는 경우, 상기 이벤트 수신 등록 메시지에 포함된 상기 변경된 콜백 접속 주소로 접속을 시도하여 상기 이벤트를 통지하는 홈 게이트웨이.
  5. 제4항에 있어서,
    상기 원격 디바이스의 접속 주소를 목적지로 설정한 패킷을 가로채기 위한 패킷 필터링을 설정하고 필터링된 패킷들 중에서 상기 이벤트 수신 등록 메시지를 골라내는 패킷 필터를 더 포함하는 홈 게이트웨이.
  6. 제5항에 있어서,
    상기 패킷 필터는,
    상기 원격 디바이스로부터 자신의 위치를 광고하는 SOAP(Simple Object Access Protocol) 메시지가 수신되는 경우, 상기 SOAP 메시지의 descriptionDocument 항목에 수록된 URL(uniform resource locator) 정보를 추출하여 패킷 필터링을 설정하는 홈 게이트웨이.
  7. 제4항에 있어서,
    상기 변환부는,
    범용 플러그 앤 플레이(Universal Plug and Play) 서비스에 정의된 상기 이벤트 수신 등록 메시지의 콜백(CALLBACK) 필드에 명시되는 URL 정보를 상기 홈 게이트웨이의 공인 IP 주소 정보 및 상기 포트 포워딩 설정된 외부 포트 번호를 이용하여 변경하는 것을 특징으로 하는 홈 게이트웨이.
KR1020100087646A 2010-09-07 2010-09-07 원격지에 위치하는 디바이스가 제공하는 이벤트를 수신하기 위한 컨트롤 포인트 및 홈 게이트웨이 KR101394609B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100087646A KR101394609B1 (ko) 2010-09-07 2010-09-07 원격지에 위치하는 디바이스가 제공하는 이벤트를 수신하기 위한 컨트롤 포인트 및 홈 게이트웨이

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100087646A KR101394609B1 (ko) 2010-09-07 2010-09-07 원격지에 위치하는 디바이스가 제공하는 이벤트를 수신하기 위한 컨트롤 포인트 및 홈 게이트웨이

Publications (2)

Publication Number Publication Date
KR20120025661A true KR20120025661A (ko) 2012-03-16
KR101394609B1 KR101394609B1 (ko) 2014-05-13

Family

ID=46131843

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100087646A KR101394609B1 (ko) 2010-09-07 2010-09-07 원격지에 위치하는 디바이스가 제공하는 이벤트를 수신하기 위한 컨트롤 포인트 및 홈 게이트웨이

Country Status (1)

Country Link
KR (1) KR101394609B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102012107547A1 (de) 2011-08-22 2013-02-28 Samsung Electronics Co., Ltd. Gehäuse für eine lichtabgebende Vorrichtung

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100440583B1 (ko) * 2002-05-16 2004-07-19 한국전자통신연구원 외부 인터넷에 의한 댁내망의 UPnP장치 관리제어 장치및 방법
JP2005080003A (ja) * 2003-09-01 2005-03-24 Sony Corp アクセス制御方法、通信システム、サーバ及び通信端末
US20050066041A1 (en) * 2003-09-19 2005-03-24 Chin Kwan Wu Setting up a name resolution system for home-to-home communications
KR100716423B1 (ko) * 2005-03-10 2007-05-08 에스케이 텔레콤주식회사 통신망을 이용한 원격 감시 제어 시스템 및 그 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102012107547A1 (de) 2011-08-22 2013-02-28 Samsung Electronics Co., Ltd. Gehäuse für eine lichtabgebende Vorrichtung

Also Published As

Publication number Publication date
KR101394609B1 (ko) 2014-05-13

Similar Documents

Publication Publication Date Title
KR101577460B1 (ko) 원격 접속 서비스에서 아이피 주소 충돌 해결 방법 및 장치
US7921194B2 (en) Method and system for remote access to universal plug and play devices
US8050282B2 (en) Universal plug and play device and method of resolving network address conflict by considering remote access
US8443418B2 (en) Method and apparatus for managing remote access authority in UpnP remote access service
WO2008082346A1 (en) A method and apparatus for service discovery
US10404485B2 (en) Method and apparatus for restricting disclosure of network information during remote access service
US9531561B2 (en) Apparatus and method for extending network area
US20090254671A1 (en) Remote control of a device by a terminal
WO2009154249A1 (ja) リモートアクセスシステム、装置、方法及びプログラム
US7617316B2 (en) Network connection device, network system and method for avoiding duplication of proxy function
KR101394609B1 (ko) 원격지에 위치하는 디바이스가 제공하는 이벤트를 수신하기 위한 컨트롤 포인트 및 홈 게이트웨이
KR101238907B1 (ko) 사설망에 위치한 미디어 서버의 컨텐츠를 원격지 사설망에 위치한 미디어 랜더러에 공유시키는 홈 게이트웨이 및 컨트롤 포인트
KR100736037B1 (ko) UPnP기능의 확장 시스템 및 방법
KR101614548B1 (ko) 원격 접속 서비스에서 아이피 주소 충돌 해결 방법 및 장치
KR100455125B1 (ko) 유피엔피(UPnP) 네트워크 상의 컨트롤 포인트 기능분산 시스템
EP2404408B1 (en) Method and apparatus for restricting disclosure of network information during remote access service
KR20050035038A (ko) 유피엔피(UPnP) 네트워크의 IP 주소 설정 방법
Nakamura et al. Caching method to increase the speed of UPnP gateway
KR20040066337A (ko) 유피엔피(UPnP) 네트워크 상의 컨트롤 포인트 기능분산 시스템

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170427

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180503

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190502

Year of fee payment: 6