KR20100033861A - Data communication system and method in universal plug and play network - Google Patents
Data communication system and method in universal plug and play network Download PDFInfo
- Publication number
- KR20100033861A KR20100033861A KR1020080092926A KR20080092926A KR20100033861A KR 20100033861 A KR20100033861 A KR 20100033861A KR 1020080092926 A KR1020080092926 A KR 1020080092926A KR 20080092926 A KR20080092926 A KR 20080092926A KR 20100033861 A KR20100033861 A KR 20100033861A
- Authority
- KR
- South Korea
- Prior art keywords
- controller
- message
- event
- event message
- control command
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/02—Standardisation; Integration
- H04L41/0246—Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols
- H04L41/0273—Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols using web services for network management, e.g. simple object access protocol [SOAP]
-
- 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]
Abstract
Description
본 발명은 UPnP 네트워크에서의 데이터 통신 시스템 및 방법에 관한 것으로, 특히 UPnP 네트워크상에서 컴포넌트 간에 UPnP 미들웨어를 이용하여 데이터 통신을 수행하는 UPnP 네트워크에서의 데이터 통신 시스템 및 방법에 관한 것이다.The present invention relates to a data communication system and method in a UPnP network, and more particularly, to a data communication system and method in a UPnP network for performing data communication using UPnP middleware between components on a UPnP network.
일반적으로, UPnP(Universal Plug and Play)는 기존의 컴퓨터 시스템에 존재하던 PnP(Plug and Play) 기술을 네트워크를 기반으로 한 동적 서비스 연동 기술로 확장한 미들웨어이다.In general, UPnP (Universal Plug and Play) is middleware that extends Plug and Play (PnP) technology existing in existing computer systems into a dynamic service interworking technology based on a network.
UPnP 미들웨어를 지원하는 컴포넌트는 제어의 주체가 될 수 있는지 여부에 따라 제어기(Control Point)와 피제어기(Controlled Device)로 구분된다. 제어기는 다른 기기를 검색하거나 제어하며 피제어기는 제어기의 명령에 따라 자신이 제공하는 서비스를 수행한다.Components supporting UPnP middleware are classified into a control point and a controlled device according to whether they can be the subject of control. The controller searches or controls other devices, and the controller performs a service provided by the controller according to a command of the controller.
UPnP 미들웨어는 네트워크에 존재하는 제어기에서 피제어기가 제공하는 서비 스를 자동으로 발견하고 사용할 수 있도록 하는 동적 분산 컴퓨팅 환경을 지원한다.UPnP middleware supports a dynamic distributed computing environment that enables the controllers on the network to automatically discover and use the services provided by the control.
이러한, UPnP 미들웨어는 어드레싱(Addressing), 디스커버리(Discovery), 디스크립션(Description), 컨트롤(Control), 이벤팅(Eventing) 및 프레젠테이션(Presentation) 과정을 포함하는 네트워킹을 수행한다.The UPnP middleware performs networking including addressing, discovery, description, control, eventing, and presentation.
어드레싱 과정은 컴포넌트들이 UPnP 네트워크에 처음 접속할 때, DHCP(Dynamic Host Configuration Protocol) 서버를 검색하여 서버로부터 IP(Internet Protocol) 주소를 할당받거나, DHCP 서버가 운영되지 않는 경우, 자동 IP 지정 기능(이하, 'Auto IP'라 함)에 의해 일정 범위 내에서 IP 주소를 자동으로 선택하여 확보하는 과정을 말한다.The addressing process searches for a Dynamic Host Configuration Protocol (DHCP) server when components first connect to the UPnP network and receives an IP (Internet Protocol) address from the server, or if the DHCP server is not operated, 'Auto IP') refers to the process of automatically selecting and securing an IP address within a certain range.
이와 같이, DHCP 서버에 의하여 할당되거나 Auto IP에 의해 선택된 IP 주소를 사용하는 컴포넌트들은 TCP(Transmission Control Protocol)/IP을 통해 네트워크상의 다른 컴포넌트들과 통신하되, IP 주소를 통해 네트워크상에서 다른 컴포넌트들을 검색 및 조회할 수 있다.As such, components using an IP address assigned by a DHCP server or selected by Auto IP communicate with other components on the network via Transmission Control Protocol (TCP) / IP, while searching for other components on the network via the IP address. And can be queried.
디스커버리 과정은 피제어기가 UPnP 네트워크에 처음 접속하여 UPnP 네트워크상에서 동작하는 피제어기 및 제어기들에게 자신을 알리는 애드버타이징 단계와, 제어기가 UPnP 네트워크에 처음 접속하여 UPnP 네트워크상에서 동작하는 피제어기를 검색하는 검색 단계로 구분할 수 있다.The discovery process includes an advertising step in which the controller first connects to the UPnP network and informs the controller and controllers operating on the UPnP network, and the controller detects the controller operating on the UPnP network by first connecting to the UPnP network. Can be divided into a search step.
애드버타이징 단계에서 UPnP 네트워크에 처음 접속하여 어드레싱 과정을 통해 소정의 IP 주소를 확보한 피제어기는 네트워크상에 먼저 접속되어 있는 피제어 기 및 제어기들에게 자신을 알리는 애드버타이징 메시지를 멀티캐스트(Multicast)하여 자신의 접속을 알린다. 이에, 피제어기의 동작 제어가 가능한 제어기에서는 멀티캐스트로 제공되는 애드버타이징 메시지를 수신하여 해당 피제어기를 제어 대상으로 등록한다.In the advertising stage, the first controllable user who accesses the UPnP network and obtains a predetermined IP address through the addressing process receives an advertising message that informs the controlled controllers and controllers connected to the network first. Multicast to announce your connection. Accordingly, the controller capable of controlling the operation of the controlled controller receives the advertising message provided by the multicast and registers the controlled controller as the control target.
한편, 검색 단계에서 UPnP 네트워크상에 처음 접속된 제어기는 어드레싱 과정을 통해 소정의 IP 주소를 확보하고, 네트워크상에서 동작하는 피제어기들을 확인하기 위해 SSDP(Simpling Stochastic Dynamic Programming)을 이용하여 검색 메시지를 멀티캐스트한다. 이에, 제어기로부터 전송되는 검색 메시지를 수신한 피제어기에서는 수신된 검색 메시지에 대한 응답으로 응답 메시지를 제어기로 유니캐스트(Unicast)한다.On the other hand, the controller connected to the UPnP network for the first time in the retrieval phase acquires a predetermined IP address through the addressing process and multiplies the retrieval message by using Simpling Stochastic Dynamic Programming (SSDP) to identify the controlled controllers operating on the network. Cast Accordingly, the control unit receiving the search message transmitted from the controller unicasts the response message to the controller in response to the received search message.
디스크립션 과정은 제어기가 피제어기에서 제공하는 서비스를 인식하기 위해 피제어기의 IP 주소를 통해 기기 명세 파일(서비스 디스크립션 XML 파일 또는 디바이스 디스크립션 XML 파일)을 요청하여 피제어기로부터 기기 명세 파일을 제공받는 과정을 말한다.In the description process, the controller requests a device specification file (service description XML file or device description XML file) through the controller's IP address to recognize the service provided by the controller, and receives the device specification file from the controller. Say.
컨트롤 과정은 제어기가 디스크립션 과정을 통해 피제어기로부터 제공되는 기기 명세 파일을 분석하여 피제어기에서 제공하는 서비스를 인식한 후, 피제어기를 통해 서비스를 실행시키기 위해, 피제어기에서 제공하는 서비스 실행을 요청하는 제어 명령(Action) 메시지를 피제어기로 전송하고, 해당 제어 명령 메시지를 수신한 피제어기로부터 제어 응답 메시지를 수신함으로써, 피제어기를 제어하는 과정을 말한다. 여기서, 제어 명령 메시지 및 제어 응답 메시지는 SOAP(Simple Object Access Protocol)를 통해 XML로 표현된다.In the control process, the controller analyzes the device specification file provided from the controller through the description process, recognizes the service provided by the controller, and then executes the service provided by the controller to execute the service through the controller. A control command is transmitted by transmitting a control command message to a controller and receiving a control response message from the controller receiving the control command message. Here, the control command message and the control response message are expressed in XML through the Simple Object Access Protocol (SOAP).
이벤팅 과정은 제어기로부터 전달되는 제어 명령 메시지에 의해 소정의 서비스를 제공한 피제어기의 이벤트 발생 여부 즉, 상태 변화 여부를 확인하는 과정을 말한다. 이때, 제어기에서 피제어기의 상태 변화를 확인하기 위해 서브스크립션을 요청하는 메시지를 피제어기로 전송하면, 피제어기에서는 상태 변화를 알리기 위해 GENA(Generic Event Notification Architecture)를 이용하여 텍스트 형태의 이벤트 메시지를 제어기로 전송한다.The eventing process refers to a process of checking whether or not an event occurs, that is, a state change, of a controlled controller providing a predetermined service by a control command message transmitted from a controller. At this time, when the controller transmits a message requesting a subscription to the controller to confirm the state change of the controller, the controller uses GENA (Generic Event Notification Architecture) to inform the controller of the state. Send to the controller.
프레젠테이션 과정은 제어기에서 피제어기의 HTML 페이지를 읽어들이는 과정을 말한다. 여기서, HTML 페이지는 기기를 제어할 수 있는 사용자 인터페이스를 제공하며, 제공된 사용자 인터페이스를 통해 제어되는 기기의 상태를 보여준다.The presentation process refers to the process of reading the HTML page of the controller from the controller. Here, the HTML page provides a user interface for controlling the device and shows the state of the device controlled through the provided user interface.
즉, 컨트롤 과정에서는 제어기 및 피제어기 간에 SOAP을 이용하여 제어 명령 메시지 및 제어 응답 메시지와 같은 제어 관련 메시지를 송수신하는 특징이 있으며, 이벤팅 과정에서는 피제어기가 GENA를 이용하여 이벤트 메시지를 제어기로 전송하는 특징이 있다. 여기서, GENA는 기기 간의 이벤트 메시지 교환을 위해서 사용되며, SOAP은 XML을 이용하여 기기에 제어 명령 등을 전달할 때 사용되는 프로토콜이다.That is, in the control process, a control-related message such as a control command message and a control response message may be transmitted and received between the controller and the controller through the SOAP.In the event of the event, the controller transmits an event message to the controller using GENA. There is a characteristic to. Here, GENA is used to exchange event messages between devices, and SOAP is a protocol used to transmit control commands to devices using XML.
이러한, UPnP는 제어 네트워크를 주요 대상으로 하여 개발된 미들웨어로서, UPnP 미들웨어의 SOAP 등과 같은 프로토콜을 이용하여 네트워크를 구성하는 컴포넌트 간에 소용량 데이터로 이루어진 제어 관련 메시지의 교환을 주요 목적으로 한다.The UPnP is a middleware developed mainly for a control network. The main purpose of the UPnP is to exchange control-related messages composed of small amounts of data between components constituting the network using a protocol such as SOAP of the UPnP middleware.
또한, 대용량 데이터 교환이 필요한 홈 네트워크에서는 사용자의 선택에 따라, 제어 관련 메시지 교환시 UPnP 미들웨어의 프로토콜을 이용하며, 대용량 데이터 교환시 별개의 프로토콜을 이용할 수 있는 UPnP AV 방식과 같은 다중 프로토콜 방식을 적용하고 있다. 하지만, 다중 프로토콜 방식은 사용자에게 선택의 자유를 주는 장점이 있는 반면에, 데이터의 용량에 따라 적합한 프로토콜을 사용자가 일일이 선택해야 하는 등 번거로운 단점이 있어, 로봇 시스템 등에 적용될 경우에는, 사용자가 로봇 시스템을 구성하는 컴포넌트마다 일일이 직접 접근하기에 곤란하므로, 사용자의 불편함만을 가중시키게 된다.In addition, the home network that needs large data exchange uses UPnP middleware protocol when exchanging control-related messages according to user's choice, and adopts multi-protocol method such as UPnP AV which can use separate protocol for large data exchange. Doing. However, while the multi-protocol method has the advantage of giving the user freedom of choice, there is a disadvantage in that the user has to select a suitable protocol according to the capacity of the data. Since it is difficult to directly access each component constituting the component, it only increases the inconvenience of the user.
따라서, 오늘날에는 홈 네트워크 및 로봇 시스템뿐만 아니라 다양한 네트워크 시스템에 적용할 수 있는 UPnP 미들웨어의 프로토콜을 이용한 컴포넌트 간의 대용량 데이터 통신 방식이 필요하다.Therefore, there is a need for a large-scale data communication method between components using a protocol of UPnP middleware that can be applied to not only home networks and robot systems but also various network systems.
그러나, 종래에는 UPnP 미들웨어를 이용하여 컨트롤 과정을 수행하는 경우, 제어기 및 피제어기 간에 SOAP을 이용하여 제어 명령 메시지 및 제어 응답 메시지를 송수신해야 하기 때문에, 대용량의 이진 데이터를 첨부하는 경우에도 base 64 인코딩을 기반으로 한 첨부 방식을 이용해야 하므로, 실제 전송되는 데이터의 크기가 원본 데이터 크기에 비해 33% 증가하여, 이로 인해 데이터를 처리하기 위한 네트워크상의 시스템 리소스가 더욱 증가하고, 데이터 전송 처리 시간이 매우 늦어지는 등의 문제점이 있다.However, conventionally, when performing a control process using UPnP middleware, a control command message and a control response message must be transmitted and received between the controller and the controlled device using SOAP. Thus, even when a large amount of binary data is attached, base 64 encoding is performed. Because of the attachment method based on the system, the size of the actual data is increased by 33% compared to the original data size, which increases the system resources on the network to process the data and the data transmission processing time very much. There are problems such as being late.
또한, UPnP 미들웨어를 이용하여 이벤팅 과정을 수행하는 경우, 피제어기가 GENA를 사용하여 이벤트 메시지를 다수의 제어기로 전송하게 되는데, GENA는 텍스 트 형태의 데이터 전송만을 지원하기 때문에 이진 데이터를 전송할 수 없어, 이벤트 메시지를 간소화하여 간편하게 전송할 수 없는 문제점이 있다.In addition, when the event is performed using the UPnP middleware, the controller transmits an event message to a plurality of controllers using GENA. Since GENA only supports text data transmission, binary data can be transmitted. There is a problem that can not be simply transmitted by simplifying the event message.
더욱이, 피제어기가 전송하는 이벤트 메시지는 UPnP 네트워크에 접속된 모든 제어기들에게 멀티캐스트 방식으로만 전송되기 때문에, 네트워크 트래픽, 네트워크상의 시스템 리소스 및 데이터 보안 관리 측면에서 비효율적인 문제점이 있다.Furthermore, since the event message transmitted by the controlled controller is transmitted only in a multicast manner to all controllers connected to the UPnP network, there is an inefficient problem in terms of network traffic, system resource on the network, and data security management.
본 발명은 전술한 바와 같은 본 발명의 문제점을 해결하기 위해 안출된 것으로, UPnP 네트워크상에서 컴포넌트 간에 컨트롤 과정 수행시 대용량 데이터 통신이 필요한 경우에, MTOM(Message Transmission Opimization Mechanism)을 적용하여 통신을 수행함으로써, 적은 네트워크 트래픽을 사용하면서 대용량의 데이터를 고속으로 전송할 수 있도록 하는 UPnP 네트워크에서의 데이터 통신 시스템 및 방법을 제공하는데, 그 목적이 있다.The present invention has been made to solve the problems of the present invention as described above, when a large data communication is required when performing a control process between components on the UPnP network, by performing the communication by applying the MTOM (Message Transmission Opimization Mechanism) It is an object of the present invention to provide a data communication system and method in a UPnP network that can transmit a large amount of data at high speed while using less network traffic.
또한, 본 발명은 UPnP 네트워크상에서 컴포넌트 간에 GENA를 이용한 이벤트 메시지 통신시에는 통신하려는 이벤트 메시지가 이진 데이터인 경우에, base 64 인코딩 기법을 적용하여 이벤트 메시지를 이진 데이터화하여 전송함으로써, 이벤트 메시지 통신의 효율성을 증진시킬 수 있도록 하는데, 그 목적이 있다.In addition, the present invention, when the event message to be communicated using the GENA between components in the UPnP network is binary data, by applying a base 64 encoding technique to transmit the event message to the binary data, the efficiency of event message communication Its purpose is to increase the level of publicity.
또한, 본 발명은 UPnP 네트워크상에서 컴포넌트 간에 GENA를 이용한 이벤트 메시지 통신시, 멀티캐스트 전송 방식뿐만 아니라, 유니캐스트 전송 방식을 지원함으로써, 네트워크 트래픽, 시스템 리소스 및 보안 관리 측면에서 효율성을 증진시킬 수 있도록 하는데, 그 목적이 있다.In addition, the present invention supports the unicast transmission method as well as the multicast transmission method for event message communication using GENA between components in a UPnP network, thereby improving efficiency in terms of network traffic, system resource and security management. , Its purpose is.
전술한 바와 같은 목적을 달성하기 위한 본 발명의 일 실시예에 따른 UPnP 네트워크에서의 데이터 통신 시스템은, UPnP 기반의 유무선 통신을 수행하는 통신 망과; 상기 통신망에 접속하여 어드레싱, 디스커버리 및 디스크립션 과정을 수행한 후, 컨트롤 과정을 수행하는 경우에, 제어 명령 메시지를 생성하고, 생성된 제어 명령 메시지의 데이터 용량 크기에 따라에 따라 제어 명령 메시지를 MTOM 인코딩 또는 SOAP 인코딩하여 상기 통신망으로 전송하는 제어기와; 상기 통신망을 통해 상기 제어기로부터 제어 명령 메시지를 수신하고, 수신된 제어 명령 메시지의 인코딩 형태에 따라, 수신된 제어 명령 메시지를 MTOM 디코딩 또는 SOAP 디코딩하고, 디코딩된 제어 명령 메시지에 의거하여 서비스를 실행하는 피제어기를 포함하여 이루어지는 것이 바람직하다.According to an aspect of the present invention, there is provided a data communication system in a UPnP network, including: a communication network performing UPnP-based wired and wireless communication; After accessing the communication network and performing an addressing, discovery and description process, when performing a control process, a control command message is generated, and MTOM encoding of the control command message according to the data capacity of the generated control command message is performed. Or a controller for SOAP encoding and transmitting to the communication network; Receiving a control command message from the controller through the communication network, MTOM decoding or SOAP decoding the received control command message according to the encoding type of the received control command message, and executing a service based on the decoded control command message It is preferable to include a controlled group.
또한, 본 발명의 일 실시예에 따른 UPnP 네트워크에서의 데이터 통신 시스템은, UPnP 기반의 유무선 통신을 수행하는 통신망과; 상기 통신망에 접속하여 어드레싱, 디스커버리, 디스크립션 및 컨트롤 과정을 수행한 후, 이벤팅 과정을 수행하는 경우에, 이벤트 발생시 이벤트 메시지를 생성하여 생성된 이벤트 메시지의 데이터 유형에 따라 이벤트 메시지를 base 64 인코딩하고, 인코딩된 이벤트 메시지를 상기 통신망을 통해 GENA를 이용하여 전송하는 피제어기와; 상기 통신망을 통해 상기 피제어기로부터의 이벤트 메시지를 수신하고, 수신된 이벤트 메시지의 데이터 유형에 따라 이벤트 메시지를 base 64 디코딩하고, 디코딩된 이벤트 메시지를 통해 상기 피제어기의 상태 변화를 인식하는 제어기를 포함하여 이루어지는 것이 바람직하다.In addition, a data communication system in a UPnP network according to an embodiment of the present invention, a communication network for performing UPnP-based wired and wireless communication; After accessing the communication network and performing an addressing, discovery, description, and control process, when performing an eventing process, an event message is generated by generating an event message when the event occurs, and base event encoding is performed based on the data type of the generated event message. A controller for transmitting an encoded event message through the communication network using GENA; A controller for receiving an event message from the controlled device through the communication network, base 64 decoding the event message according to the data type of the received event message, and recognizing a state change of the controlled device through the decoded event message. It is preferable to make it.
한편, 본 발명의 일 실시예에 따른 UPnP 네트워크에서의 데이터 통신 방법은, 제어기 및 피제어기에서 어드레싱, 디스커버리 및 디스크립션 과정을 수행한 후, 컨트롤 과정을 수행하는 경우에, 상기 제어기에서 제어 명령 메시지를 생성하고, 생성된 제어 명령 메시지의 데이터 용량 크기에 따라 제어 명령 메시지를 MTOM 인코딩 또는 SOAP 인코딩하여 피제어기로 전송하는 단계와; 상기 피제어기에서 상기 제어기로부터 수신된 제어 명령 메시지의 인코딩 형태에 따라, 수신된 제어 명령 메시지를 MTOM 디코딩 또는 SOAP 디코딩하고, 디코딩된 제어 명령 메시지에 의거하여 서비스를 실행하는 단계를 포함하여 이루어지는 것이 바람직하다.On the other hand, in the data communication method in the UPnP network according to an embodiment of the present invention, after performing the addressing, discovery and description process in the controller and the control unit, when the control process performs a control command message in the controller Generating and transmitting MTOM-encoded or SOAP-encoded control command message according to the size of the data capacity of the generated control command message to the control unit; Preferably, the control unit includes MTOM decoding or SOAP decoding the received control command message according to the encoding type of the control command message received from the controller, and executing a service based on the decoded control command message. Do.
또한, 본 발명의 일 실시예에 따른 UPnP 네트워크에서의 데이터 통신 방법은, 제어기 및 피제어기에서 어드레싱, 디스커버리, 디스크립션 및 컨트롤 과정을 수행한 후, 이벤팅 과정을 수행하는 경우에, 상기 피제어기에서 이벤트 발생시 이벤트 메시지를 생성하여 생성된 이벤트 메시지의 데이터 유형에 따라 이벤트 메시지를 base 64 인코딩하고, 인코딩된 이벤트 메시지를 상기 제어기로 GENA를 이용하여 전송하는 단계와; 상기 제어기에서 상기 피제어기로부터 이벤트 메시지를 수신하고, 수신된 이벤트 메시지의 데이터 유형에 따라 이벤트 메시지를 base 64 디코딩하고, 디코딩된 이벤트 메시지를 통해 상기 피제어기의 상태 변화를 인식하는 단계를 포함하여 이루어지는 것이 바람직하다.In addition, the data communication method in the UPnP network according to an embodiment of the present invention, after performing the addressing, discovery, description and control process in the controller and the controller, and performs the event, Generating an event message when an event occurs, base 64 encoding the event message according to the data type of the generated event message, and transmitting the encoded event message to the controller using GENA; Receiving an event message from the controller, base 64 decoding the event message according to the data type of the received event message, and recognizing a state change of the controller through the decoded event message. It is preferable.
본 발명에 따른 UPnP 네트워크에서의 데이터 통신 시스템 및 방법에 의하면, UPnP 네트워크상에서 컴포넌트 간에 컨트롤 과정 수행시 대용량 데이터 통신이 필요한 경우에, MTOM(Message Transmission Opimization Mechanism)을 적용하여 통신 을 수행함으로써, 적은 네트워크 트래픽을 사용하면서 대용량의 데이터를 고속으로 전송할 수 있는 효과가 있다.According to the data communication system and method in the UPnP network according to the present invention, when a large amount of data communication is required when performing a control process between the components on the UPnP network, by applying the MTOM (Message Transmission Opimization Mechanism) to perform communication, While using traffic, a large amount of data can be transmitted at high speed.
또한, UPnP 네트워크상에서 컴포넌트 간에 GENA를 이용한 이벤트 메시지 통신시에는 통신하려는 이벤트 메시지가 이진 데이터인 경우에, base 64 인코딩 기법을 적용하여 이벤트 메시지를 이진 데이터화하여 전송함으로써, 이벤트 메시지 통신의 효율성을 증진시킬 수 있는 효과가 있다.In case of event message communication using GENA between components in UPnP network, when event message to be communicated is binary data, it is possible to improve the efficiency of event message communication by applying base 64 encoding technique and transmitting event message as binary data. It can be effective.
또한, UPnP 네트워크상에서 컴포넌트 간에 GENA를 이용한 이벤트 메시지 통신시, 멀티캐스트 전송 방식뿐만 아니라, 유니캐스트 전송 방식을 지원함으로써, 네트워크 트래픽, 시스템 리소스 및 보안 관리 측면에서 효율성을 증진시킬 수 있는 효과가 있다.In addition, in event message communication using GENA between components in a UPnP network, by supporting not only multicast transmission but also unicast transmission, there is an effect of increasing efficiency in terms of network traffic, system resource, and security management.
이하에서는, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 따른 UPnP 네트워크에서의 데이터 통신 시스템 및 방법에 대하여 상세하게 설명한다.Hereinafter, a data communication system and method in a UPnP network according to a preferred embodiment of the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명의 일 실시예에 따른 UPnP 네트워크에서의 데이터 통신 시스템의 구성을 개략적으로 도시한 도면이다.1 is a diagram schematically illustrating a configuration of a data communication system in a UPnP network according to an embodiment of the present invention.
도 1을 참조하면, 본 발명에 따른 UPnP 네트워크에서의 데이터 통신 시스템은 제어기(10), 피제어기(20) 및 통신망(30)을 포함하여 이루어진다.Referring to FIG. 1, a data communication system in a UPnP network according to the present invention includes a
제어기(10) 및 피제어기(20)는 통신망(30)에 접속하면, 각각 어드레싱, 디스커버리, 디스크립션 과정을 수행한다. 이러한, 어드레싱, 디스커버리, 디스크립션 과정에 대한 설명은 본 발명의 배경기술에 기재되어 있으므로, 그 구체적인 설명은 생략한다.When the
제어기(10)는 컴포넌트로서, UPnP 미들웨어를 탑재하며, 피제어기(20)를 제어한다.The
즉, 제어기(10)는 디스크립션 과정을 통해 분석된 피제어기(20)에서 제공하는 서비스를 실행시키기 위해, 제어 명령 메시지를 생성하여 통신망(30)을 통해 피제어기(20)로 전송하고, 이를 수신한 피제어기(20)로부터의 제어 응답 메시지를 수신하여 피제어기(20)의 제어 명령 메시지 수신 여부를 인식한다.That is, the
여기서, 제어기(10)는 생성된 제어 명령 메시지의 데이터 용량의 크기에 따라 제어 명령 메시지를 MTOM 인코딩 또는 SOAP 인코딩하여 피제어기(20)로 전송하되, 제어 명령 메시지의 데이터 용량 크기가 임계값 이상이면 제어 명령 메시지를 MTOM 인코딩하고, 제어 명령 메시지의 데이터 용량 크기가 임계값 미만이면 SOAP 인코딩하는 것이 바람직하다.In this case, the
또한, 제어기(10)는 피제어기(20)로부터 제어 응답 메시지를 수신하여 제어 응답 메시지의 인코딩 형태에 따라 제어 응답 메시지를 MTOM 디코딩 또는 SOAP 디코딩하는 것이 바람직하다.In addition, the
또한, 제어기(10)는 피제어기(20)와 이벤트 메시지 송수신자 관계를 맺기 위해 피제어기(20)로 이벤트 메시지 수신자 등록 요청을 한다. In addition, the
이때, 제어기(10)는 피제어기(20)로 멀티캐스트 이벤트 메시지 수신자 또는 유니캐스트 이벤트 메시지 수신자 중 어느 하나로의 등록을 요청하는 것이 바람직 하다.At this time, the
또한, 제어기(10)는 피제어기(20)로부터 이벤트 메시지를 수신하면, 수신된 이벤트 메시지를 통해 피제어기(20)의 상태 변화를 인식한다. In addition, when the
여기서, 제어기(10)는 피제어기(20)로부터 수신된 이벤트 메시지의 데이터 유형에 따라 이벤트 메시지를 base 64 디코딩하되, 이벤트 메시지의 데이터 유형이 이진 데이터인 경우에, 해당 이벤트 메시지를 base 64 디코딩하는 것이 바람직하다.Here, the
한편, 피제어기(20)는 로봇 컴포넌트로서, UPnP 미들웨어를 탑재하며, 제어기(10)의 명령에 따라 서비스를 실행한다.On the other hand, the
즉, 피제어기(20)는 통신망(30)을 통해 제어기(10)로부터 제어 명령 메시지를 수신하여 제어 응답 메시지를 생성하여 통신망(30)을 통해 제어기(10)로 전송하고, 제어기(10)로부터 수신된 제어 명령 메시지에 의거하여 서비스를 실행한다.That is, the
여기서, 피제어기(20)는 수신된 제어 명령 메시지의 인코딩 형태에 따라 제어 명령 메시지를 MTOM 디코딩 또는 SOAP 디코딩하는 것이 바람직하다.Here, the
또한, 피제어기(20)는 제어기(10)로부터 제어 명령 메시지를 수신하면, 제어 응답 메시지를 생성하여 통신망(30)을 통해 제어기(10)로 전송한다.In addition, when the
이때, 피제어기(20)는 제어 응답 메시지의 데이터 용량 크기에 따라 제어 응답 메시지를 MTOM 인코딩 또는 SOAP 인코딩하여 통신망(30)을 통해 제어기(10)로 전송하되, 제어 응답 메시지의 데이터 용량 크기가 임계값 이상이면 제어 응답 메시지를 MTOM 인코딩하고, 제어 응답 메시지의 데이터 용량 크기가 임계값 미만이면 SOAP 인코딩하는 것이 바람직하다.In this case, the
또한, 피제어기(20)는 제어기(10)로부터 이벤트 메시지 수신자 등록 요청을 받으면, 제어기(10)를 이벤트 메시지 수신자로 등록하되, 멀티캐스트 또는 유니캐스트 이벤트 메시지 수신자로 구분하여 등록한다.In addition, when the
또한, 피제어기(20)는 이벤트 발생시 이벤트 메시지를 생성하고, 생성된 이벤트 메시지를 GENA를 이용하여 제어기(10)로 전송한다.In addition, the
여기서, 피제어기(20)는 생성된 이벤트 메시지의 데이터 유형에 따라 이벤트 메시지를 base 64 인코딩하되, 이벤트 메시지의 데이터 유형이 이진 데이터인 경우에, 해당 이벤트 메시지를 base 64 인코딩하는 것이 바람직하다.Here, the
또한, 피제어기(20)는 생성된 이벤트 메시지가 멀티캐스트 전송 타입인지 아니면, 유니캐스트 전송 타입인지를 확인하고, 확인 결과 생성된 이벤트 메시지가 유니캐스트 전송 타입이면, 등록된 이벤트 메시지 수신자들 중 유니캐스트 이벤트 메시지 수신자로 등록된 제어기(10)로 이벤트 메시지를 유니캐스트 하고, 멀티캐스트 전송 타입이면, 등록된 이벤트 메시지 수신자들 중 멀티캐스트 이벤트 메시지 수신자로 등록된 제어기(10)들로 이벤트 메시지를 멀티캐스트 한다.In addition, the
한편, 통신망(30)은 다수의 제어기(10) 및 피제어기(20) 간의 UPnP 기반의 유무선 통신을 연결한다.Meanwhile, the
도 2는 본 발명의 일 실시예에 따른 UPnP 네트워크에서의 데이터 통신 방법을 순차적으로 도시한 도면으로, 도 2를 참조하여 본 발명의 일 실시예에 따른 UPnP 네트워크에서의 데이터 통신 방법에 대하여 설명하면 다음과 같다.FIG. 2 is a diagram sequentially illustrating a data communication method in a UPnP network according to an embodiment of the present invention. Referring to FIG. 2, a data communication method in a UPnP network according to an embodiment of the present invention will be described. As follows.
먼저, 로봇을 구성하는 컴포넌트들 중 제어의 주체가 될 수 있는지 여부에 따라 구분된 제어기(10) 및 피제어기(20)는 통신망(30)에 접속하여, 어드레싱, 디스커버리, 디스크립션 과정을 순차적으로 수행한다(S200).First, the
상기한 단계 S200 이후에, 제어기(10) 및 피제어기(20)는 컨트롤 과정을 수행하게 되는데, 이때 제어기(10)는 디스크립션 과정을 통해 분석된 피제어기(20)에서 제공하는 서비스를 실행시키기 위해, 제어 명령 메시지를 생성하여 통신망(30)을 통해 피제어기(20)로 전송한다(S210).After the step S200, the
상기한 단계 S210에서 제어기(10)는 생성된 제어 명령 메시지의 데이터 용량 크기에 따라 제어 명령 메시지를 MTOM 인코딩 또는 SOAP 인코딩하여 피제어기(20)로 전송하되, 제어 명령 메시지의 데이터 용량 크기가 임계값 이상이면 제어 명령 메시지를 MTOM 인코딩하고, 제어 명령 메시지의 데이터 용량 크기가 임계값 미만이면 SOAP 인코딩하는 것이 바람직하다.In step S210, the
상기한 단계 S210을 통해 제어기(10)로부터 제어 명령 메시지를 수신한 피제어기(20)는 제어 응답 메시지를 생성하여 통신망(30)을 통해 제어기(10)로 전송한다(S220).The
상기한 단계 S220에서 피제어기(20)는 생성된 제어 응답 메시지의 데이터 용량 크기에 따라 제어 응답 메시지를 MTOM 인코딩 또는 SOAP 인코딩하여 통신망(30)을 통해 제어기(10)로 전송하되, 제어 응답 메시지의 데이터 용량 크기가 임계값 이상이면 제어 응답 메시지를 MTOM 인코딩하고, 제어 응답 메시지의 데이터 용량 크기가 임계값 미만이면 SOAP 인코딩하는 것이 바람직하다.In step S220, the
상기한 단계 S220을 통해 피제어기(20)로부터 제어 응답 메시지를 수신한 제어기(10)는 피제어기(20)가 제어 명령 메시지를 수신하였음을 인식한다(S230).The
상기한 단계 S230에서 제어기(10)는 피제어기(20)로부터 수신된 제어 응답 메시지의 인코딩 형태에 따라 제어 응답 메시지를 MTOM 디코딩 또는 SOAP 디코딩하는 것이 바람직하다.In step S230, the
한편, 상기한 단계 S210을 통해 제어기(10)로부터 제어 명령 메시지를 수신한 피제어기(20)는 수신된 제어 명령 메시지에 의거하여 서비스를 실행한다(S240).On the other hand, the
상기한 단계 S240에서 피제어기(20)는 제어기(10)로부터 수신된 제어 명령 메시지의 인코딩 형태에 따라 제어 응답 메시지를 MTOM 디코딩 또는 SOAP 디코딩하는 것이 바람직하다.In step S240, the
한편, 상기한 단계 S240 이후, 즉 컨트롤 과정을 수행한 이후, 피제어기(20) 및 제어기(10)는 이벤팅 과정을 수행하게 되는데, 이때 제어기(10)는 피제어기(20)와 이벤트 메시지 송수신자 관계를 맺기 위해 피제어기(20)로 이벤트 메시지 수신자 등록 요청을 한다(S250).On the other hand, after the above step S240, that is, after performing the control process, the
상기한 단계 S250에서 제어기(10)는 피제어기(20)로 멀티캐스트 이벤트 메시지 수신자 또는 유니캐스트 이벤트 메시지 수신자 중 어느 하나로의 등록을 요청하는 것이 바람직하다.In step S250, the
상기한 단계 S250을 통해 제어기(10)로부터 이벤트 메시지 수신자 등록 요청을 받은 피제어기(20)는 제어기(10)를 이벤트 메시지 수신자로 등록하되(S260), 멀티캐스트 또는 유니캐스트 이벤트 메시지 수신자로 구분하여 등록한다.The
상기한 단계 S260 이후, 피제어기(20)는 이벤트 발생시 이벤트 메시지를 생성하고, 생성된 이벤트 메시지를 GENA를 이용하여 제어기(10)로 전송한다(S270).After the above step S260, the
상기한 단계 S270에서 피제어기(20)는 생성된 이벤트 메시지의 데이터 유형에 따라 이벤트 메시지를 base 64 인코딩하되, 이벤트 메시지의 데이터 유형이 이진 데이터인 경우에, 해당 이벤트 메시지를 base 64 인코딩하는 것이 바람직하다.In step S270, the
상기한 단계 S270에서 피제어기(20)는 생성된 이벤트 메시지가 멀티캐스트 전송 타입인지 아니면, 유니캐스트 전송 타입인지를 확인하고, 확인 결과 생성된 이벤트 메시지가 유니캐스트 전송 타입이면, 상기한 단계 S260을 통해 등록된 이벤트 메시지 수신자들 중 유니캐스트 이벤트 메시지 수신자로 등록된 제어기(10)로 이벤트 메시지를 유니캐스트 하고, 상기한 단계 S270에서의 확인 결과 멀티캐스트 전송 타입이면, 상기한 단계 S260을 통해 등록된 이벤트 메시지 수신자들 중 멀티캐스트 이벤트 메시지 수신자로 등록된 제어기(10)들로 이벤트 메시지를 멀티캐스트 한다.In step S270, the
상기한 단계 S270을 통해 피제어기(20)로부터 이벤트 메시지를 수신한 제어기(10)는 수신된 이벤트 메시지를 통해 피제어기(20)의 상태 변화를 인식한다(S280).The
상기한 단계 S280에서 제어기(10)는 피제어기(20)로부터 수신된 이벤트 메시지의 데이터 유형에 따라 이벤트 메시지를 base 64 디코딩하되, 이벤트 메시지의 데이터 유형이 이진 데이터인 경우에, 해당 이벤트 메시지를 base 64 디코딩하는 것이 바람직하다.In step S280, the
본 발명에 따른 UPnP 네트워크에서의 데이터 통신 시스템 및 방법에 의하면, UPnP 네트워크상에서 컴포넌트 간에 컨트롤 과정 수행시 대용량 데이터 통신이 필요한 경우에, MTOM(Message Transmission Opimization Mechanism)을 적용하여 통신을 수행함으로써, 적은 네트워크 트래픽을 사용하면서 대용량의 데이터를 고속으로 전송할 수 있다.According to the data communication system and method in the UPnP network according to the present invention, when a large amount of data communication is required when performing a control process between components on the UPnP network, by applying the MTOM (Message Transmission Opimization Mechanism) to perform a communication, It can transfer large amount of data at high speed while using traffic.
또한, UPnP 네트워크상에서 컴포넌트 간에 GENA를 이용한 이벤트 메시지 통신시에는 통신하려는 이벤트 메시지가 이진 데이터인 경우에, base 64 인코딩 기법을 적용하여 이벤트 메시지를 이진 데이터화하여 전송함으로써, 이벤트 메시지 통신의 효율성을 증진시킬 수 있다.In case of event message communication using GENA between components in UPnP network, when event message to be communicated is binary data, it is possible to improve the efficiency of event message communication by applying base 64 encoding technique and transmitting event message as binary data. Can be.
또한, UPnP 네트워크상에서 컴포넌트 간에 GENA를 이용한 이벤트 메시지 통신시, 멀티캐스트 전송 방식뿐만 아니라, 유니캐스트 전송 방식을 지원함으로써, 네트워크 트래픽, 시스템 리소스 및 보안 관리 측면에서 효율성을 증진시킬 수 있다.In addition, in event message communication using GENA between components in a UPnP network, not only a multicast transmission method but also a unicast transmission method can be used to increase efficiency in terms of network traffic, system resource, and security management.
도 1은 본 발명의 일 실시예에 따른 UPnP 네트워크에서의 데이터 통신 시스템의 구성을 개략적으로 도시한 도면.1 is a diagram schematically showing the configuration of a data communication system in a UPnP network according to an embodiment of the present invention.
도 2는 본 발명의 일 실시예에 따른 UPnP 네트워크에서의 데이터 통신 방법을 순차적으로 도시한 도면.2 is a diagram sequentially illustrating a data communication method in a UPnP network according to an embodiment of the present invention.
*** 도면의 주요 부분에 대한 부호의 설명 ****** Explanation of symbols for the main parts of the drawing ***
10: 제어기 20: 피제어기10: controller 20: controller
30: 통신망30: network
Claims (21)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080092926A KR20100033861A (en) | 2008-09-22 | 2008-09-22 | Data communication system and method in universal plug and play network |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080092926A KR20100033861A (en) | 2008-09-22 | 2008-09-22 | Data communication system and method in universal plug and play network |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20100033861A true KR20100033861A (en) | 2010-03-31 |
Family
ID=42182633
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020080092926A KR20100033861A (en) | 2008-09-22 | 2008-09-22 | Data communication system and method in universal plug and play network |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20100033861A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120324046A1 (en) * | 2011-06-17 | 2012-12-20 | Samsung Electronics Co., Ltd. | APPARATUS AND METHOD FOR EXCHANGING DATA BETWEEN UPnP BASED DEVICES |
-
2008
- 2008-09-22 KR KR1020080092926A patent/KR20100033861A/en not_active Application Discontinuation
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120324046A1 (en) * | 2011-06-17 | 2012-12-20 | Samsung Electronics Co., Ltd. | APPARATUS AND METHOD FOR EXCHANGING DATA BETWEEN UPnP BASED DEVICES |
WO2012173444A2 (en) * | 2011-06-17 | 2012-12-20 | Samsung Electronics Co., Ltd. | Apparatus and method for exchanging data between upnp based devices |
WO2012173444A3 (en) * | 2011-06-17 | 2013-03-28 | Samsung Electronics Co., Ltd. | Apparatus and method for exchanging data between upnp based devices |
US9135209B2 (en) | 2011-06-17 | 2015-09-15 | Samsung Electronics Co., Ltd | Apparatus and method for exchanging data between UPnP based devices |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9135209B2 (en) | Apparatus and method for exchanging data between UPnP based devices | |
US20040205172A1 (en) | Control point server system and method thereof enabling efficient access to home network devices | |
KR100796865B1 (en) | Mobile Terminal, System and Method for connecting Network by using the same | |
US8060588B2 (en) | Home network apparatus and system for cooperative work service and method thereof | |
EP2840741B1 (en) | Method and apparatus for using service of home network device based on remote access | |
CN101184063B (en) | Method, device and system for controlling non-universal plug-and-play UPnP equipment | |
JP2004334792A (en) | Network service system, service vicarious execution processing method, storage medium storing computer-readable program, and program | |
CN110995647A (en) | Protocol conversion method, device, equipment, storage medium and system | |
KR101898492B1 (en) | Electronic device and method for controlling electronic device | |
US20050099982A1 (en) | Proxy device and method for controlling devices in a domain | |
KR20120066979A (en) | Wireless local area communication system | |
WO2003001744A1 (en) | Information processing apparatus and method | |
KR20100033861A (en) | Data communication system and method in universal plug and play network | |
KR20070042001A (en) | Method of acquiring upnp device/service state information and controller therefor, and method of providing upnp device/service state information and controlled device therefor | |
JP4527523B2 (en) | Server selection method, server selection method, server, and client terminal | |
KR102435756B1 (en) | Device group control system and method for controlling the same | |
CN114679354A (en) | Gateway device, bridging method and device, and storage medium | |
JP2013123126A (en) | Dlna compatible device and method of searching the same | |
KR100702750B1 (en) | Method and apparatus for preventing action errors caused from co-existence of low-power supporting devices and non-supporting devices | |
JP5940566B2 (en) | Network system, constant connection method, server, electronic device, program | |
KR101013836B1 (en) | Data Communication System and Method Using IP Matching in Universal Plug and Play Network | |
KR100513288B1 (en) | System and method for accessing to home network public network | |
JP4482011B2 (en) | COMMUNICATION DEVICE, COMMUNICATION SYSTEM, AND COMMUNICATION METHOD | |
KR100600410B1 (en) | Method for parallel processing functions using networking technology | |
KR100621075B1 (en) | Device for providing service between private networks using internet gateway device and method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |