KR101410927B1 - 범용 플러그 앤 플레이 디바이스에 원격 액세스하는 방법및 시스템 - Google Patents

범용 플러그 앤 플레이 디바이스에 원격 액세스하는 방법및 시스템 Download PDF

Info

Publication number
KR101410927B1
KR101410927B1 KR1020070056057A KR20070056057A KR101410927B1 KR 101410927 B1 KR101410927 B1 KR 101410927B1 KR 1020070056057 A KR1020070056057 A KR 1020070056057A KR 20070056057 A KR20070056057 A KR 20070056057A KR 101410927 B1 KR101410927 B1 KR 101410927B1
Authority
KR
South Korea
Prior art keywords
upnp
network
remote
control point
resource
Prior art date
Application number
KR1020070056057A
Other languages
English (en)
Other versions
KR20070117503A (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 삼성전자주식회사
Publication of KR20070117503A publication Critical patent/KR20070117503A/ko
Application granted granted Critical
Publication of KR101410927B1 publication Critical patent/KR101410927B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • 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/2809Exchanging configuration information on appliance services in a home automation network indicating that an appliance service is present in a home automation network
    • 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
    • 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
    • H04L12/283Processing of data at an internetworking point of a home automation network
    • H04L12/2834Switching of information between an external network and a home network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general

Abstract

본 발명은 네트워크상의 적어도 하나 이상의 범용 플러그 앤 플레이(UPnP) 리소스에 대한 원격 액세스 방법에 관한 것으로, 네트워크에서 UPnP 리소스의 검색을 위한 액세스 정책을 유지하고, 통신 링크를 통해 원격 요청자로부터 원격 검색 요청을 수신하고, 액세스 정책에 질의하여 리소스가 검색 가능한지를 결정하고, 만약 리소스가 검색 가능하다면 통신 링크를 통하여 원격 요청자에게 리소스의 정보를 제공한다.

Description

범용 플러그 앤 플레이 디바이스에 원격 액세스하는 방법 및 시스템{Method and system for remote access to universal plug and play devices}
도 1은 본 발명의 일 실시예에 따른, 개인 네트워크상에서 UPnP 디바이스에 대한 원격 액세스를 구현하는 시스템의 예를 나타내는 기능 블록도이다.
도 2는 본 발명의 일 실시예에 따른, 개인 네트워크의 UPnP 디바이스에 대한 원격 액세스의 절차를 설명하기 위한 플로우 차트이다.
도 3은 본 발명의 다른 실시예에 따른, 하나의 네트워크의 UPnP 제어 포인트가 원격 액세스를 위해 다른 네트워크와 연결된 경우에, UPnP 디바이스에 대한 원격 액세스를 구현하는 시스템의 예를 나타내는 기능 블록도이다.
도 4는 본 발명의 다른 실시예에 따른, 하나의 네트워크의 UPnP 제어 포인트가 원격 액세스를 위해 다른 네트워크와 연결된 경우에, UPnP 디바이스에 대한 원격 액세스의 절차를 설명하기 위한 플로우 차트이다.
도 5는 본 발명의 또 다른 실시예에 따른, 네트워크상에서 UPnP 디바이스에 대한 원격 액세스를 구현하는 시스템의 예를 나타내는 기능 블록도이다.
도 6은 본 발명의 또 다른 실시예에 따른, 도 5의 네트워크상에서 UPnP 디바이스에 대한 원격 액세스 절차의 예를 나타내는 플로우 차트이다.
도 7은 본 발명의 또 다른 실시예에 따른, 도 5의 네트워크상에서 UPnP 디바 이스에 대한 원격 액세스 절차의 다른 예를 나타내는 플로우 차트이다.
상기 몇 개의 도면에 있어서 대응하는 도면 번호는 대응하는 부분을 가리킨다. 도면이 본 발명의 실시예들을 나타내고 있지만, 도면이 축척에 따라 도시된 것은 아니며 본 발명을 보다 잘 나타내고 설명하기 위해 어떤 특징부는 과장되어 있을 수 있다.
본 발명은 범용 플러그 앤 플레이(Universal Plug and Play, 이하 'UPnP'라 함)에 관한 것으로서, 보다 구체적으로는 네트워크상에서 UPnP 디바이스에 대한 액세스 방법 및 시스템에 관한 것이다.
UPnP는 홈 네트워킹과 같은 개인 영역 네트워킹(private area networking)의 표준으로서 그 중요성이 증대되고 있다. 그러나 UPnP는 인터넷 또는 다른 개인 영역 네트워크를 거쳐서 하나의 개인 영역 네트워크상의 디바이스에 원격 액세스하는 것을 지원하고 있지는 않다.
인터넷은 본질적으로 디바이스가 언제 어디에서나 연결되도록 만든다. 인터넷을 이용하여, 사용자는 홈 네트워크와 같은 개인 네트워크상의 컨텐츠나 서비스를 액세스하거나, 네트워크상의 제어 디바이스나 서비스를 언제 어디서든(예를 들어, 원격으로) 액세스하기 원할 것이다. 따라서, UPnP 디바이스를 인터넷 또는 개인 네트워크상의 UPnP 디바이스 또는 다른 개인 네트워크에서 UPnP에 액세스하려는 접근 방법에 대한 필요가 있다.
프로토콜인 SSDP(Simple Service Discovery Protocol)는 UPnP의 근간을 이룬다. SSDP의 첫 번째 국면은 서비스 발견 요청을 포함한다. UPnP 네트워크 멀티캐스트(multicasts)에서 UPnP 제어 포인트는 네트워크상에 온-라인 UPnP 디바이스가 있는지를 찾도록 요청한다. UPnP 디바이스는 그러한 요청을 기다렸다가, 그런 요청을 수신할 때, UPnP 디바이스는 유니캐스트(unicast) 응답을 UPnP 제어 포인트로 다시 보낸다. UPnP 디바이스 역시 주기적으로 네트워크에 자신의 존재를 멀티캐스팅으로 광고(advertisement)한다. UPnP 제어 포인트가 그런 광고를 수신하면, 광고한 UPnP 디바이스가 온-라인이며 사용 가능한 상태라고 인지한다.
멀티캐스트 요청과 유니캐스트 응답의 메카니즘은 개인 네트워크에서는 매우 효과가 있다. 왜냐하면, 개인 네트워크는 멀티캐스트 메시지가 네트워크상의 모든 UPnP 디바이스와 UPnP 제어 포인트에 전달될 수 있는 간단한 네트워크로 이루어져있기 때문이다. 만약 개인 네트워크가 복수의 서브 네트워크(subnet)를 포함한다면, 각 서브 네트워크 라우터의 멀티캐스팅 전달 모듈(multicast forwarding module)은 멀티캐스트 메시지가 서브 네트워크 사이를 돌아다니고, 네트워크의 모든 디바이스에게 도달할 수 있도록 한다.
그러나 보안 문제로 인해, SSDP 프로토콜이 다운되어서 네트워크상의 UPnP 디바이스로의 원격 액세스가 불가능해지면, 다음 2가지 타입의 원격 액세스 방법이 있다. 첫 번째 타입은, 보안 링크를 통한 게이트웨이를 포함하는 네트워크에 직접 연결된 원격 디바이스를 포함하는 것이다(예를 들어, 가상 개인 네크워크(Virtual Private Network: VPN) 연결). 게이트웨이는 원격 디바이스가 보안 링크를 통해 개인 네트워크에 연결되어 개인 네트워크의 한 부분이 되도록 구성된다(예를 들어, 원격 디바이스는 일시적으로 개인 IP(Internet Protocol)를 할당받아 UDP(user datagram protocol) 및/또는 TCP(transport control protocol)를 통해 네트워크상의 다른 디바이스와 통신할 수 있다).
두 번째 타입은, 하나의 개인 네트워크상의 디바이스를 보안 링크를 통하여 다른 개인 네트워크상의 디바이스와 연결하도록 하는 것이다(예를 들어, VPN). 이는 양 네트워크에서 게이트웨이 간에 보안 링크를 설정함으로써 이루어진다. 그리하여 보안 링크를 초기화한 한 게이트웨이는 다른 게이트웨이로부터 개인 IP 주소를 임시로 할당받는다. 그 결과, 하나의 네트워크상의 게이트웨이는 다른 네트워크의 어떠한 디바이스로도 접근할 수 있다.
원격 액세스의 경우에서는, 보안 또한 고려되어야 한다. 예를 들어, 집주인의 모바일 디바이스가 홈 네트워크와 보안 링크를 만들려고 한다면, 집주인은 홈 네트워크상의 모든 사용 가능한 디바이스를 보고, 제어하기를 원할 것이다. 그러나, 만약 손님의 모바일 디바이스가 홈 네트워크와 보안 링크를 만들려고 한다면, 집주인은 어떤 디바이스, 서비스 및 컨텐츠가 손님에 의해 보여질 수 있는지를 제어하고 싶을 것이다. 이와 같은 보안 문제는 홈-to-홈(home-to-home) 시나리오에도 적용될 수 있다. 홈 게이트웨이는 원격 홈 네트워크로 보안 링크를 설정하려고 하나, 원격 홈 네트워크의 주인은 어떤 디바이스, 서비스 및 컨텐츠가 손님에 의해 보여질 것인지를 제어하려고 할 것이다.
이러한 보안 문제는 SSDP 프로토콜에서는 문제가 되지 않는다. 왜냐하면, SSDP 프로토콜에서는 UPnP 제어 포인트가 요청 메시지를 멀티캐스팅하고, 발견된 디바이스가 유니캐스트 메시지를 통해 직접적으로 제어 포인트에 응답할 것을 기대하기 때문이다. 이는 멀티캐스트 메시지는 개인 네트워크 게이트웨이에 의해 전송되고, 그런 멀티캐스트 요청을 만드는 원격 UPnP 제어 포인트는 다른 네트워크상의 UPnP 디바이스에 의해 직접적으로 도달될 수 있다는 것을 의미한다. 이런 직접적인 도달 가능성은 개인 네트워크가 보안 공격에 대해 취약하게 만든다. 왜냐하면 개인 네트워크의 게이트웨이는 보안 정책을 다른 원격 UPnP 제어 포인트로부터 들어오는 액세스 요청에 대해 강요할 수 없고, 나아가 게이트웨이는 네트워크의 디바이스로부터 시작되고 원격 UPnP 제어 포인트에서 종료되는 어떠한 메시지에 대한 보안 정책을 강요할 수 없기 때문이다.
원격 UPnP 제어 포인트와 UPnP 디바이스간에 전달되는 멀티캐스트 메시지는 개인 네트워크 게이트웨이의 멀티캐스트 전달 모듈에 의해 가능해진다. 보안을 위해, 멀티캐스트 전달은 중단되고, UPnP 제어 포인트는 오직 네트워크의 주인에 의한 제어 아래에서만 개인 네트워크상의 디바이스나 서비스를 발견할 수 있게 된다. 멀티캐스트 전달을 중단하는 것은 또한 UPnP 디바이스로부터 광고하는 것을 불가능하게 한다. 그러나, 멀티캐스트 전달을 중단하는 것은 SSDP를 완전히 무력화시킨다.
종래의 UPnP 아키텍처는 지역 네트워크(LAN)와 같은 홈 네트워크 환경에서의 전자 디바이스 수요자를 위해 설계되었다. 따라서, 종래의 UPnP SSDP에서 타임아 웃(timeout)은 UPnP 메시지 전달에 있어서 작은 네트워크 지연이라고 간주되었다. 인터넷을 통해 원격으로 홈 디바이스에 액세스하는 것은 보통 SSDP 멀티캐스트 탐색(multicast search: M-SEARCH)에 대한 응답이 타임아웃으로 끝나는 크고, 예기치 못한 네트워크 지연을 야기한다. 그 결과, 원격 제어 포인트는 원격 홈 네트워크의 디바이스가 설사 동작 가능하고 온-라인 상태라 하더라도 발견하지 못한다.
게다가, 보안과 프라이버시 등의 이유로, 집주인은 인터넷을 통해 원격 제어될 수 있는 디바이스와 서비스를 제어하고 싶어한다. 예를 들어, 집안의 감시 카메라가 집주인 또는 인가된 사용자가 아니라면 인터넷을 통해 어떤 누구에 의해서도 액세스가 되지 않도록 한다. 왜냐하면, UPnP는 홈 네트워킹 환경에 맞춰 설계되었으므로, UPnP 아키텍처에서 보안은 중요한 관심사가 아니었다. 그러나, UPnP가 원격 액세스를 위해 확장될 때는 보안이 중대한 문제가 된다. 현재의 UPnP 보안 아키텍처는 액세스 제어 디바이스 및 서비스 발견을 고려하지 않는다. 본질적으로, 종래 모든 UPnP 디바이스 및 서비스는 SSDP를 사용하여 발견되고, 서비스가 디바이스에 액세스될 때 액세스 제어가 적용되었다. 그러나, 이는 두 가지의 문제점이 있다. 첫 번째는, 홈 네트워크의 모든 디바이스와 서비스가 인터넷을 통해 발견될 수 있게 하는 것은 프라이버스 문제를 초래한다. 두 번째는, 사용자가 원격 디바이스가 네트워크상의 디바이스에 실행하는 작업을 선택적으로 제어할 수 없다는 것이다. 예를 들어, 집주인은 원격 디바이스가 감시 카메라로부터 비디오를 볼 수 있고, 카메라의 앵글은 바꿀 수 없다는 것을 구분할 수 없다.
따라서, 메시지 전달이 IP 계층(layer) 대신에 UPnP 계층에서 일어나고, UPnP 계층에서 보안 정책이 강요되지 않는 멀티캐스트 전달이 가능한 UPnP 디바이스에 대한 원격 제어 방법 및 시스템이 필요하다. 아울러, 원격 액세스 타임아웃의 문제를 고찰하고, UPnP 디바이스와 서비스에 대한 개선된 검색(discovery) 및 액세스 제어 방법을 제공할 필요가 있다.
본 발명은 네트워크상의 적어도 하나 이상의 UPnP 자원에 대한 원격 액세스 방법을 제공한다. 본 발명의 일 실시예에 따르면, 네트워크상의 UPnP 자원의 검색을 위한 액세스 정책을 유지하고, 통신 링크를 통해 원격 요청자(requester)로부터 원격 검색 요청을 수신하면, 액세스 정책을 고려하여 자원이 검색 가능한지를 결정하고, 자원이 검색 가능하면 통신 링크를 통해 요청자에게 자원 정보를 제공하는 단계를 포함한다.
일 실시예에서, 액세스 제어는 원격 디바이스 및/또는 서비스 검색을 허가하기 전에 액세스 정책을 체크하는 액세스 컨트롤러를 사용하여 UPnP 디바이스 및/또는 서비스의 원격 검색을 컨트롤하는 단계를 포함한다. UPnP 디바이스에 대한 원격 액세스는 또한 UPnP 디바이스를 포함하여, 프록시(proxy)와 멀티캐스트 브릿지(bridge)를 제공한다. 프록시는 네트워크상의 UPnP 계층에서 메시지 전달을 수행함으로써 통신 링크를 거쳐 UPnP 디바이스에 대한 제어를 제공한다. 그리하여, UPnP 제어 포인트는 통신 링크를 거쳐 프록시를 통해 UPnP 디바이스로 액세스한다. 메시지 전달은 UPnP 계층에서 UPnP SSDP 멀티캐스트 전달과 같은 UPnP 메시지 전달을 수행하는 것을 포함한다.
액세스 제어는 미리(proactively) 통상의 SSDP M-SEARCH 응답뿐만 아니라 UPnP SSDP 광고와 같은 디바이스 광고를 보내는 것을 포함한다. 사전 디바이스 SSDP 광고는 디바이스 SSDP 광고를 받는 과정에서 원격 제어 포인트의 대기 간격(interval)을 줄여 준다. 제어 포인트가 구체적인 간격 동안에 UPnP 디바이스로부터 SSDP 응답 메시지를 수신하지 않았다 하더라도, 제어 포인트는 여전히 전체 타임아웃 간격 동안 기다리지 않고 디바이스 SSDP 광고를 수신한다.
본 발명의 이러한 특징들은 이하 상세한 설명, 청구항 및 도면을 참조하여 충분히 설명될 것이다.
상기 기술적 과제는 본 발명에 따라, 네트워크상의 적어도 하나 이상의 범용 플러그 앤 플레이(UPnP) 리소스에 대한 원격 액세스 방법에 있어서, 네트워크에서 UPnP 리소스의 검색을 위한 액세스 정책을 유지하는 단계와; 통신 링크를 통해 원격 요청자로부터 원격 검색 요청을 수신하는 단계와; 상기 액세스 정책에 질의하여 상기 리소스가 검색 가능한지를 결정하는 단계와; 만약 상기 리소스가 검색 가능하다면, 상기 통신 링크를 통하여 상기 원격 요청자에게 상기 리소스의 정보를 제공하는 단계를 포함하는 것을 특징으로 하는 원격 액세스 방법에 의해 달성된다.
상기 통신 링크를 통해 상기 원격 검색 요청에 대한 응답에 있어서, 상기 액세스 정책에 기초하여 상기 리소스의 검색을 제어하는 단계를 더 포함하는 것이 바람직하다.
상기 네트워크의 UPnP 계층에서 메시지 전달을 수행함으로써, 상기 통신 링 크를 통한 상기 리소스의 액세스를 제어하는 단계를 더 포함하는 것이 바람직하다.
상기 검색을 제어하는 단계는, 네트워크의 컨트롤러에 의해 수행되고, 상기 액세스를 제어하는 단계는, 프록시(proxy)에 의해 수행되는 것이 바람직하다.
상기 원격 검색 요청을 수신하는 단계는, 상기 프록시가 상기 원격 요청자로부터 상기 원격 검색 요청을 수신하는 단계와; 상기 컨트롤러가 상기 액세스 정책에게 상기 리소스가 검색 가능한지를 질의하는 단계와; 만약 검색 가능하다면, 상기 프록시가 통신 링크를 통해 상기 원격 요청자에게 상기 리소스의 정보를 제공하는 단계를 포함하는 것이 바람직하다.
상기 리소스는 UPnP 디바이스를 포함하거나, 상기 리소스는 적어도 하나 이상의 UPnP 디바이스에 의해 수행되는 서비스를 포함하는 것이 바람직하다.
서비스를 주최하는 적어도 하나 이상의 디바이스가 검색 가능하거나, 상기 서비스가 검색 가능한 경우에, 상기 액세스 정책에 따라 상기 서비스가 검색 가능한 것이 바람직하다.
상기 액세스 정책에 질의하여 상기 리소스가 검색 가능한지를 결정하는 단계는, 상기 액세스 정책에게 질의하여 상기 리소스가 상기 원격 요청자에게 검색 가능한지를 결정하는 단계를 더 포함하는 것이 바람직하다.
상기 네트워크는 지역 네트워크(LAN)를 포함하거나, 상기 네트워크는 가상 개인 네트워크(VPN)를 포함하는 것이 바람직하다.
상기 원격 요청자는 UPnP 제어 포인트를 포함하는 것이 바람직하다.
상기 통신 링크는 연결 네트워크(connection network)를 포함하는 것이 바람 직하며, 상기 연결 네트워크는 인터넷을 포함하는 것이 더욱 바람직하다.
한편, 본 발명의 다른 분야에 따르면 상기 기술적 과제는 네트워크상의 적어도 하나 이상의 범용 플러그 앤 플레이(UPnP) 디바이스에 대한 원격 액세스 방법에 있어서, 통신 링크를 통해 제어 포인트로부터 간이 서비스 검색 프로토콜(Simple Service Discovery Protocol: SSDP) 멀티캐스트 탐색(M-SEARCH) 메시지를 수신하는 단계와; 상기 통신 링크를 통해 SSDP M-SEARCH 응답으로 상기 제어 포인트에 응답하는 단계와; 상기 통신 링크를 통해 UPnP SSDP 활성(alive) 광고 메시지를 상기 제어 포인트에 전송하는 단계를 포함하는 것을 특징으로 하는 원격 액세스 방법에 의해서도 달성된다.
상기 네트워크의 UPnP 디바이스가 상기 UPnP SSDP 활성 광고 메시지를 전송하는 단계와; 상기 UPnP SSDP 활성 광고 메시지를 획득하고 저장하는 단계와; 상기 M-SEARCH 메시지를 상기 UPnP 디바이스로 전송하고 상기 UPnP 디바이스로부터 응답을 수신하는 단계와; 상기 SSDP M-SEARCH 응답을 상기 통신 링크를 통해 상기 제어 포인트로 전송하는 단계와; 상기 저장된 UPnP SSDP 활성 광고 메시지를 상기 통신 링크를 통해 상기 제어 포인트로 전송하는 단계를 더 포함하는 것이 바람직하다.
한편, 본 발명의 다른 분야에 따르면 상기 기술적 과제는 네트워크상의 적어도 하나 이상의 범용 플러그 앤 플레이(UPnP) 리소스에 대한 원격 액세스 장치에 있어서, 네트워크의 UPnP 리소스의 검색을 위한 액세스 정책과; 통신 링크를 통한 원격 검색 요청의 응답에 있어서, 상기 액세스 정책에 기초하여 상기 리소스의 검색을 제어하도록 구성된 컨트롤러를 포함하는 것을 특징으로 하는 원격 액세스 장 치에 의해 달성된다.
한편, 본 발명의 다른 분야에 따르면 상기 기술적 과제는 네트워크상의 적어도 하나 이상의 범용 플러그 앤 플레이(UPnP) 디바이스에 대한 원격 액세스 장치에 있어서, 통신 링크를 통해 네트워크와 제어 포인트 사이의 인터페이스를 구성하는 브릿지와; 상기 브릿지를 통해 제어 포인트로부터 SSDP M-SEARCH 메시지를 수신하고, SSDP M-SEARCH 응답으로 상기 제어 포인트에 응답하고, 상기 브릿지를 통해 UPnP SSDP 활성 광고 메시지를 상기 제어 포인트에 전송하도록 구성된 프록시를 포함하는 것을 특징으로 하는 원격 액세스 장치에 의해서도 달성된다.
상기 UPnP SSDP 활성 광고 메시지를 전송하는 UPnP 디바이스를 더 포함하고, 상기 프록시는 상기 UPnP SSDP 활성 광고 메시지를 획득하고 저장하고, 상기 M-SEARCH 메시지를 상기 UPnP 디바이스로 전달하고, 상기 UPnP 디바이스로부터 응답을 수신하고, 상기 SSDP M-SEARCH 응답을 상기 제어 포인트로 전송하고, 상기 저장된 UPnP SSDP 활성 광고 메시지를 상기 제어 포인트로 전송하도록 구성된 것이 바람직하다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 도면에 기재된 내용을 참조하여야 한다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대해 상세히 설명한다.
본 발명은 홈 네트워크와 같은 개인 네트워크나 지역 네트워크(LAN)상에서 UPnP 디바이스에 원격 액세스하기 위한 방법 및 시스템을 제안한다.
본 발명은 또한 전술한 종래 UPnP 아키텍처에서의 타임아웃 문제를 고려하여 UPnP 제어 포인트가 인터넷과 같은 통신 링크를 통해 원격으로 네트워크상의 UPnP 디바이스 및 서비스를 검색하려고 시도할 때 UPnP 디바이스가 정확하게 동작하도록 한다.
나아가, 본 발명은 네트워크 주인이 어떠한 네트워크 디바이스 및/또는 서비스가 통신 링크를 통한 원격 액세스에 의해 검색될 수 있는지를 제어할 수 있게 한다.
이하 설명될 본 발명의 여러 구현 예에서, 멀티캐스트 전달은 IP 계층 대신에 UPnP 계층에서 일어난다. 이런 UPnP 계층 멀티캐스트 전달은 UPnP 계층에서 보안 정책의 시행(enforcement)을 제공하고 UPnP 설명(specification)의 변경을 요구하지 않는다. 나아가, 현재 원격 UPnP 제어 포인트(예를 들어, 인터넷이나 다른 네트워크상에서)는 UPnP 표준(standard)의 수정없이 개인 네트워크상의 디바이스, 서비스 및 컨텐츠에 대해 원격으로 액세스할 수 있다. 그리하여, 현재 UPnP 디바이스는 본 발명의 문맥(context) 안에서 수정없이 동작할 수 있다. 나아가, 개인 네트워크 게이트웨이의 멀티캐스트 전달은 요구되지 않는다.
도 1은 본 발명의 일 실시예에 따른, 개인 네트워크상에서 UPnP 디바이스에 대한 원격 액세스를 구현하는 시스템의 예를 나타내는 기능 블록도이며, 도 2는 본 발명의 일 실시예에 따른, 개인 네트워크의 UPnP 디바이스에 대한 원격 액세스의 절차를 설명하기 위한 플로우 차트로써, 통신 링크를 통한 개인 네트워크의 디바이 스를 액세스하는 원격 UPnP 제어 포인트의 프로세스를 예시한다.
도 1은 시스템(90)의 예를 나타내는데, 개인 네트워크(100)는 적어도 하나 이상의 UPnP 디바이스(110, 예를 들어 미디어 서버, 소비자 전자기기, PC 등) 및 게이트웨이(112)를 포함한다.
네트워크(100)는 다른 UPnP 디바이스(102)나 지역 UPnP 제어 포인트(105)와 같은 다른 디바이스를 포함할 수 있다. 게이트웨이(112) 및 UPnP 디바이스(110)는 이더넷(ethernet), 802.11x 등과 같은 지역 네트워크(LAN, 103)을 통해 연결되어 있다. 원격 UPnP 제어 포인트(114)는 통신 링크(101, 예를 들어 인터넷을 걸친 보안 링크)를 통해 네트워크(100)에 연결될 수 있다. UPnP 제어 포인트(114)는 일반적인 IP 주소를 갖고, IP 주소를 통해 접근될 수 있다.
게이트웨이(112)는 멀티캐스트 브릿지(116)와 HTTP 프록시(118)를 포함한다. 멀티캐스트 브릿지(116)는 홈 네트워크(100)와 원격 UPnP 컨트롤 포인트(114)에 연결된 보안 링크(101) 사이의 인터페이스 브릿지로서의 기능을 수행한다.
멀티캐스트 브릿지(116)는 멀티캐스트/유니캐스트 메시지를 네트워크(100)로부터 링크(101)로, 또는 그 반대로 전달한다.
HTTP 프록시(118)는 원격 UPnP 제어 포인트(114)와 네트워크(100)상의 디바이스(110, 102) 사이에서 UPnP 요청과 응답 메시지(디바이스와 서비스의 명세(description), 서비스 호출 및 이벤트를 획득하기 위한 메시지를 포함한다)를 중계한다. 일 실시예에서, 네트워크(100)상의 UPnP 디바이스(110)에 액세스하기 위해, 원격 UPnP 제어 포인트(114)는 HTTP 프록시(118)로 요청을 보낸다. 다음 HTTP 프록시(118)는 요청을 디바이스(예를 들어, UPnP 디바이스(110))로 전달한다. 선택적으로, 액세스 제어 측정은 보안 시행을 위해 각 네트워크의 HTTP 프록시에서 설정될 수 있다.
도 2의 프로세스(15)의 예를 참조하면, 원격 UPnP 제어 포인트(114)는 네트워크(100)상의 디바이스를 액세스하는데, 다음과 같은 절차에 따른다.
제 1 단계 : 홈 네트워크(100)를 액세스하기 위해, UPnP 제어 포인트(114)는 먼저 네트워크(100)상의 게이트웨이(112)와 통신을 성립한다.
제 2 단계 : UPnP 제어 포인트(114)는 네트워크(100)상의 온-라인 UPnP 디바이스가 있는지 검색하기 위해 멀티캐스트 탐색(M-SEARCH) 메시지를 링크(101)를 통하여 보냄으로써, UPnP 검색 프로세스를 시작한다.
제 3 단계 : 멀티캐스트 브릿지(116)는 멀티캐스트 메시지를 수신하고, 메시지가 UPnP 제어 포인트(114)로부터 링크(101)를 거쳐 보내졌다는 사실을 인지한다. 멀티캐스트 브릿지(116)는 UPnP 제어 포인트(114)의 IP 주소와 포트(port) 번호를 기록하고, 선택적으로 탐색(search)에서 디바이스/서비스의 타입을 제어 포인트 리스트(control point list)에 기록한다.
제 4 단계 : 멀티캐스트 브릿지(116)는 메시지를 네트워크(100)의 LAN(103)을 통해 멀티캐스트한다.
제 5 단계 : UPnP 디바이스(110)는 멀티캐스트 브릿지(116)으로부터 메시지를 수신한다.
제 6 단계 : UPnP 디바이스(110)는 다시 멀티캐스트 브릿지(116)로 응답을 보낸다.
제 7 단계 : 멀티캐스트 탐색 메시지에 기초하여, 멀티캐스트 브릿지(116)는 UPnP 제어 포인트(114)가 응답한 UPnP 디바이스(110)의 타입을 찾고 있었는지를 판단한다. 만약 그렇다면, 멀티캐스트 브릿지(116)는 수신된 메시지의 "위치"(LOCATION) 헤더를 수정한다. 상기 헤더는 HTTP 프록시(118)를 가리키는 URL(Uniform Resource Locator) 링크를 포함한다. 멀티캐스트 브릿지(116)는 기록된 제어 포인트 리스트를 조사한다. 응답을 기다리는 리스트상의 각 제어 포인트에 대해, 멀티캐스트 브릿지(116)는 HTTP 프록시(118)를 가리키는 URL 링크를 포함하도록 수신된 메시지의 "위치" 헤더를 수정한다. 그런 다음, 멀티캐스트 브릿지(116)는 수정된 응답을 링크(101)를 통해 UPnP 제어 포인트(114)로 돌려 보낸다.
제 8 단계 : UPnP 제어 포인트(114)는 멀티캐스트 브릿지(116)으로부터 메시지를 수신하고, 네트워크(100)로부터 UPnP 디바이스(110)의 디바이스 명세(device description)를 위한 HTTP 요청을 보내기 위해 메시지의 "위치" 헤더의 URL 링크를 따라간다. 요청을 수신하면, HTTP 프록시(118)는 UPnP 디바이스(110)로부터 해당 디바이스 명세를 획득한다. 명세를 수신하면, HTTP 프록시(118)는 해당 디바이스 명세를 조사하고 기본 URL, 서비스 제어 URL, 서비스 명세 URL, 및 서비스 이벤트 신청(subscription) URL을 수정한다. 상기 URL들은 모두 UPnP 디바이스(110) 대신에 HTTP 프록시(118)을 가리킨다. 수정 후에, HTTP 프록시(118)는 명세를 원격 UPnP 제어 포인트(114)로 되돌려 보낸다. 그런 다음, 원격 UPnP 제어 포인트(114)는 상술한 단계에 따라, UPnP 디바이스(110)에 포함된 서비스 명세(service description)를 더 획득할 수 있다. 디바이스 명세 및 서비스 명세를 획득한 후에, 원격 UPnP 제어 포인트(114)는 UPnP 디바이스(110)에 서비스를 호출한다. UPnP 제어 포인트(114)와 UPnP 디바이스(110) 사이의 메시지 왕래는 HTTP 프록시(118)에 의해 상술한 바와 같이 이루어진다.
제 9 단계 : 주기적으로, 그리고 어떠한 UPnP 제어 포인트로부터도 독립적으로, UPnP 디바이스(110)는 네트워크(100)에서 멀티캐스트 "통고"(NOTIFY) 메시지에 의해 자신의 존재를 광고한다.
제 10 단계 : 멀티캐스트 브릿지(116)가 UPnP 디바이스(110)로부터 멀티캐스트 메시지를 수신하면, 멀티캐스트 브릿지(116)는 UPnP 디바이스(110) 대신에 HTTP 프록시(118)을 가리키도록 메시지의 "위치" 헤더를 수정한다.
제 11 단계 : 그런 다음, 멀티캐스트 브릿지(116)는 수정된 메시지를 링크(101)를 통해 원격 UPnP 제어 포인트(114)로 보낸다.
제 12 단계 : UPnP 제어 포인트(114)는 메시지를 수신하고, 네트워크(100)로부터 UPnP 디바이스(110)의 디바이스 명세(device description)를 위한 HTTP 요청을 보내기 위해 메시지의 "위치" 헤더의 URL 링크를 따라간다. 요청을 수신하면, HTTP 프록시(118)는 UPnP 디바이스(110)로부터 해당 디바이스 명세를 획득한다. 명세를 수신하면, HTTP 프록시(118)는 해당 디바이스 명세를 조사하고 기본 URL, 서비스 제어 URL, 서비스 명세 URL, 및 서비스 이벤트 신청(subscription) URL을 수정한다. 상기 URL들은 모두 UPnP 디바이스(110) 대신에 HTTP 프록시(118)을 가리킨다. 수정 후에, HTTP 프록시(118)는 명세를 원격 UPnP 제어 포인트(114)로 되 돌려 보낸다. 그런 다음, 원격 UPnP 제어 포인트(114)는 UPnP 디바이스(110)에 포함된 서비스 명세(service description)를 더 획득할 수 있다. 디바이스 명세 및 서비스 명세를 획득한 후에, 원격 UPnP 제어 포인트(114)는 UPnP 디바이스(110)에 서비스를 호출한다. UPnP 제어 포인트(114)와 UPnP 디바이스(110) 사이의 메시지 왕래는 HTTP 프록시(118)에 의해 이루어진다.
도 3은 본 발명의 다른 실시예에 따른, 하나의 네트워크의 UPnP 제어 포인트가 원격 액세스를 위해 다른 네트워크와 연결된 경우에, UPnP 디바이스에 대한 원격 액세스를 구현하는 시스템의 예를 나타내는 기능 블록도이며, 도 4는 본 발명의 다른 실시예에 따른, 하나의 네트워크의 UPnP 제어 포인트가 원격 액세스를 위해 다른 네트워크와 연결된 경우에, UPnP 디바이스에 대한 원격 액세스의 절차를 설명하기 위한 플로우 차트이다.
도 3은 UPnP 디바이스에 대한 네트워크-to-네트워크 원격 액세스의 구현 예를 나타낸다. 도 3의 시스템(95)에서, 첫 번째 개인 네트워크(200)는 통신 링크를 통해(201) 두 번째 개인 네트워크와 통신한다.
개인 네트워크(200)는 UPnP 디바이스(202, 210), 지역 UPnP 제어 포인트(207), 및 게이트웨이(212)를 포함한다. 게이트웨이(212)는 멀티캐스트 브릿지(214)와 HTTP 프록시(216)을 포함한다.
멀티캐스트 브릿지(214)는 네트워크(200)의 내/외부로의 멀티캐스트 및 유니캐스트 메시지를 전달하는 브릿지로서의 기능을 수행한다.
HTTP 프록시(216)는 다른 네트워크상의 원격 UPnP 제어 포인트에 의한 직접 적인 액세스로부터 네트워크(200)의 디바이스(UPnP 디바이스(210, 202)를 포함한다)를 숨겨준다.
여기서, UPnP 디바이스(202, 210) 및 게이트웨이(212)는 이더넷(ethernet), 802.11x 등과 같은 지역 네트워크(LAN, 203)을 통해 연결되어 있다. 게이트웨이(212)는 링크(201)를 통해 두 번째 네트워크(218)과 연결되어 있다.
도 3에 나타난 바와 같이, 두 번째 네트워크(218)는 적어도 하나의 UPP 디바이스(211), UPnP 제어 포인트(213, 220) 및 게이트웨이(22)를 포함한다. 상술한 게이트웨이(212)와 유사하게, 게이트웨이(222)는 멀티캐스트 브릿지(224)와 HTTP 프록시(226)을 포함한다.
(1)멀티캐스트 브릿지(224)는 네트워크(218)의 내/외부로의 멀티캐스트 및 유니캐스트 메시지를 전달하는 브릿지로서의 기능을 수행한다.
(2)HTTP 프록시(226)는 다른 네트워크상의 원격 UPnP 제어 포인트에 의한 직접적인 액세스로부터 네트워크(218)의 디바이스를 숨겨준다. 여기서, 양 네트워크(200, 218)상의 멀티캐스트 브릿지들과 HTTP 프록시들은 서로 유사하다.
게이트웨이(22) 및 UPnP 제어 포인트(220)은 이더넷(ethernet), 802.11x 등과 같은 지역 네트워크(LAN, 205)을 통해 연결되어 있다. 게이트웨이(222)는 인터넷을 통한 보안 링크(201)로 첫 번째 네트워크(200)과 연결되어 있다.
도 1, 2와 관련해서 앞서 설명한 바와 같이, 두 번째 네트워크(218)의 UPnP 제어 포인트(220)로부터 미리 탐색 메시지가 멀티캐스트 브릿지(224, 214)에 의해 첫 번째 네트워크(200)의 디바이스로 보내진다. 메시지가 전달되는 동안, 각 멀티 캐스트 브릿지(224, 214)는 메시지의 "위치" 헤더를 각각 대응하는 HTTP 프록시(216, 226)를 가리키도록 수정한다.
마찬가지로, 첫 번째 네트워크(200)의 디바이스로부터의 디바이스 광고 메시지도 멀티캐스트 브릿지(214, 224)에 의해 전달된다. 전달되는 동안, 각 멀티캐스트 브릿지(214, 224)는 메시지의 "위치" 헤더를 각각 대응하는 HTTP 프록시(226, 216)을 가리키도록 수정한다. 디바이스/서비스 명세를 획득하기 위한 요청, UPnP 제어 포인트(220)으로부터 첫 번째 네트워크(200)의 디바이스에 대한 서비스 호출 메시지, 첫 번째 네트워크(200)로부터 UPnP 제어 포인트(220)로의 이벤트 메시지는 HTTP 프록시(216, 226)에 의해 전달된다.
상술한 바와 같이, 도 4의 프로세스(45)는 도 3의 시스템(95)이 구현하는 원격 액세스의 절차를 나타내는데, 다음과 같은 단계를 포함한다.
제 50 단계 : 네트워크(200)를 액세스하기 위해, 다른 네트워크(218)의 게이트웨이(222)는 먼저 게이트웨이(212)로 인터넷 등을 통한 링크(201)를 성립시킨다.
제 51 단계 : 네트워크(218)의 UPnP 제어 포인트(220)는 멀티캐스트 탐색(M-SEARCH) 메시지를 멀티캐스트함으로써, UPnP 검색 프로세스를 시작한다.
제 52 단계 : 멀티캐스트 브릿지(224)는 M-SEARCH 메시지를 수신하고, 상기 메시지가 UPnP 제어 포인트(220)로부터 발생한 사실을 인지한다. 멀티캐스트 브릿지(224)는 UPnP 제어 포인트(220)의 IP 주소와 포트 번호를 기록하고, 선택적으로 탐색(search)에서 디바이스/서비스의 타입을 제어 포인트 리스트에 기록한다.
제 53 단계 : 멀티캐스트 브릿지(224)는 상기 메시지를 링크(201)를 통해 전 송한다.
제 54 단계 : 멀티캐스트 브릿지(214)는 상기 메시지를 멀티캐스트 브릿지(224)로부터 수신하고, 네트워크(200)내에 상기 메시지를 멀티캐스트한다.
제 55 단계 : 네트워크(200)의 UPnP 디바이스(210)는 상기 메시지를 수신한다.
제 56 단계 : UPnP 디바이스(210)는 메시지로 멀티캐스트 브릿지(214)에 응답한다.
제 57 단계 : 멀티캐스트 브릿지(214)는 상기 메시지를 수신하고, 메시지의 "위치" 헤더를 HTTP 프록시(216)을 가리키도록 수정한다. 그런 다음, 멀티캐스트 브릿지(214)는 메시지를 멀티캐스트 브릿지(224)로 다시 전달한다.
제 58 단계 : 멀티캐스트 브릿지(224)는 제어 포인트 리스트를 조사한다. 제어 포인트 리스트에서 같은 타입을 검색하는 각 UPnP 제어 포인트에 대하여, 멀티캐스트 브릿지(224)는 응답 메시지의 "위치" 헤더가 HTTP 프록시(226)를 가리키는 URL 링크를 포함하도록 수정한다. 응답 메시지를 수정한 후에, 멀티캐스트 브릿지(224)는 수정된 메시지를 UPnP 제어 포인트(220)로 다시 전송한다.
제 59 단계 : UPnP 제어 포인트(220)는 상기 메시지를 수신하고, UPnP 디바이스(210)의 디바이스 명세를 획득하기 위한 HTTP 요청을 생성하기 위해 메시지의 "위치" 헤더의 URL 링크를 추적한다.
제 60 단계 : HTTP 프록시(226)는 상기 요청을 수신하고, 링크(201)를 통하여 HTTP 프록시(216)로 요청을 전달한다.
제 61 단계 : HTTP 프록시(216)는 상기 요청을 수신하고, 그것을 UPnP 디바이스(210)로 전달한다.
제 62 단계 : UPnP 디바이스(210)는 상기 요청을 수신하고, 디바이스 명세를 HTTP 프록시(216)로 다시 전송한다.
제 63 단계 : HTTP 프록시(216)는 상기 디바이스 명세를 링크(201)를 통해 HTTP 프록시(226)로 전달한다.
제 64 단계 : HTTP 프록시(226)는 상기 디바이스 명세를 UPnP 제어 포인트(220)로 전달한다. 그런 다음, UPnP 제어 포인트(220)는 상술한 단계에 따라, UPnP 디바이스(210)에 포함된 서비스 명세(service description)를 더 획득할 수 있다. UPnP 디바이스(210)의 디바이스 명세 및 서비스 명세를 획득한 후에, UPnP 제어 포인트(220)는 UPnP 디바이스(210)에 호출 메시지를 보냄으로써 UPnP 디바이스(210)에 서비스를 호출할 준비를 갖춘다. 메시지 왕래는 HTTP 프록시(226, 216)에 의해 이루어진다.
제 65 단계 : 주기적으로, UPnP 디바이스(210)는 네트워크(200)에서 멀티캐스트 "통고"(NOTIFY) 메시지를 멀티캐스트함으로써 자신의 존재를 광고한다.
제 66 단계 : 멀티캐스트 브릿지(216)가 UPnP 디바이스(210)로부터 멀티캐스트 메시지를 수신하면, 멀티캐스트 브릿지(216)는 UPnP 디바이스(210) 대신에 HTTP 프록시(216)을 가리키도록 메시지의 "위치" 헤더를 수정한다.
제 67 단계 : 그런 다음, 멀티캐스트 브릿지(216)는 수정된 메시지를 링크(201)를 통해 멀티캐스트 브릿지(224)로 전달한다.
제 68 단계 : 멀티캐스트 브릿지(224)는 상기 메시지의 "위치" 헤더를 HTTP 프록시(216) 대신에 HTTP 프록시(226)를 가리키도록 수정한다. 수정 후에, 멀티캐스트 브릿지(224)는 상기 메시지를 네트워크(218)에 멀티캐스트한다.
제 69 단계 : UPnP 제어 포인트(220)는 상기 수정된 멀티캐스트 메시지를 멀티캐스트 브릿지(224)로부터 수신하고, 메시지의 "위치" 헤더에 포함된 URL 링크를 추적하여 UPnP 디바이스(210)의 디바이스 명세를 위한 HTTP 요청을 더 송신한다(상술한 단계 59 내지 단계 64와 같다). 그런 다음, UPnP 제어 포인트(220)는 UPnP 디바이스(210)의 서비스 명세를 더 획득할 수 있다. 디바이스 명세 및 서비스 명세를 획득한 후에, UPnP 제어 포인트(220)는 UPnP 디바이스(210)에 호출 메시지를 보냄으로써 UPnP 디바이스(210)에 서비스를 호출할 준비를 갖춘다. 메시지 왕래는 HTTP 프록시(226, 216)에 의해 이루어진다.
네트워크-to-네트워크 원격 액세스를 위해, 게이트웨이(212, 222)는 두 번째 네트워크(218)의 모든 UPnP 제어 포인트를 포함한 디바이스들은 게이트웨이(212)에 의해 TCP 연결로 직접적인 도달이 가능하도록 구성된다. 예를 들면, VPN을 이용하여, VPN의 클라이언트측의 디바이스(예를 들어, 게이트웨이(222))들은 VPN 서버(예를 들어, 게이트웨이(212))에 의해 TCP 연결로 직접 도달 가능해진다. 그런 다음, 멀티캐스트 브릿지(224)는 네트워크(218)의 UPnP 제어 포인트로부터의 M-SEARCH 메시지를 수정한다. M-SEARCH 메시지는 추가적인 헤더인 "제어-포인트"(control-point) 헤더를 갖는다. 이 헤더의 값은 M-SEARCH 메시지를 보낸 UPnP 제어 포인트의 IP 주소와 포트 번호이다. 예를 들면, 네트워크(218)의 게이트웨이(222)내의 멀티캐스트 브릿지(224)로부터 수정된 M-SEARCH 메시지는 다음을 포함한다.
M-SEARCH * HTTP/1.1
Host: 239.255.255.250:1900
Man: ssdp:discover
MX: 3
ST: ssdp:all
Control-Point: 192.168.0.100:32455
네트워크(200)의 게이트웨이(212)내의 멀티캐스트 브릿지(214)가 상기 메시지를 수신하고, 멀티캐스트 브릿지(214)는 이 메시지가 어디에서 왔는지를 인지한다. 그 결과, UPnP 디바이스가 상기 메시지에 응답하면 멀티캐스트 브릿지(214)는 이 응답을 해당 UPnP 제어 포인트로 직접적으로 전송할 수 있다.
본 발명은 또한 현재 원격 UPnP 제어 포인트(예를 들어, 인터넷 및/또는 다른 네트워크에서)가 UPnP 표준을 수정함이 없이 개인 네트워크상의 디바이스, 서비스 및 컨텐츠를 원격 액세스할 수 있게 한다. 그리하여, 현재 UPnP 디바이스는 본 발명의 문맥내에서 수정없이 동작할 수 있다. 나아가, 개인 네트워크 게이트웨이의 멀티캐스트 전달은 요구되지 않는다.
도 5는 본 발명의 또 다른 실시예에 따른, 네트워크상에서 UPnP 디바이스에 대한 원격 액세스를 구현하는 시스템의 예를 나타내는 기능 블록도이며, 도 6은 본 발명의 또 다른 실시예에 따른, 도 5의 네트워크상에서 UPnP 디바이스에 대한 원격 액세스 절차의 예를 나타내는 플로우 차트이다.
도 5는 시스템(295)의 예로서, 적어도 하나 이상의 UPnP 디바이스(310, 예를 들어 카메라, 소비자 전자기기, PC 등), 게이트웨이(312)를 포함하는 홈 네트워크와 같은 개인 네트워크(300)를 나타낸다. 네트워크(300)는 다른 UPnP 디바이스와 지역 UPnP 제어 포인트(도 1과 유사하다)와 같은 다른 디바이스도 포함할 수 있다. 게이트웨이(312)와 UPnP 디바이스(310)은 이더넷, 802.11x 등과 같은 LAN(303)을 통해 연결되어 있다. 원격 UPnP 제어 포인트(314)는 통신 링크(301, 예를 들어, 인터넷을 통한 보안 링크)를 통해 네트워크(300)와 연결될 수 있다. 제어 포인트(314)는 일반적인 IP 주소를 갖고, IP 주소를 통해 접근될 수 있다.
게이트웨이(312)는 멀티캐스트 브릿지(316)와 HTTP 프록시(322)를 포함한다. 멀티캐스트 브릿지(316)는 홈 네트워크(300)와 원격 UPnP 컨트롤 포인트(CP, 314)에 연결된 보안 링크(301) 사이의 브릿지로서의 기능을 수행한다.
멀티캐스트 브릿지(316)는 멀티캐스트/유니캐스트 메시지를 네트워크(300)로부터 링크(301)로, 또는 그 반대로 전달한다.
HTTP 프록시(322)는 원격 UPnP 제어 포인트(314)와 네트워크(300)상의 디바이스(310) 사이에서 UPnP 요청과 응답 메시지(디바이스와 서비스의 명세, 서비스 호출 및 이벤트를 획득하기 위한 메시지를 포함한다)를 중계한다.
일 실시예에서, 네트워크(300)상의 UPnP 디바이스(310)에 액세스하기 위해, 원격 UPnP 제어 포인트(CP, 314)는 먼저 HTTP 프록시(322)로 요청을 보낸다. 다음 HTTP 프록시(322)는 상기 요청을 네트워크(300)내의 디바이스(예를 들어, UPnP 디 바이스(310))로 전달한다.
네트워크(300)는 종래의 타임아웃 문제를 고려하기 위해, 수정된 SSDP를 포함한다. 종래의 UPnP 아키텍처에서, M-SEARCH 내의 MX 헤더는 디바이스의 응답에 대해 제어 포인트가 얼마동안 기다려야 하는지를 지시하는데 이용된다. M-SEARCH 메시지에 의해 검색될 수 있는 디바이스에 대하여, 디바이스는 구체적인 MX 값내에 SSDP 응답을 보내야만 한다. 검색 디바이스(예를 들어, 제어 포인트)와 검색된 디바이스(예를 들어, UPnP 디바이스)가 같은 LAN에 있는 때에는, 전형적으로 네트워크 지연이 작기 때문에 이것은 문제가 되지 않는다.
그러나, 만약 제어 포인트가 LAN에 대하여 외부에 위치하는 경우에(예를 들어 제어 포인트가 인터넷과 같은 통신 링크를 통해 LAN에 연결되는 경우), 네트워크 지연은 크고 예기치 못한 문제가 될 수 있으므로 제어 포인트로부터 UPnP 디바이스로의 M-SEARCH 요청, UPnP 디바이스로부터 제어 포인트로의 응답은 통신 링크를 넘나 들어야한다. 만약, 제어 포인트가 원격 네트워크(예를 들어, LAN)의 UPnP 디바이스로부터 SSDP 응답을 구체적인 MX 값의 간격이내에 수신하지 못하면, 제어 포인트는 UPnP 디바이스가 오프-라인이라고 간주한다.
UPnP 아키텍처는 UPnP 디바이스가 자신의 존재를 광고하는 간격을 정의한다. 간격은 1800 초까지 가능하다. 그 결과, 만약 제어 포인트가 UPnP 디바이스의 SSDP 응답을 수신하지 못하면, 제어 포인트는 타임아웃이 되기 전에 1800초까지 기다려야한다. 그러나 이것은 제어 포인트를 이용하여 UPnP 디바이스를 액세스하려는 사용자가 눈에 띄는 지연없이 모든 사용 가능한 디바이스를 보기를 기대하기 때 문에 바람직하지 않다.
인터넷과 같은 통신 링크에서 제어 포인트의 M-SEARCH 메시지에 대한 응답에 있어서 예측할 수 없는 네트워크 지연의 효과를 최소화하기 위해, 멀티캐스트 브릿지(316)는 통상의 M-SEARCH 응답이외도 미리 디바이스 SSDP 광고를 원격 제어 포인트(314)로 전송한다. 이러한 사전 광고는 멀티캐스트 브릿지(316)가 SSDP M-SEARCH에 대한 UPnP 디바이스의 응답을 전달한 직후에 일어난다. 사전 디바이스 SSDP 광고는 디바이스 SSDP 광고를 수신하는데 걸리는 대기 간격을 줄여준다. 따라서 통신 링크상의 제어 포인트가 UPnP 디바이스로부터 구체적인 MX 헤더값 이내에 SSDP 응답 메시지를 수신하지 못하더라도, 제어 포인트는 1800초까지 기다리지 않고 여전히 디바이스 SSDP 광고를 수신한다. 그리하여, 제어 포인트는 1800초라는 타임아웃 간격 전체를 기다릴 필요가 없다.
네트워크(300)는 또 액세스 정책(320)을 유지하는 액세스 컨트롤러(318)를 포함하고, 이것은 디바이스의 검색 및 보안을 시행하기 위해 액세스 제어 측정을 수행한다. 이는 네트워크에서 디바이스 및/또는 서비스의 검색을 위한 액세스 제어를 가능하게 한다. UPnP 아키텍처에서, 모든 물리적인 소비자 전자기기는 적어도 루트 UPnP 디바이스, 가능한 서브-디바이스의 리스트를 보유한다. 서브-디바이스는 다른 서브-디바이스를 포함할 수 있다. 서브-디바이스의 레벨은 제한이 없다. UPnP 디바이스는 또한 서비스의 리스트를 보유할 수 있는데, 이는 제어 포인트가 호출할 수 있는 작업의 리스트를 나타낸다.
본 발명에 따른 디바이스 레벨 액세스 제어의 목적은 액세스 정책에 따라, 다른 네트워크 디바이스는 숨긴채, 보안된 통신 링크(예를 들어, 인터넷)에서 원격 제어 포인트에게 보여질 수 있는 해당 네트워크 디바이스만 드러내기 위함이다.
유사하게, 본 발명에 따른 서비스 레벨 액세스 제어의 목적은 액세스 정책에 따라, 다른 UPnP 서비스는 숨긴채, 보안된 통신 링크(예를 들어, 인터넷)에서 원격 제어 포인트에게 보여질 수 있는 해당 UPnP 서비스만 드러내기 위함이다.
액세스 제어 정책 모듈(320)은 UPnP 디바이스 및 서비스의 액세스 제어를 위한 정책을 관리한다. 예를 들면, 액세스 제어 정책 모듈(320)은 UPnP 디바이스(310, 예를 들어 감시 카메라)가 인터넷상의 원격 제어 포인트(314)에 의해 검색되지 않는 조건을 부가할 수 있다.
서비스 레벨 액세스 정책의 일 예로, 홈 TV에서의 UPnP A/V 수송 서비스를 제어 포인트(314)가 인터넷을 통해 원격 액세스할 수 없도록 할 수 있다. HTTP 프록시(322)는 원격 UPnP 제어 포인트(314)에 의해 직접 액세스되지 않도록 UPnP 디바이스(310)를 포함한 실제 UPnP 디바이스들을 숨긴다. UPnP 디바이스(310)를 액세스하기 위해, UPnP 제어 포인트(314)는 먼저 HTTP 프록시(322)로 요청을 보낸다. 그런 다음, HTTP 프록시(322)는 상기 요청을 네트워크(300)내의 UPnP 디바이스들에게 전달한다.
도 6의 프로세스(70)의 예를 살펴 보면, 본 발명에 따른 도 5의 네트워크(300)에서 종래의 타임아웃 문제를 고려한 방법은 다음의 단계들을 포함한다.
제 71 단계 : UPnP 디바이스(310)는 UPnP SSDP 활성(alive) 광고 메시지를 LAN(303)에 전송함으로써 자신의 존재를 멀티캐스트한다.
제 72 단계 : 멀티캐스트 브릿지(316)는 상기 메시지를 수신하고, 메모리에 저장한다.
제 73 단계 : 차후에, 제어 포인트(314)는 네트워크(300)와 연결을 성립시키고, 링크(301)를 거쳐 보안 연결을 통해 네트워크(300)로 SSDP M-SEARCH를 멀티캐스트함으로써 검색 프로세스를 시작한다. SSDP M-SEARCH에서, 제어 포인트(314)는 또한 대기값을 포함한 MX 헤더를 구체화한다.
제 74 단계 : 멀티캐스트 브릿지(316)는 SSDP M-SEARCH 멀티캐스트 메시지를 보안 연결을 통해 수신하고, UPnP 제어 포인트(314)의 IP 주소와 포트 번호를 제어 포인트 리스트에 기록한다(또한 선택적으로, 탐색에서 디바이스/서비스의 타입을 기록한다).
제 75 단계 : 멀티캐스트 브릿지(316)는 SSDP M-SEARCH 메시지를 네트워크(300)내의 LAN(303)에 멀티캐스트한다.
제 76 단계 : LAN(303)상의 UPnP 디바이스(310)는 멀티캐스트 브릿지(316)로부터 SSDP M-SEARCH 메시지를 수신한다.
제 77 단계 : UPnP 디바이스(310)는 유니캐스트 응답 메시지로 멀티캐스트 브릿지(316)에게 다시 응답한다.
제 78 단계 : 멀티캐스트 브릿지(316)는 기록된 제어 포인트 리스트를 조사한다. 제어 포인트 리스트에서 응답을 기다리는 각 UPnP 제어 포인트에 대하여, 멀티캐스트 브릿지(316)는 응답 메시지의 "위치" 헤더가 게이트웨이(312)내의 HTTP 프록시(322)를 가리키는 URL 링크와 같은 주소를 포함하도록 수정한다. 그런 다 음, 멀티캐스트 브릿지(316)는 수정된 메시지를 링크(301)를 거쳐 보안 연결을 통해 UPnP 제어 포인트(314)로 다시 유니캐스트한다.
제 79 단계 : 상기 응답 메시지를 전달한 후에, 멀티캐스트 브릿지(316)는 저장된 UPnP SSDP 활성 메시지(예를 들어, 저장된 UPnP 디바이스(310)로부터의 UPnP SSDP 활성 메시지)를 위해 메모리를 찾아본다. 저장된 각각의 UPnP SSDP 활성 광고 메시지에 대해, 멀티캐스트 브릿지(316)는 "위치" 헤더가 HTTP 프록시(322)를 가리키도록 "위치" 헤더를 수정한다. 그런 다음, 멀티캐스트 브릿지(316)는 수정된 활성 메시지를 보안 링크(301)를 통해 제어 포인트(314)로 전송한다. 이렇게 사전에 전송한 SSDP 활성 메시지는 상술한 타임아웃 문제를 고려한다.
제 80 단계 : UPnP 제어 포인트(314)는 멀티캐스트 브릿지(316)로부터 UPnP 디바이스(310)에 대응하는 상기 수정된 응답 메시지를 수신한다. 이번 예에서, 수정된 응답 메시지는 MX 대기값 후에 UPnP 제어 포인트(314)에 도달한다(예를 들어, 보안 연결을 통한 긴 지연시간 때문에). UPnP 제어 포인트(314)는 UPnP 디바이스(310)가 응답하지 않은 것으로 간주하고, 수정된 메시지를 폐기한다.
제 81 단계 : 그 후, UPnP 제어 포인트(314)는 멀티캐스트 브릿지(316)로부터 UPnP 디바이스(310)에 대응하는 수정된 활성 메시지를 수신한다. 상기 수정된 활성 메시지는 UPnP 제어 포인트(314)에게 UPnP 디바이스(310)이 온-라인 상태라는 것을 알려준다.
본 발명의 다른 실시예에 따라, 액세스 제어는 원격 디바이스 및/또는 서비 스 검색 전에 액세스 정책을 체크하는 액세스 컨트롤러를 사용하여 UPnP 디바이스 및/또는 서비스의 원격 검색을 제어하는 것을 포함한다. 이러한 액세스 제어는 또 통상의 SSDP M-SEARCH 응답뿐만 아니라 UPnP SSDP 광고와 같은 디바이스 광고를 사전에 전송함으로써 현재 UPnP 아키텍처에서 타임아웃 문제를 고려한다. 사전 디바이스 SSDP 광고는 원격 제어 포인트가 디바이스 SSDP 광고를 수신하는 대기 간격을 줄여준다. 제어 포인트가 구체적인 간격동안에 UPnP 디바이스로부터 SSDP 응답 메시지를 수신하지 않았다 하더라도, 제어 포인트는 여전히 전체 타임아웃 간격동안 기다리지 않고 디바이스 SSDP 광고를 수신한다.
도 7은 본 발명의 또 다른 실시예에 따른, 도 5의 네트워크상에서 UPnP 디바이스에 대한 원격 액세스 절차의 다른 예를 나타내는 플로우 차트이다.
도 7의 액세스 제어 프로세스(82)의 예를 살펴보면, 도 5의 원격 UPnP 제어 포인트(314)는 네트워크(300)에서 디바이스 및 서비스 명세를 액세스한다. 본 발명에 따라 다음과 같은 단계를 포함한다.
제 83 단계 : UPnP 디바이스(310)의 디바이스 명세를 획득하기 위해, UPnP 제어 포인트(314)는 링크(301)를 거쳐 보안 연결을 통해 게이트웨이(312)로 요청을 전송한다.
제 84 단계 : HTTP 프록시(322)는 요청을 수신하고, 요청의 "위치" 헤더를 HTTP 프록시(322)를 가리키도록 수정하고, 수정된 요청을 UPnP 디바이스(310)으로 전달한다.
제 85 단계 : UPnP 디바이스(310)는 수정된 요청에 대해 HTTP 프록시(322)로 자신의 디바이스 명세를 제공함으로써 응답한다. HTTP 프록시(322)는 UPnP 디바이스(310)가 UPnP 제어 포인트(314)에게 보여질 수 있는지를 액세스 컨트롤러(318)에게 질의한다.
제 86 단계 : 액세스 컨트롤러(318)는 액세스 정책을 위한 액세스 제어 정책(320)을 찾아보고, 결과를 HTTP 프록시(322)에게 회신한다.
제 87 단계 : 그런 다음, UPnP 디바이스(310)가 UPnP 제어 포인트(314)에 의해 액세스 가능한지가 액세스 정책에 기초하여 결정된다. 만약 불가하다면, 프로세스는 제 88 단계로 진행하고, 그렇지 않으면 제 89 단계로 진행한다.
제 88 단계 : HTTP 프록시(322)는 디바이스 명세 전체를 제거하고, UPnP 디바이스(310)가 존재하지 않는 것처럼 제어 포인트(314)에게 응답한다. 제 89 단계로 진행한다.
제 89 단계 : HTTP 프록시(322)는 기본 URL(전형적으로 디바이스 명세에 포함되어 있음)가 HTTP 프록시(322)를 가리키도록 변경한다.
제 90 단계 : 디바이스 명세내의 각각의 서비스 리스트에 대해, HTTP 프록시(322)는 서비스 리스트에 있는 각각의 서비스가 UPnP 제어 포인트(314)에 의해 액세스 가능한지를 액세스 컨트롤러(318)에게 질의한다.
제 91 단계 : 액세스 컨트롤러(318)는 액세스 정책(320)을 찾아보고, 결과를 HTTP 프록시(322)에게 회신한다.
제 92 단계 : 그런 다음, 각각의 서비스가 UPnP 제어 포인트(314)에 의해 액세스 가능한지가 액세스 정책에 기초하여 결정된다. 만약 가능하다면, 프로세스는 제 93 단계로 진행하고, 그렇지 않으면 제 94 단계로 진행한다.
제 93 단계 : 그런 다음, 서비스 리스트의 각각의 서비스에 대하여, HTTP 프록시(322)는 서비스 명세 URL, 이벤트 신청 URL, 서비스 제어 URL이 HTTP 프록시(322)를 가리키도록 변경한다. 제 95 단계로 진행한다.
제 94 단계 : 서비스가 액세스 불가하다면, HTTP 프록시(322)는 디바이스 명세에서 서비스 섹션 전체를 제거한다.
제 95 단계 : 그런 다음, HTTP 프록시(322)는 수정된 디바이스 명세 또는 서비스 명세를 원격 제어 포인트(314)에게 다시 전송한다.
제 96 단계 : 제어 포인트(314)는 UPnP 디바이스(310)의 디바이스 명세 및/또는 서비스 명세를 수신한다. UPnP 디바이스(310)의 디바이스 명세 및/또는 서비스 명세에 기초하여, 제어 포인트(314)는 디바이스(310)로부터의 서비스를 요청할 것이다.
상기 프로세스(82)는 원격 액세스를 수행하는 동안(예를 들어, 링크(301)상의 제어 포인트(314)에 의하여), 디바이스 레벨 및 서비스 레벨에서 액세스 제어를 가능하게 한다. 이는 아울러 상술한 도 2의 프로세스(15) 또는 도 4의 프로세스(45)와 조합하여 사용될 수도 있다.
디바이스 명세는 다음과 같은 주요 정보를 기술한다: (1)디바이스 타입, 예를 들어 미디어 렌더러, (2)디바이스 이름, 제조자, 제조자 URL, (3)디바이스 모델 명세, 디바이스 시리얼 번호, (4)디바이스 UUID(Universally Unique IDentification), (5)서브-디바이스 리스트, (6)서비스 리스트, 예를 들어 서비스 타입, 서비스 명세 URL, 이벤트 URL.
서비스 명세는 다음과 같은 주요 정보를 포함한다: (1)서비스 버전, (2)작업 호출 및 작업 결과 내역을 포함하는 작업 리스트. 디바이스 및 서비스 명세는 XML 형식으로 표현된다. UPnP 디바이스는 디바이스 명세 및 서비스 명세를 보유한다.
도 6의 프로세스(70)는 액세스 정책에 따라 상기 UPnP 디바이스가 제어 포인트(314)에 의해 액세스가 가능하지 않은 경우에, 특정 UPnP 디바이스나 서비스의 SSDP 활성 메시지가 네트워크(300)로부터 전달되지 않게 수정될 수 있다. 따라서, 도 6의 제 78, 79, 80 및 81 단계는 다음과 같이 수정될 수 있다. 디바이스 및 서비스 유니캐스트 UPnP 응답 메시지가 네트워크(300)로부터 제어 포인트(314)로 전달되기 전에, 멀티캐스트 브릿지(316)는 먼저 액세스 컨트롤러(318)에게 상기 디바이스/서비스가 제어 포인트(314)에 의해 액세스 가능한지를 질의한다.
만약 액세스가 가능하다면, 멀티캐스트 브릿지(316)는 제 78, 79, 80 및 81 단계로 진행한다.
만약 액세스가 가능하지 않다면, 멀티캐스트 브릿지(316)는 UPnP 응답을 폐기한다. 유사하게, 원격 제어 포인트(314)에 의해 검색되거나 액세스되지 않는 디바이스/서비스를 대신하여 멀티캐스트 브릿지(316)는 SSDP 활성 메시지를 전달하지 않는다.
한편, 상술한 본 발명에 따른 원격 액세스 방법은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다.
또한, 상술한바와 같이 본 발명에서 사용된 데이터의 구조는 컴퓨터로 읽을 수 있는 기록매체에 여러 수단을 통하여 기록될 수 있다.
상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 저장매체를 포함한다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
이상에서 설명한 바와 같이 본 발명에 의한 UPnP에 원격 액세스하는 방법에 따르면, 메시지 전달이 UPnP 계층에서 일어나므로 멀티캐스트 전달이 가능하며, 원격 액세스 타임아웃의 문제를 고려한 UPnP 디바이스와 서비스에 대한 개선된 검색 및 액세스 제어 방법이 제공된다.

Claims (31)

  1. 네트워크상의 적어도 하나 이상의 범용 플러그 앤 플레이(UPnP) 리소스에 대한 원격 액세스 방법에 있어서,
    네트워크에서 UPnP 리소스의 검색을 위한 액세스 정책을 유지하는 단계와;
    통신 링크를 통해 원격 요청자로부터 원격 검색 요청을 수신하는 단계와;
    상기 액세스 정책에 질의하여 상기 리소스가 검색 가능한지를 결정하는 단계와;
    상기 리소스가 검색 가능한 경우, 상기 통신 링크를 통하여 상기 원격 요청자에게 상기 리소스의 정보를 제공하는 단계를 포함하고,
    프록시를 통하여, UPnP 요청 및 응답 메시지 전달을 수행함으로써, 상기 통신 링크를 통한 상기 리소스의 액세스를 제어하는 것을 특징으로 하는 원격 액세스 방법.
  2. 제1항에 있어서,
    상기 통신 링크를 통해 상기 원격 검색 요청에 대한 응답에 있어서, 상기 액세스 정책에 기초하여 상기 리소스의 검색을 제어하는 단계를 더 포함하는 것을 특징으로 하는 원격 액세스 방법.
  3. 삭제
  4. 제2항에 있어서,
    상기 검색을 제어하는 단계는, 네트워크의 컨트롤러에 의해 수행되는 것을 특징으로 하는 원격 액세스 방법.
  5. 제4항에 있어서,
    상기 원격 검색 요청을 수신하는 단계는,
    상기 프록시가 상기 원격 요청자로부터 상기 원격 검색 요청을 수신하는 단계와;
    상기 컨트롤러가 상기 액세스 정책에게 상기 리소스가 검색 가능한지를 질의하는 단계와;
    검색 가능한 경우, 상기 프록시가 통신 링크를 통해 상기 원격 요청자에게 상기 리소스의 정보를 제공하는 단계를 포함하는 것을 특징으로 하는 원격 액세스 방법.
  6. 제1항에 있어서,
    상기 리소스는 UPnP 디바이스를 포함하는 것을 특징으로 하는 원격 액세스 방법.
  7. 제1항에 있어서,
    상기 리소스는 적어도 하나 이상의 UPnP 디바이스에 의해 수행되는 서비스를 포함하는 것을 특징으로 하는 원격 액세스 방법.
  8. 제1항에 있어서,
    (a)서비스를 주최하는 적어도 하나 이상의 디바이스가 검색 가능하거나,
    (b)상기 서비스가 검색 가능한 경우에,
    상기 액세스 정책에 따라 상기 서비스가 검색 가능한 것을 특징으로 하는 원격 액세스 방법.
  9. 제1항에 있어서,
    상기 액세스 정책에 질의하여 상기 리소스가 검색 가능한지를 결정하는 단계는,
    상기 액세스 정책에게 질의하여 상기 리소스가 상기 원격 요청자에게 검색 가능한지를 결정하는 단계를 더 포함하는 것을 특징으로 하는 원격 액세스 방법.
  10. 제1항에 있어서,
    상기 네트워크는 지역 네트워크(LAN)를 포함하는 것을 특징으로 하는 원격 액세스 방법.
  11. 제1항에 있어서,
    상기 네트워크는 가상 개인 네트워크(VPN)를 포함하는 것을 특징으로 하는 원격 액세스 방법.
  12. 제1항에 있어서,
    상기 원격 요청자는 UPnP 제어 포인트를 포함하는 것을 특징으로 하는 원격 액세스 방법.
  13. 제1항에 있어서,
    상기 통신 링크는 연결 네트워크(connection network)를 포함하는 것을 특징으로 하는 원격 액세스 방법.
  14. 제13항에 있어서,
    상기 연결 네트워크는 인터넷을 포함하는 것을 특징으로 하는 원격 액세스 방법.
  15. 네트워크상의 적어도 하나 이상의 범용 플러그 앤 플레이(UPnP) 디바이스에 대한 원격 액세스 방법에 있어서,
    통신 링크를 통해 제어 포인트로부터 간이 서비스 검색 프로토콜(Simple Service Discovery Protocol: SSDP) 멀티캐스트 탐색(M-SEARCH) 메시지를 수신하는 단계와;
    상기 통신 링크를 통해 SSDP M-SEARCH 응답으로 상기 제어 포인트에 응답하는 단계와;
    상기 통신 링크를 통해 UPnP SSDP 활성(alive) 광고 메시지를 상기 제어 포인트에 전송하는 단계를 포함하는 것을 특징으로 하는 원격 액세스 방법.
  16. 제15항에 있어서,
    상기 네트워크의 UPnP 디바이스가 상기 UPnP SSDP 활성 광고 메시지를 전송하는 단계와;
    상기 UPnP SSDP 활성 광고 메시지를 획득하고 저장하는 단계와;
    상기 M-SEARCH 메시지를 상기 UPnP 디바이스로 전송하고 상기 UPnP 디바이스로부터 응답을 수신하는 단계와;
    상기 SSDP M-SEARCH 응답을 상기 통신 링크를 통해 상기 제어 포인트로 전송하는 단계와;
    상기 저장된 UPnP SSDP 활성 광고 메시지를 상기 통신 링크를 통해 상기 제어 포인트로 전송하는 단계를 더 포함하는 것을 특징으로 하는 원격 액세스 방법.
  17. 네트워크상의 적어도 하나 이상의 범용 플러그 앤 플레이(UPnP) 리소스에 대한 원격 액세스 장치에 있어서,
    네트워크의 UPnP 리소스의 검색을 위한 액세스 정책과;
    통신 링크를 통한 원격 검색 요청의 응답에 있어서, 상기 액세스 정책에 기초하여 상기 리소스의 검색을 제어하고, 상기 액세스 정책에 질의하고, 상기 리소스가 검색 가능한 경우, 상기 통신 링크를 통해 원격 요청자에게 상기 리소스의 정보를 제공하도록 구성된 컨트롤러; 및
    UPnP 요청 및 응답 메시지 전달을 수행함으로써, 상기 통신 링크를 통한 상기 리소스의 액세스를 제어하는 프록시를 포함하는 것을 특징으로 하는 원격 액세스 장치.
  18. 삭제
  19. 삭제
  20. 제17항에 있어서,
    상기 프록시는 상기 원격 요청자로부터 원격 검색 요청을 수신하도록 구성되고,
    상기 컨트롤러는 상기 리소스가 검색 가능한지를 상기 액세스 정책에 질의하도록 구성되고,
    상기 프록시는 상기 통신 링크를 통해 상기 원격 요청자에게 상기 리소스의 정보를 제공하는 것을 특징으로 하는 원격 액세스 장치.
  21. 제17항에 있어서,
    상기 리소스는 UPnP 디바이스를 포함하는 것을 특징으로 하는 원격 액세스 장치.
  22. 제17항에 있어서,
    상기 리소스는 적어도 하나 이상의 UPnP 디바이스에 의해 수행되는 서비스를 포함하는 것을 특징으로 하는 원격 액세스 장치.
  23. 제17항에 있어서,
    (a)서비스를 주최하는 적어도 하나 이상의 디바이스가 검색 가능하거나,
    (b)상기 서비스가 검색 가능한 경우에,
    상기 액세스 정책에 따라 상기 서비스가 검색 가능한 것을 특징으로 하는 원격 액세스 장치.
  24. 제17항에 있어서,
    상기 컨트롤러는 상기 액세스 정책에 질의하여 상기 리소스가 상기 원격 요청자에게 검색 가능한지를 결정하도록 구성되는 것을 특징으로 하는 원격 액세스 장치.
  25. 제17항에 있어서,
    상기 네트워크는 지역 네트워크(LAN)를 포함하는 것을 특징으로 하는 원격 액세스 장치.
  26. 제17항에 있어서,
    상기 네트워크는 가상 개인 네트워크(VPN)를 포함하는 것을 특징으로 하는 원격 액세스 장치.
  27. 제17항에 있어서,
    상기 원격 요청자는 UPnP 제어 포인트를 포함하는 것을 특징으로 하는 원격 액세스 장치.
  28. 제17항에 있어서,
    상기 통신 링크는 연결 네트워크(connection network)를 포함하는 것을 특징으로 하는 원격 액세스 장치.
  29. 제28항에 있어서,
    상기 연결 네트워크는 인터넷을 포함하는 것을 특징으로 하는 원격 액세스 장치.
  30. 네트워크상의 적어도 하나 이상의 범용 플러그 앤 플레이(UPnP) 디바이스에 대한 원격 액세스 장치에 있어서,
    통신 링크를 통해 네트워크와 제어 포인트 사이의 인터페이스를 구성하는 브릿지와;
    상기 브릿지를 통해 제어 포인트로부터 SSDP M-SEARCH 메시지를 수신하고, SSDP M-SEARCH 응답으로 상기 제어 포인트에 응답하고, 상기 브릿지를 통해 UPnP SSDP 활성 광고 메시지를 상기 제어 포인트에 전송하도록 구성된 프록시를 포함하는 것을 특징으로 하는 원격 액세스 장치.
  31. 제30항에 있어서,
    상기 UPnP SSDP 활성 광고 메시지를 전송하는 UPnP 디바이스를 더 포함하고,
    상기 프록시는 상기 UPnP SSDP 활성 광고 메시지를 획득하고 저장하고, 상기 M-SEARCH 메시지를 상기 UPnP 디바이스로 전달하고, 상기 UPnP 디바이스로부터 응답을 수신하고, 상기 SSDP M-SEARCH 응답을 상기 제어 포인트로 전송하고, 상기 저장된 UPnP SSDP 활성 광고 메시지를 상기 제어 포인트로 전송하도록 구성된 것을 특징으로 하는 원격 액세스 장치.
KR1020070056057A 2006-06-08 2007-06-08 범용 플러그 앤 플레이 디바이스에 원격 액세스하는 방법및 시스템 KR101410927B1 (ko)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US81257706P 2006-06-08 2006-06-08
US81245906P 2006-06-08 2006-06-08
US60/812,459 2006-06-08
US60/812,577 2006-06-08
US11/805,622 US7921194B2 (en) 2006-03-09 2007-05-23 Method and system for remote access to universal plug and play devices
US11/805,622 2007-05-23

Publications (2)

Publication Number Publication Date
KR20070117503A KR20070117503A (ko) 2007-12-12
KR101410927B1 true KR101410927B1 (ko) 2014-06-23

Family

ID=38801673

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070056057A KR101410927B1 (ko) 2006-06-08 2007-06-08 범용 플러그 앤 플레이 디바이스에 원격 액세스하는 방법및 시스템

Country Status (5)

Country Link
US (1) US7921194B2 (ko)
JP (1) JP4785968B2 (ko)
KR (1) KR101410927B1 (ko)
CN (1) CN101473597B (ko)
WO (1) WO2007142485A1 (ko)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7921194B2 (en) 2006-03-09 2011-04-05 Samsung Electronics Co., Ltd. Method and system for remote access to universal plug and play devices
US7729366B2 (en) * 2007-10-03 2010-06-01 General Instrument Corporation Method, apparatus and system for network mobility of a mobile communication device
WO2009055717A1 (en) * 2007-10-24 2009-04-30 Jonathan Peter Deutsch Various methods and apparatuses for a central station to allocate virtual ip addresses
TW200924436A (en) * 2007-11-22 2009-06-01 D Link Corp Method of connecting network terminal devices of a private network by using a hand-held electronic device
US7948887B2 (en) 2008-06-24 2011-05-24 Microsoft Corporation Network bandwidth measurement
US8307093B2 (en) * 2008-06-25 2012-11-06 Microsoft Corporation Remote access between UPnP devices
KR20100040658A (ko) 2008-10-10 2010-04-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
KR101667049B1 (ko) * 2009-03-03 2016-10-17 삼성전자주식회사 원격 접속 서비스 시 네트워크의 정보 공개를 제한하기 위한 방법 및 장치
CN101873303B (zh) 2009-04-27 2014-07-09 华为终端有限公司 一种家庭网络、家庭网络间设备信息共享方法及家庭网络系统
CN101562639B (zh) * 2009-05-14 2012-08-08 华为终端有限公司 信息同步方法、装置和系统
US8516071B2 (en) 2009-06-03 2013-08-20 Qualcomm Incorporated Systems and methods for creating virtual universal plug-and-play systems
US8954502B1 (en) * 2009-08-06 2015-02-10 Marvell International Ltd. Infrastructure devices in peer-to-peer environments
JP2011090469A (ja) * 2009-10-21 2011-05-06 Nec Access Technica Ltd コンテンツ再生システム、方法及びプログラム
US8379668B2 (en) * 2010-01-21 2013-02-19 Comcast Cable Communications, Llc Controlling networked media capture devices
EP2537303B1 (en) * 2010-02-19 2018-11-07 Samsung Electronics Co., Ltd. Method and apparatus for enabling communication between a mobile device and universal plug and play devices
WO2011107717A1 (fr) * 2010-03-03 2011-09-09 France Telecom Pilotage d'un dispositif d'un reseau distant a partir d'un reseau local
JP5587034B2 (ja) * 2010-05-27 2014-09-10 キヤノン株式会社 サービス公開装置、方法、及び、プログラム
KR101044769B1 (ko) * 2010-06-16 2011-06-29 한국과학기술연구원 위치 기반 UPnP 디바이스를 검색하는 UPnP 컨트롤 포인트 및 이를 이용한 검색 방법
JP5521833B2 (ja) * 2010-06-30 2014-06-18 ソニー株式会社 遠隔制御装置、遠隔制御設定方法及びプログラム
US20120079125A1 (en) * 2010-09-23 2012-03-29 Mark Nixon Service oriented framework for communicating with devices in a process control system
CN103095749A (zh) * 2011-10-28 2013-05-08 浙江大华技术股份有限公司 用于实现跨网段设备发现的方法和系统
CN102932368B (zh) * 2012-11-15 2016-08-03 北京锐安科技有限公司 一种跨网络http安全访问方法及系统
US10284659B2 (en) * 2013-01-25 2019-05-07 Apple Inc. Hybrid unicast/multicast DNS-based service discovery
WO2014166522A1 (en) * 2013-04-09 2014-10-16 Robert Bosch Gmbh Method for network change tolerant service discovery in a computer network
CN104219264B (zh) * 2013-05-31 2018-09-21 华为终端有限公司 远程访问的方法及服务器
JP2015032098A (ja) * 2013-08-01 2015-02-16 富士通株式会社 中継サーバおよびアクセス制御方法
CN104780181B (zh) * 2014-01-09 2018-05-18 青岛海信移动通信技术股份有限公司 一种显示网络中设备的方法和一种网络设备
CN104065702A (zh) * 2014-05-18 2014-09-24 陕西理工学院 一种位于控制台上的减轻服务设备响应的服务代理方法
CN104065659B (zh) * 2014-06-27 2019-08-16 努比亚技术有限公司 一种dlna设备隐身的方法及主、从dlna设备
US9774503B2 (en) * 2014-11-03 2017-09-26 Intel Corporation Method, apparatus and system for automatically discovering nodes and resources in a multi-node system
US10791116B1 (en) * 2016-09-30 2020-09-29 NortonLifeLock Inc. Systems and methods for securing universal plug and play connections
US11323957B2 (en) * 2017-03-30 2022-05-03 Intel Corporation Apparatus, system, and method of channel switching
WO2019113352A1 (en) * 2017-12-07 2019-06-13 Mcom Media Communications Dmcc Managing content casting
US10778796B2 (en) * 2018-04-04 2020-09-15 Verizon Patent And Licensing, Inc. Systems and method for providing a proxy to universal plug and play devices
US11106471B2 (en) * 2019-03-29 2021-08-31 Dell Products L.P. System and method to securely map UEFI ISCSI target for OS boot using secure M-Search command option in UEFI discover protocol

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040005503A (ko) * 2002-07-10 2004-01-16 엘지전자 주식회사 홈 네트워크의 유피엔피 기능 분산 시스템
KR20040005464A (ko) * 2002-07-10 2004-01-16 엘지전자 주식회사 유피엔피(UPnP)를 이용한 홈 네트워크의 원격 제어시스템
JP2005311773A (ja) 2004-04-22 2005-11-04 Canon Inc 通知方法、接続装置、通信方法、及び、プログラム

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002028083A1 (fr) * 2000-09-27 2002-04-04 Ntt Docomo, Inc. Procede de commande a distance de dispositifs electroniques et installation de gestion de ces dispositifs
KR100405464B1 (ko) * 2000-12-14 2003-11-15 현대자동차주식회사 차량용 오일펌프
US7299304B2 (en) 2001-11-20 2007-11-20 Intel Corporation Method and architecture to support interaction between a host computer and remote devices
US7490171B2 (en) * 2003-05-19 2009-02-10 Intel Corporation Universal plug-and-play mirroring device, system and method
JP4368184B2 (ja) * 2003-11-19 2009-11-18 株式会社日立製作所 ブラックリストによる緊急アクセス遮断装置
US7555543B2 (en) * 2003-12-19 2009-06-30 Microsoft Corporation Server architecture for network resource information routing
FI116497B (fi) 2004-02-06 2005-11-30 Nokia Corp Verkotettujen laitteiden välisen datansiirron optimoiminen
EP1738562B1 (en) * 2004-04-23 2011-03-23 Panasonic Corporation Server apparatus, client apparatus and network system
KR100636380B1 (ko) * 2004-12-17 2006-10-19 한국전자통신연구원 이종의 홈네트워크 미들웨어상에 접속해 있는 홈디바이스들간의 상호 연동을 위한 홈네트워크 범용미들웨어 브릿지 시스템 및 그 방법
US20060153072A1 (en) 2004-12-28 2006-07-13 Matsushita Electric Industrial Co., Ltd. Extending universal plug and play messaging beyond a local area network
US20060168320A1 (en) 2004-12-30 2006-07-27 Kidd Nelson F Network topology discovery service
US8261341B2 (en) * 2005-01-27 2012-09-04 Nokia Corporation UPnP VPN gateway configuration service
US7640329B2 (en) 2005-02-15 2009-12-29 Microsoft Corporation Scaling and extending UPnP v1.0 device discovery using peer groups
US7921194B2 (en) 2006-03-09 2011-04-05 Samsung Electronics Co., Ltd. Method and system for remote access to universal plug and play devices

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040005503A (ko) * 2002-07-10 2004-01-16 엘지전자 주식회사 홈 네트워크의 유피엔피 기능 분산 시스템
KR20040005464A (ko) * 2002-07-10 2004-01-16 엘지전자 주식회사 유피엔피(UPnP)를 이용한 홈 네트워크의 원격 제어시스템
JP2005311773A (ja) 2004-04-22 2005-11-04 Canon Inc 通知方法、接続装置、通信方法、及び、プログラム

Also Published As

Publication number Publication date
US20070233845A1 (en) 2007-10-04
JP2009540426A (ja) 2009-11-19
KR20070117503A (ko) 2007-12-12
CN101473597B (zh) 2015-02-18
WO2007142485A1 (en) 2007-12-13
JP4785968B2 (ja) 2011-10-05
US7921194B2 (en) 2011-04-05
CN101473597A (zh) 2009-07-01

Similar Documents

Publication Publication Date Title
KR101410927B1 (ko) 범용 플러그 앤 플레이 디바이스에 원격 액세스하는 방법및 시스템
US7751321B2 (en) Method and system for remote access to universal plug and play devices
EP2291979B1 (en) Remote access between upnp devices
US9106490B2 (en) Method, apparatus and system for sharing multimedia content within a peer-to-peer network
US20050240758A1 (en) Controlling devices on an internal network from an external network
US20080267144A1 (en) System and method for managing broadcast and/or multicast based communication sessions for mobile nodes
US7428574B2 (en) Device cooperation service system and electronic devices included in the system
US20030063608A1 (en) Multicast discovery protocol uses tunneling of unicast message
US20080235358A1 (en) Proxy Device, Network System, and Communication Method
US20150089025A1 (en) Method And Apparatus For Sharing DLNA Device
US20070189486A1 (en) Communication apparatus, system, method and computer readable medium
WO2008087374A2 (en) SYSTEM AND METHOD FOR REMOTELY ACCESSING UNIVERSAL PLUG AND PLAY (UPnP) NETWORKS
US20130064250A1 (en) Remotely accessing and controlling user equipment in a private network
KR100906677B1 (ko) UPnP 네트워크의 원격지 보안 접속 시스템 및 방법
US9325518B2 (en) Controlling a device of a remote network from a local network
JP5142216B2 (ja) ホームネットワーク内の端末から広域ネットワークへコンテンツを送信するコンテンツ送信方法及びシステム
Belimpasakis et al. Remote access to universal plug and play (UPnP) devices utilizing the Atom publishing protocol
CN104584514B (zh) 用于在通信网络中提供服务的设备和方法
JP3649440B2 (ja) クライアント機器への接続をルーティングするためのサーバ
KR100953093B1 (ko) 이종 UPnP네트워크를 통한 멀티미디어 서비스 방법 및 시스템
JP5586689B2 (ja) ホームネットワーク、ホームネットワーク間での装置情報共有方法、及びホームネットワークシステム
CN105323125A (zh) 一种跨家庭网络的处理方法及http网关、dlna设备
KR100952280B1 (ko) 댁내에 설치되는 주거 게이트웨이의 재부팅을 원격으로제어하는 방법

Legal Events

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

Payment date: 20170522

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180518

Year of fee payment: 5