KR100736037B1 - SYSTEM AND METHOD FOR EXPANDING UPnP FUNTION - Google Patents
SYSTEM AND METHOD FOR EXPANDING UPnP FUNTION Download PDFInfo
- Publication number
- KR100736037B1 KR100736037B1 KR1020050053679A KR20050053679A KR100736037B1 KR 100736037 B1 KR100736037 B1 KR 100736037B1 KR 1020050053679 A KR1020050053679 A KR 1020050053679A KR 20050053679 A KR20050053679 A KR 20050053679A KR 100736037 B1 KR100736037 B1 KR 100736037B1
- Authority
- KR
- South Korea
- Prior art keywords
- control point
- network
- message
- controlled device
- forwarding
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/256—NAT traversal
- H04L61/2582—NAT traversal through control of the NAT server, e.g. using universal plug and play [UPnP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/66—Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
Abstract
본 발명은 UPnP 기능의 확장 시스템 및 방법에 관한 것으로, 본 발명에 따른 UPnP 기능의 확장 시스템은, NAT 네트워크 외부에 존재하면서 제어 메시지를 전송하는 제어 포인트; 상기 NAT 네트워크 내부에 존재하면서 상기 제어 포인트의 제어를 받는 피제어 장치; 및 상기 피제어 장치와 접속된 채 상기 제어 포인트와 상기 피제어 장치 사이의 연결을 매개하는 포워딩 장치를 포함한다. The present invention relates to a system and method for extending the UPnP function, the system for expanding the UPnP function according to the present invention, the control point for transmitting a control message while being outside the NAT network; A controlled device existing within the NAT network and controlled by the control point; And a forwarding device connected to the controlled device to mediate a connection between the control point and the controlled device.
또한, UPnP 기능의 확장 방법은, 네트워크에 접속된 피제어 장치가 광고(advertise) 메시지를 전송하는 단계; 상기 광고(advertise) 메시지를 수신한 포워딩 장치가 상기 광고(advertise) 메시지를 제어 포인트에게 포워딩하는 단계; 및 상기 포워딩받은 제어 포인트가 상기 광고(advertise) 메시지에 따른 피제어 장치의 서비스를 등록하는 단계를 포함한다. The method of extending the UPnP function may include: transmitting, by a controlled device connected to a network, an advertisement message; Forwarding the advertisement message to a control point by the forwarding device receiving the advertisement message; And registering, by the forwarded control point, a service of the controlled device according to the advertisement message.
UPnP, NAT traversal, 제어 포인트, 피제어 장치, 검색(Discovery) 과정, 제어(Control) 과정 UPnP, NAT traversal, control point, controlled device, discovery process, control process
Description
도 1a 내지 도 1d는 종래의 홈 네트워크 장치간 제어 과정에서 각 단계별 동작 과정을 나타낸 도면이다.1A to 1D are diagrams illustrating operations of each step in a conventional home network device-to-device control process.
도 2는 종래의 NAT traversal 시스템의 구성을 나타내는 도면이다. 2 is a diagram showing the configuration of a conventional NAT traversal system.
도 3a는 본 발명의 일실시예에 따른 UPnP 기능의 확장 시스템의 개념을 나타내는 도면이다. 3A is a diagram illustrating a concept of an extension system of UPnP function according to an embodiment of the present invention.
도 3b는 본 발명의 일실시예에 따른 UPnP 기능의 확장 시스템의 구성을 나타내는 도면이다.3B is a diagram illustrating a configuration of an extension system of UPnP function according to an embodiment of the present invention.
도 4는 본 발명의 일실시예에 따른 UPnP 기능의 확장 방법 중 디스커버리 과정을 나타내는 도면이다. 4 is a diagram illustrating a discovery process of a method for extending a UPnP function according to an embodiment of the present invention.
도 5는 본 발명의 일실시예에 따른 UPnP 기능의 확장 방법 중 제어 과정을 나타내는 도면이다. 5 is a diagram illustrating a control process of a method of extending a UPnP function according to an embodiment of the present invention.
<도면의 주요 부분에 대한 설명>Description of the main parts of the drawing
100: 포워딩 장치 200: 제어 포인트100: forwarding device 200: control point
300: 피제어 장치300: controlled device
본 발명은 UPnP 기능의 확장 시스템 및 방법에 관한 것으로서, 더욱 상세하게는, UPnP 기능을 NAT 네트워크나 일반 인터넷 환경 하에서도 적용될 수 있도록 하는 UPnP 기능의 확장 시스템 및 방법에 관한 것이다. The present invention relates to an extension system and method of the UPnP function, and more particularly, to an extension system and method of the UPnP function to enable the UPnP function to be applied even under a NAT network or a general Internet environment.
일반적으로, 홈 네트워크는 인터넷 프로토콜(Internet Protocol; 이하, IP라 칭함) 기반의 사설 망(Private network)으로 이루어지는 것으로, 가정 내에서 사용되는 모든 형태의 개인 컴퓨터(PC)와 지능형 제품, 무선 장치 등의 다양한 기기들을 미들웨어(middleware)라 불리우는 공통의 가상 컴퓨팅 환경을 통해 하나의 네트워크로 연결하여 통제하는 것이다. In general, the home network is composed of a private network based on the Internet Protocol (hereinafter referred to as IP), and includes all types of personal computers (PCs), intelligent products, and wireless devices used in the home. Control various devices in a single network through a common virtual computing environment called middleware.
미들웨어란 다양한 디지털 기기들을 피어-투-피어(Peer-to-Peer) 방식으로 연결하여 기기들간의 통신이 가능하도록 하는 것으로, HAVI(Home AV Interoperability), UPnP(Universal Plug and Play), Jini(Java Intelligent Network Infra-structure), HWW(Home Wide Web)등이 현재까지 제안되어 있다. Middleware is a device that enables communication between devices by connecting various digital devices in a peer-to-peer manner, such as HAVI (Home AV Interoperability), UPnP (Universal Plug and Play), and Jini (Java). Intelligent Network Infrastructure (HFW) and Home Wide Web (HWW) have been proposed to date.
이 중 UPnP 미들웨어를 통해 구축되는 컴퓨팅 환경에서 각 기기들은 동적 호스트 구성 규약(Dynamic Host Configuration Protocol; 이하, DHCP라 칭함)에 따라 서버로부터 할당받거나 자동 IP 지정 기능(Auto IP)에 의해 선택되는 주소를 할당받고, 이를 통해 각 기기들간의 통신 및 네트워크 상에서의 검색/조회를 수행한다. In computing environment, which is built by UPnP middleware, each device is assigned an address assigned by server or selected by Auto IP according to Dynamic Host Configuration Protocol (hereinafter referred to as DHCP). It is assigned and performs communication between each device and search / inquiry on the network.
UPnP 네트워크는 IP 기반의 홈 네트워크에 연결되어 제어를 받는 기기인 홈 네트워크 기기(Controlled Device: 이하, 피제어 장치라 칭함)와, 이들 피제어 장 치를 제어하기 위한 기기인 제어 포인트(Control Point)로 구성된다. The UPnP network is a home network device (Controlled Device), which is connected to and controlled by an IP-based home network, and a Control Point, which is a device for controlling these controlled devices. It is composed.
도 1a 내지 1d는 종래의 UPnP 네트워크의 기기간 제어 과정에서 각 단계별 동작 과정을 나타낸 동작 흐름도이다. 1A to 1D are flowcharts illustrating operations of each step in a device-to-device control process of a conventional UPnP network.
현재 UPnP 네트워크에서의 기기간 제어 과정은 디스커버리-에드버타이즈먼트 (discovery-advertisement)과정, 디스크립션(Description)과정, 제어(Control) 과정 및 이벤팅(eventing)과정으로 이루어진다. Currently, the inter-device control process in the UPnP network is composed of a discovery-advertisement process, a description process, a control process, and an eventing process.
도 1a는 디스커버리-에드버타이즈먼트(discovery-advertisement) 과정을 나타낸 것으로, 이 과정은 크게 새로운 피제어 장치가 홈 네트워크에 연결되어 홈 네트워크 상의 다른 디바이스들에게 자신을 알리는 광고(advertise) 과정과, 새로운 제어 포인트가 홈 네트워크에 연결되어 홈 네트워크 상에서 동작하는 피제어 장치들을 검색(search)하는 디스커버리(discovery) 과정으로 나누어 설명할 수 있다.FIG. 1A illustrates a discovery-advertisement process, which is an advertisement process in which a new controlled device is connected to a home network to notify other devices on the home network, A new control point can be described by dividing it into a discovery process of searching for controlled devices connected to the home network and operating on the home network.
먼저, 광고(advertise) 과정에서 네트워크 상에 새로 연결되는 피제어 장치는 어드레싱(addressing) 과정에 따라 검색 프로토콜인 DHCP 혹은 Auto IP 기술을 통해 소정의 IP 주소를 할당받고, 이를 통해 네트워크 상의 피제어 장치 및 제어 포인트들에게 자신을 알리는 광고(advertise) 메시지를 멀티캐스트(multicast)하여 자신의 기기를 통해 제공되는 서비스를 알린다.First, a controlled device newly connected to a network in an advertisement process is assigned a predetermined IP address through DHCP or Auto IP technology, which is a search protocol, according to an addressing process. And multicasting an advertisement message informing the control points of the mobile station to inform the service provided through the device.
또한, 상기 피제어 장치에 대한 동작 제어가 가능한 제어 포인트에서는 멀티캐스트로 제공되는 광고(advertise) 메시지를 받아 제어 대상으로 등록한다.In addition, the control point that can control the operation of the controlled device receives an advertisement message provided by multicast and registers it as a control target.
반대로, 디스커버리(discovery) 과정에서 네트워크 사이에 새로 연결되는 제어 포인트는 어드레싱(addressing) 과정에 따라 검색 프로토콜인 DHCP 혹은 Auto IP 기술을 통해 소정의 IP 주소를 할당받고, 이를 통해 네트워크 상에서 동작하는 피제어 장치들을 확인하기 위해 검색 프로토콜인 SSDP 기술에 따라 서치(search) 메시지를 멀티캐스트한다.On the contrary, a control point newly connected between networks in a discovery process is assigned a predetermined IP address through DHCP or Auto IP technology, which is a discovery protocol, according to an addressing process, thereby controlling the controlled point operating on the network. Multicast search messages according to SSDP technology, a search protocol to identify devices.
또한, 제어 포인트로부터 전송되는 서치 메시지를 수신하는 피제어 장치에서는 수신된 서치 메시지에 대한 응답으로 제어 포인트에게 응답메시지(response message)를 유니캐스트(unicast)한다.In addition, the controlled device that receives the search message transmitted from the control point unicasts a response message to the control point in response to the received search message.
도 1b는 디스크립션(description) 과정을 나타낸 것으로, 이 과정은 제어 포인트가 피제어 장치를 제어하기 위해 discovery-advertisment 과정에서 얻어지는 피제어 장치의 IP 주소를 통해 서비스 디스크립션 (service description) XML(Extensible Markup Language) 파일 또는 디바이스 디스크립션(device description) XML 파일을 확인하여 새로 추가된 디바이스의 기능을 보다 상세히 파악하는 과정이다.FIG. 1B illustrates a description process, in which the control point uses an IP address of a controlled device obtained in a discovery-advertisment process in order to control a controlled device. ) The process of checking the function of a newly added device in detail by checking a file or a device description XML file.
즉, 피제어 장치를 제어하고자 하는 제어 포인트가 피제어 장치에게 service description XML 파일 또는 device description XML 파일을 요청하고, 피제어 장치로부터 요청한 description XML 파일(UPnP description for device, UPnP description for service)을 제공받아 파싱(Parsing)한다. That is, a control point that wants to control a controlled device requests a service description XML file or a device description XML file from the controlled device, and provides a description XML file (UPnP description for device, UPnP description for service) requested from the controlled device. Receive and parse.
도 1c는 제어(control) 과정을 나타낸 것으로, 이 과정은 제어 포인트가 피제어 장치를 통해 특정 서비스를 제공하고자 하는 경우, UPnP device architecture에 따라 SOAP를 이용해 소정의 서비스를 요청하는 제어 메시지(action request)를 해당 피제어 장치로 전송하고, 이에 대한 응답 메시지(result, variable value)를 수신한다. FIG. 1C illustrates a control process. In this process, when a control point wants to provide a specific service through a controlled device, a control message for requesting a predetermined service using SOAP according to the UPnP device architecture is shown. ) Is transmitted to the controlled device, and a response message (result, variable value) is received.
이러한 제어 메시지 및 응답 메시지는 addressing 및 discovery-advertisement 과정에서 얻어지는 피제어 장치의 IP 주소를 이용해 송/수신되고, SOAP를 사용하여 XML로 표현된다. The control message and the response message are transmitted / received using the IP address of the controlled device obtained during addressing and discovery-advertisement, and are expressed in XML using SOAP.
도 1d는 이벤트(eventing) 과정을 나타낸 것으로, 이 과정은 제어 포인트로부터 전송되는 제어 명령에 의해 소정의 서비스를 제공한 피제어 장치의 정보변경 상태를 확인하는 과정을 말한다. 즉, 제어 포인트에서 피제어 장치의 정보 변경 상태를 확인하기 위해 서브스크립션을 요청하는 메시지(subscription request)를 피제어 장치에 전송하면, 피제어 장치에서는 변경된 정보를 알리기 위해 GENA(Generic Event Notification Architecture)를 통해 포맷된 XML 형태의 이벤트 메시지(event message)를 송신한다. 제어 포인트에서는 피제어 장치로부터 전송된 이벤트 메시지를 수신하여 피제어 장치에 대한 디스크립션(description) 업데이트 항목으로 처리한다. FIG. 1D illustrates an event process, which refers to a process of confirming an information change state of a controlled device providing a predetermined service by a control command transmitted from a control point. That is, when the control point transmits a subscription request message to the controlled device to confirm the information change state of the controlled device, the controlled device sends a GENA (Generic Event Notification Architecture) to notify the changed information. Send an event message in XML format. The control point receives the event message transmitted from the controlled device and processes it as a description update item for the controlled device.
도 2는 종래의 NAT traversal 시스템의 구성을 나타내는 도면이다. 2 is a diagram showing the configuration of a conventional NAT traversal system.
인터넷 게이트웨이는 하나의 공용 IP 주소를 공유하는 인터넷에 여러 호스트를 연결하기 위한 수단으로 대개 NAT(Network Address Translation)를 제공한다. An Internet gateway usually provides Network Address Translation (NAT) as a means of connecting multiple hosts to the Internet sharing one public IP address.
NAT(Network Address Translation)란 개인 네트워크(10.0.x.x, 192.168.x.x, 172.x.x.x 등의 개인 주소 범위 사용)에서 여러 PC 또는 장치가 전역적으로 라우팅 가능한 단일 IPv4 주소를 공유할 수 있도록 하기 위해 사용되는 IETF(Internet Engineering Task Force) 표준이다. NAT가 많이 사용되고 있는 주된 이유는 IPv4 주소가 별로 남아 있지 않기 때문인데, NAT는 인터넷 게이트웨이 장치에서 사용되고 있으며, 특히, DSL이나 케이블 모뎀을 통한 초고속 네트워크 공유를 위해 사용된다.Network address translation (NAT) is used to allow multiple PCs or devices to share a single, globally routable IPv4 address on a private network (using private address ranges such as 10.0.xx, 192.168.xx, and 172.xxx). Internet Engineering Task Force (IETF) standard. The main reason for the widespread use of NAT is because there are very few IPv4 addresses remaining. NAT is used in Internet gateway devices, especially for high-speed network sharing through DSL or cable modems.
IPv4 주소 부족 문제로 개인 네트워크에서 NAT를 사용할 경우 개인 네트워크 외부의 모든 호스트는 공유된 하나의 IP 주소를 통해 통신을 하기 때문에, 네트워크 계층 문제가 발생할 수 있으며, NAT가 방화벽이나 프록시 서버와 동일한 것은 아니지만 네트워크를 보호하는 역할도 수행한다. When NAT is used in a private network due to lack of IPv4 addresses, all hosts outside the private network communicate through a single shared IP address, which can cause network layer problems, and NAT is not the same as a firewall or proxy server. It also serves to protect the network.
그런데, 이러한 NAT 기술은 많은 종류의 네트워크 응용 프로그램 연결을 지원하지 못하며, 로컬 NAT 디바이스(20)의 존재를 감지할 수 없는 문제가 있었기에, 이를 해결하기 위해 NAT 환경에서 네트워크 응용 프로그램이 로컬 NAT 디바이스(20)의 존재를 감지할 수 있도록 개발된 기술이 NAT Traversal 기술이다. 이 기술은 UPnP 포럼에서 정의되었으며, 인터넷 게이트웨이에 관한 지원을 제공하는 NAT 디바이스(10)를 사용하여 포트 매핑(port mapping)을 수행할 수 있다. However, such a NAT technology does not support the connection of many kinds of network applications, there was a problem that can not detect the existence of the
상기 도 2의 NAT Traversal은 네트워크 인식 응용 프로그램이 NAT 디바이스(10) 뒤에 있다는 사실을 감지하고, 외부 IP 주소를 얻은 후, 포트 매핑을 구성하여 NAT 네트워크의 외부 포트에서 나오는 패킷을 응용 프로그램에서 사용하는 내부 포트로 전달하도록 하는 기능이다. 이 모든 작업은 자동으로 이루어지므로 사용자가 직접 포트 매핑을 구성하거나 다른 메커니즘을 사용할 필요가 없다.The NAT traversal of FIG. 2 detects that the network aware application is behind the
이러한 도 2의 구성은 NAT 디바이스(10)와 로컬 디바이스(20)로 이루어져 있음을 알 수 있다. 상기 NAT 디바이스(10)는 UPnP 포럼의 인터넷 게이트웨이 작업 위원회(Internet Gateway Working Committee)에서 정의한 인터넷 게이트웨이 디바이스(IGD)의 사양을 제공함으로써 NAT traversal을 지원한다. 상기 로컬 디바이스(20)는 NAT 네트워크 내부에 있는 디바이스로서 UPnP를 지원하는 상기 NAT 디바이스(10)에 포트 매핑(port mapping)을 의뢰하여 서비스를 제공하는 디바이스이다. It can be seen that the configuration of FIG. 2 includes a
상기 로컬 디바이스(20)가 상기 NAT 디바이스(10)에 포트 맵핑을 수행하기 위해서는 다음과 같은 과정을 거치게 된다. In order for the
우선, 로컬 디바이스(20)에서 NAT의 존재 여부를 확인하고, NAT의 외부 IP 주소를 얻어온다. 그리고, 매핑되는 경우는 특정 외부 포트에 대한 정적 포트 매핑 정보를 얻어오며, 외부 포트가 이미 할당되지 않은 경우 정적 포트 매핑을 추가하고, 정적 포트 매핑을 삭제한다. 도 2에서 로컬 디바이스(20)는 10.0.0.2, 10.0.0.3, 10.0.0.4 의 내부 IP를 가지고 있는데, 상기 NAT 디바이스(10)를 거치게 되면 157.55.1.10의 외부 IP를 통해 서버(30)로 데이터를 보내고 있음을 알 수 있다. First, the
그런데, 이러한 기술은 다중의 NAT 네트워크에 적용하기 힘들다는 문제가 있다. 또한, UPnP의 기능은 일반 인터넷망으로의 확장은 고려되지 못하고 있으며, 특히 NAT 네트워크를 넘어서는 기기간의 P2P 네트워크가 매우 힘들다는 문제가 있다. However, this technique has a problem that it is difficult to apply to multiple NAT networks. In addition, the function of UPnP is not considered to be extended to the general Internet network, and in particular, there is a problem that a P2P network between devices over a NAT network is very difficult.
본 발명은 상기와 같은 문제점을 해결하기 위해 안출된 것으로서, 상기와 같은 UPnP 상에서의 제약 사항을 넘어 일반 인터넷망 및 NAT 네트워크 환경에서도 기 기간의 P2P 통신이 원활히 이루어 질 수 있도록 하는 UPnP 기능의 확장 시스템 및 방법을 제공한다.The present invention has been made to solve the above problems, beyond the limitations on the UPnP as described above, the extension system of the UPnP function to facilitate the P2P communication of the period even in the general Internet network and NAT network environment And methods.
본 발명의 목적들은 이상에서 언급한 목적들로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The objects of the present invention are not limited to the above-mentioned objects, and other objects that are not mentioned will be clearly understood by those skilled in the art from the following description.
상술한 목적을 달성하기 위한 본 발명에 따른 UPnP 기능의 확장 시스템은, 네트워크 외부에 존재하면서 제어 메시지를 전송하는 제어 포인트; 상기 네트워크 내부에 존재하면서 상기 제어 포인트의 제어를 받는 피제어 장치; 및 상기 네트워크 내부에서 상기 피제어 장치와 접속된 채 상기 제어 포인트와 상기 피제어 장치 사이의 연결을 매개하는 포워딩 장치를 포함한다. An extension system of the UPnP function according to the present invention for achieving the above object is a control point that exists outside the network and transmits a control message; A controlled device existing within the network and controlled by the control point; And a forwarding device that is connected to the controlled device within the network and mediates a connection between the control point and the controlled device.
또한, 상술한 목적을 달성하기 위한 본 발명에 따른 UPnP 기능의 확장 방법은, 네트워크에 접속된 피제어 장치가 광고 메시지를 전송하는 단계; 상기 광고 메시지를 수신한 포워딩 장치가 상기 광고 메시지를 네트워크 외부에 존재하는 제어 포인트에게 포워딩하는 단계; 및 상기 포워딩받은 제어 포인트가 상기 광고 메시지에 따른 피제어 장치의 서비스를 등록하는 단계를 포함한다. In addition, the method for extending the UPnP function according to the present invention for achieving the above object, the control device connected to the network transmitting the advertising message; Forwarding, by the forwarding device receiving the advertisement message, the advertisement message to a control point existing outside the network; And registering, by the forwarded control point, a service of the controlled device according to the advertisement message.
또한, 상술한 목적을 달성하기 위한 본 발명에 따른 UPnP 기능의 확장 방법은, 네트워크 외부에 존재하는 제어 포인트에 포워딩 장치가 접속하는 제 1 단계; 상기 포워딩 장치가 상기 제어 포인트로부터 제어 메시지(action request)를 수신하는 제 2 단계; 상기 수신한 제어 메시지를 상기 네트워크에 접속되어 있는 피제어 장치에 포워딩하는 제 3 단계를 포함한다.
또한, 상술한 목적을 달성하기 위한 본 발명에 따른 포워딩 장치는, 네트워크 외부에 존재하는 제어 포인트에 접속하는 접속부; 상기 제어 포인트로부터 제어 메시지(action request)를 수신하는 수신부; 상기 수신한 제어 메시지를 상기 네트워크에 접속되어 있는 피제어 장치에 포워딩하는 포워딩부를 포함한다. In addition, the method for extending the UPnP function according to the present invention for achieving the above object comprises a first step of connecting the forwarding device to a control point existing outside the network; A second step of the forwarding device receiving an action request from the control point; And forwarding the received control message to a controlled device connected to the network.
In addition, the forwarding device according to the present invention for achieving the above object, the connection portion for connecting to a control point existing outside the network; A receiver which receives an action request from the control point; And a forwarding unit configured to forward the received control message to a controlled device connected to the network.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.Specific details of other embodiments are included in the detailed description and the drawings. Advantages and features of the present invention and methods for achieving them will be apparent with reference to the embodiments described below in detail with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but can be implemented in various different forms, and only the embodiments make the disclosure of the present invention complete, and the general knowledge in the art to which the present invention belongs. It is provided to fully inform the person having the scope of the invention, which is defined only by the scope of the claims. Like reference numerals refer to like elements throughout.
이하, 본 발명의 바람직한 실시예에 대해 첨부된 도면을 참조하여 보다 상세히 설명한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 3a는 본 발명의 일실시예에 따른 UPnP 기능의 확장 시스템의 개념을 나타내는 도면이고, 도 3b는 본 발명의 일실시예에 따른 UPnP 기능의 확장 시스템의 구성을 나타내는 도면이다. 3A is a diagram illustrating a concept of an extension system of UPnP function according to an embodiment of the present invention, and FIG. 3B is a diagram illustrating a configuration of an extension system of UPnP function according to an embodiment of the present invention.
도 3a는 가정 내에서 UPnP 디바이스가 IP 공유기 및 DSL 모뎀을 통해 외부의 제어 포인트와 인터넷망을 통해 연결되고 있는 것을 개념적으로 보이고 있으며, 이를 도식적으로 나타낸 그림이 도 3b이다. 도 3b는 포워딩 장치(100), 피제어 장치(300) 및 제어 포인트(200)로 구성되어 있으며, 상기 포워딩 장치(100)와 피제어 장치(300)는 UPnP 디바이스를 구성하고 있으며, 이러한 UPnP 디바이스는 NAT 네트워크 내부에 있다고 가정한다.FIG. 3a conceptually illustrates that a UPnP device is connected to an external control point and an internet network through an IP router and a DSL modem in a home, and FIG. 3b schematically illustrates this. FIG. 3B includes a
상기 제어 포인트(200)는, NAT 네트워크 외부에 존재하면서 피제어 장치(300)에 메시지를 전송하는 역할을 하며, 상기 피제어 장치(300)는 상기 NAT 네트워크 내부에 존재하면서 상기 제어 포인트(200)의 메시지를 상기 포워딩 장치(100)의 전달에 의해 수신한다. The
그리고, 상기 포워딩 장치(100)는, 상기 피제어 장치(300)와 접속된 채 UPnP 네트워크 외부의 제어 포인트(200)와 상기 피제어 장치(300) 사이의 연결을 매개하는 역할을 한다. 즉, NAT 네트워크 외부에 제어 포인트(200)가 존재할 경우에 외부에서 내부의 피제어 장치들을 제어하기 위해선 NAT 네트워크가 장애가 되는데, 상기 포워딩 장치(100)가 HTTP 프로토콜을 이용하여 NAT 네트워크를 뚫어 상기 제어 포인트(200)와 상기 피제어 장치(300)의 메시지 송수신을 매개하는 것이다. In addition, the
구체적으로는, 상기 포워딩 장치(100)는 검색 과정에서 상기 피제어 장치(300)의 광고(advertise) 메시지를 제어 포인트(200)에게 포워딩하며, 제어 과정에서는 상기 제어 포인트(200)로부터 제어 메시지(action request)를 수신하여 상기 피제어 장치(300)에 포워딩한다. 또한, 상기 포워딩 장치(100)는, 상기 피제어 장치(300)로부터 수신된 응답(response) 메시지를 상기 제어 포인트(200)에 포워딩한다. 그리고, 소정 주기에 따라 일정 간격으로 상기 제어 포인트(200)에 접속하여 상기 제어 포인트(200)에 제어 메시지가 보류되어 있는지 여부를 판단하고 보류되어 있는 명령 메시지가 있는 경우에는 그 메시지를 수신하여 상기 피제어 장치 (300)에 포워딩한다. 즉, 상기 포워딩 장치(100)는 상기 제어 포인트(200)에 정기적으로 접속하여 보류된 메시지의 존재를 판단하는 폴링 방식을 이용한다. Specifically, the
도 4는 본 발명의 일실시예에 따른 UPnP 기능의 확장 방법 중 검색(Discovery) 과정을 나타내는 도면이다.4 is a diagram illustrating a discovery process of a method for expanding a UPnP function according to an embodiment of the present invention.
UPnP의 검색(Discovery) 과정은 로컬 네트워크에서만 작용하며, NAT 네트워크 환경이나 일반 인터넷 환경에선 작용되지 않는데, 그 이유는 다음과 같다. 도 1a에서 보는 바와 같이, 검색 과정에서 피제어 장치와 제어 포인트(control point)는 각각 광고(advertise) 메시지와 검색(discovery) 메시지를 멀티캐스트(Multicast)하게 되는데, 이 때 사용하는 멀티캐스트 프로토콜은 네트워크의 혼잡도(congestion)을 줄이기 위해서 IP 패킷의 TTL값을 기본으로 4로 맞추게 된다. 즉, 이 때는 라우터를 4개 이상 통과할 수 없게 된다는 것이다. 또한, 멀티 라우터를 통과하기 위해서는 피제어 장치(300)나 제어 포인트(200)가 IGMP를 사용해야 하는데, 이것은 라우터가 멀티캐스트 메시지를 포워딩해야 한다는 것을 뜻한다. 그러나, 현실적으로 UPnP 디바이스가 사용되는 모든 인터넷 환경에서 라우터가 멀티캐스트 메시지를 포워딩하도록 구성되어 있다는 가정을 할 수는 없다. 그러므로, UPnP의 검색(discovery) 과정에서 제어 포인트가 외부에 있는 경우 피제어 장치가 외부 인터넷망에 연결되기 위해서는 본 발명의 실시예와 같은 포워딩 장치(100)가 필요하게 되는데, 이러한 포워딩 장치(100)를 이용하면, 검색(Discovery) 기능의 확장을 이룰 수 있는 것이다. The discovery process of UPnP works only in the local network and not in the NAT network environment or the general Internet environment, for the following reasons. As shown in FIG. 1A, the controlled device and the control point multicast the advertisement message and the discovery message, respectively, in the discovery process. To reduce congestion in the network, the TTL value of the IP packet is set to 4 by default. In other words, you can't go through more than four routers. In addition, the controlled
도 4의 순서에 따라 설명하면, 우선 네트워크에 접속된 피제어 장치(300)가 광고(advertise) 메시지를 외부의 제어 포인트(200)를 향해 전송한다(S402). 그러나, NAT 망에 의해 차단되므로 본 발명에서는 상기 포워딩 장치(100)가 광고(advertise) 메시지를 수신하며, 상기 광고(advertise) 메시지를 수신한 포워딩 장치(100)가 상기 광고(advertise) 메시지를 제어 포인트(200)에게 포워딩한다(S404). 이를 포워딩받은 제어 포인트(200)가 상기 광고(advertise) 메시지에 따라 피제어 장치(300)의 서비스를 등록한다(S406). 그 이후의 과정은 일반적인 UPnP의 과정을 따르게 된다. 즉, 본 발명에서의 검색(discovery) 과정은 NAT 망의 방화벽 역할로 인해 제어 포인트(200)와 피제어 장치(300)의 광고(advertise) 과 discovery 과정을 포워딩 장치(100)가 대신 수행한다고 볼 수 있다. 4, the controlled
즉, 인터넷망이나 NAT 네트워크 하에서의 검색(Discovery)과정에서 광고(advertise) 메시지와 검색(discovery) 메시지는 제어 포인트(200)와 피제어 장치(300) 서로에게 전송될 수 없는 상태에 있게 된다. 이는 멀티캐스트(Multicast) 프로토콜을 사용함으로써 생기는 것으로 이를 해결하기 위하여 상기 포워딩 장치(100)가 TCP/IP를 이용하여 직접 제어 포인트(200)에 접속하고 피제어 장치(300)의 광고(advertise) 메시지를 전송함으로써 해결하게 된다.That is, in the discovery process under the Internet network or NAT network, the advertisement message and the discovery message are in a state in which the
한편, 도 5는 본 발명의 일실시예에 따른 UPnP 기능의 확장 방법 중 제어(Control) 과정을 나타내는 도면이다. On the other hand, Figure 5 is a view showing a control process of the expansion method of the UPnP function according to an embodiment of the present invention.
제어(Control) 과정은 검색(Discovery) 과정과 달리 일반 인터넷망에서도 수행될 수 있지만 NAT 네트워크에서는 적용될 수 없는데 그 이유는 다음과 같다. Unlike the discovery process, the control process can be performed in general internet network, but it can't be applied in NAT network.
제어 과정은 제어 포인트(200)에서 피제어 장치(300)로 제어 메시지(action request message)를 먼저 보내도록 되어 있다. 그러나, 이 과정에서 피제어 장치(300)가 NAT 환경 하에 존재하게 되면 NAT 망이 방화벽(Firewall)의 기능을 수행하게 되어 제어 메시지(action request message)를 수신할 수 없게 된다. 그러므로, NAT 환경 하에서 UPnP의 제어 과정은 본 발명과 같은 포워딩 장치를 필요로 하는 것이다. In the control process, the
본 발명에서의 제어 과정을 도 5를 참조하여 설명하면, 상기 포워딩 장치(100)가 상기 제어 포인트(200)에 접속하고(S502), 상기 제어 포인트(200)가 제어 메시지(action request)를 송신하면 상기 포워딩 장치(100)가 이를 수신한다(S504). 그리고, 상기 수신한 제어 메시지를 상기 피제어 장치(300)에 포워딩하며(S506), 상기 제어 메시지에 따라 상기 피제어 장치(300)는 동작을 수행한 후 응답(Response) 메시지를 발신하며 상기 포워딩 장치(100)가 이를 수신하게 된다(S508). 상기 수신된 응답 메시지를 상기 제어 포인트(200)에 포워딩한다(S510). 또한, 상기 제어 포인트(200)에 보류된 제어 메시지가 있는지 일정 주기로 접속하여 판단하고(폴링 방식) 판단 결과, 보류된 제어 메시지가 있는 경우는 제 2 단계부터 다시 수행하고, 보류된 제어 메시지가 없는 경우는 접속을 해제하는 단계가 더 추가된다. The control process in the present invention will be described with reference to FIG. 5, wherein the
결론적으로, NAT 환경 하에서 제어(Control) 과정이 확장된다고 볼 수 있는데, NAT 환경 하에서 상기 피제어 장치(300)는 상기 제어 포인트(200)로부터 오는 제어 메시지(action request message)를 받을 수 없게 되고, 이 제어 메시지(action request message)를 받기 위해서 상기 포워딩 장치(100)는 상기 제어 포인 트(200)에 TCP/IP를 이용하여 접속하고 그 접속을 통해서 상기 제어 포인트(200)가 상기 피제어 장치(300)에게 제어 메시지(action request message)를 보낼 수 있도록 한다. 그 이후의 과정은 상기 포워딩 장치(100)가 양쪽에서 오는 메시지를 재전송함으로서 수행하는 것이다. In conclusion, it can be seen that the control process is extended in a NAT environment. Under the NAT environment, the controlled
본 발명의 실시예는 인터넷 및 NAT 환경에서 검색(Discovery)및 제어(control) 과정을 수행할 수 있도록 포워딩 장치(100)를 사용함으로써, 검색(Discovery) 기능과 제어(control) 기능을 확장시키는 것이라 볼 수 있다. An embodiment of the present invention is to extend the discovery function and the control function by using the
이상 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 벗어나지 않는 범위 내에서 여러 가지로 치환, 변형 및 변경이 가능하므로 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.Although embodiments of the present invention have been described above with reference to the accompanying drawings, those skilled in the art to which the present invention pertains have various permutations, modifications, and modifications without departing from the spirit or essential features of the present invention. It is to be understood that modifications may be made and other embodiments may be embodied. Therefore, it should be understood that the embodiments described above are exemplary in all respects and not restrictive.
본 발명에 따를 경우, UPnP의 기능을 일반 인터넷망으로 확장할 수 있고, 또한 현재의 일반적인 홈 네트워크 환경인 NAT환경에서 UPnP의 기능을 지원할 수 있게 된다. 이를 통해서 UPnP 디바이스는 보다 확장성있고 다양한 서비스를 제공할 수 있게 된다. According to the present invention, it is possible to extend the function of UPnP to a general Internet network, and also to support the function of UPnP in a NAT environment which is a current general home network environment. This allows UPnP devices to provide more scalable and diverse services.
본 발명의 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 청구범위의 기재로부터 당업자에게 명확하게 이해될 수 있 을 것이다.Effects of the present invention are not limited to the above-mentioned effects, and other effects not mentioned will be clearly understood by those skilled in the art from the description of the claims.
Claims (11)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US68587205A | 2005-06-01 | 2005-06-01 | |
US60/685,872 | 2005-06-01 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20060125440A KR20060125440A (en) | 2006-12-06 |
KR100736037B1 true KR100736037B1 (en) | 2007-07-06 |
Family
ID=37729853
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020050053679A KR100736037B1 (en) | 2005-06-01 | 2005-06-21 | SYSTEM AND METHOD FOR EXPANDING UPnP FUNTION |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100736037B1 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100888478B1 (en) * | 2007-03-08 | 2009-03-12 | 삼성전자주식회사 | Method of Processing Action, Method of Controlling Controlled Device, Controlled Device and Control Point |
KR100953093B1 (en) | 2007-12-10 | 2010-04-19 | 한국전자통신연구원 | Method and system for serving multi-media data through hetero upnp networks |
US8126001B2 (en) | 2008-12-01 | 2012-02-28 | Electronic And Telecommunications Research Institute | Method and apparatus for multicasting contents between devices in networks |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20030055766A (en) * | 2001-12-27 | 2003-07-04 | 한국전자통신연구원 | Apparatus and method for controlling devices in private network from public network |
KR20030089126A (en) * | 2002-05-16 | 2003-11-21 | 한국전자통신연구원 | A Method and Apparatus of Management and Control of UPnP Device in Home Network from the Internet |
KR20040055447A (en) * | 2002-12-21 | 2004-06-26 | 엘지전자 주식회사 | Control point function destribution system on universal plug and play network |
-
2005
- 2005-06-21 KR KR1020050053679A patent/KR100736037B1/en not_active IP Right Cessation
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20030055766A (en) * | 2001-12-27 | 2003-07-04 | 한국전자통신연구원 | Apparatus and method for controlling devices in private network from public network |
KR20030089126A (en) * | 2002-05-16 | 2003-11-21 | 한국전자통신연구원 | A Method and Apparatus of Management and Control of UPnP Device in Home Network from the Internet |
KR20040055447A (en) * | 2002-12-21 | 2004-06-26 | 엘지전자 주식회사 | Control point function destribution system on universal plug and play network |
Also Published As
Publication number | Publication date |
---|---|
KR20060125440A (en) | 2006-12-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7366188B2 (en) | Gateway for supporting communications between network devices of different private networks | |
US10091048B2 (en) | Method and apparatus for resolving IP address collision in remote access service | |
US7921194B2 (en) | Method and system for remote access to universal plug and play devices | |
EP1625726B1 (en) | Universal plug-and-play (upnp) mirroring device | |
EP2291979B1 (en) | Remote access between upnp devices | |
US8050282B2 (en) | Universal plug and play device and method of resolving network address conflict by considering remote access | |
CN106254407B (en) | Method and device for sharing home network service | |
JP2007513403A (en) | Discovering bandwidth savings for dual stack UPnP devices | |
US9531561B2 (en) | Apparatus and method for extending network area | |
US10404485B2 (en) | Method and apparatus for restricting disclosure of network information during remote access service | |
Venkitaraman | Wide-area media sharing with UPnP/DLNA | |
KR100736037B1 (en) | SYSTEM AND METHOD FOR EXPANDING UPnP FUNTION | |
WO2009154249A1 (en) | Remote access system, device, method and program | |
KR20040067885A (en) | Gateway for supporting communication between network devices of different private networks | |
KR101996588B1 (en) | Network bridge apparatus and control method thereof to support arp protocols | |
KR101614548B1 (en) | Method and apparatus for preventing ip address conflict in remote access service | |
Ogawa et al. | Transparent UPnP interactions over global network | |
KR101394609B1 (en) | Control point and home gateway for receiving event provided from device in remote place | |
KR20050035038A (en) | Method for setting internet protocol address for network based universal plug and play | |
JP3808471B2 (en) | Network and router apparatus and address notification method used therefor | |
KR20050055134A (en) | Apparatus, system and method for forwarding byebye message in place of cd using the upnp network management information | |
KR20170084626A (en) | Screen apparatus for providing multi-screen using NAT, NAT and method for network address translation | |
EP2404408B1 (en) | Method and apparatus for restricting disclosure of network information during remote access service | |
Nakamura et al. | Caching method to increase the speed of UPnP gateway | |
KR20040066337A (en) | Control point function destribution system on universal plug and play network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
G170 | Publication of correction | ||
FPAY | Annual fee payment |
Payment date: 20130530 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20140529 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20150528 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20160530 Year of fee payment: 10 |
|
LAPS | Lapse due to unpaid annual fee |