KR101393017B1 - Hole punching distribution system for controlling significant terminals and method thereof - Google Patents

Hole punching distribution system for controlling significant terminals and method thereof Download PDF

Info

Publication number
KR101393017B1
KR101393017B1 KR1020130076444A KR20130076444A KR101393017B1 KR 101393017 B1 KR101393017 B1 KR 101393017B1 KR 1020130076444 A KR1020130076444 A KR 1020130076444A KR 20130076444 A KR20130076444 A KR 20130076444A KR 101393017 B1 KR101393017 B1 KR 101393017B1
Authority
KR
South Korea
Prior art keywords
hole punching
server
remote control
communication terminal
request signal
Prior art date
Application number
KR1020130076444A
Other languages
Korean (ko)
Inventor
최다혜
오충목
윤성철
김현국
Original Assignee
주식회사 엘지유플러스
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 엘지유플러스 filed Critical 주식회사 엘지유플러스
Priority to KR1020130076444A priority Critical patent/KR101393017B1/en
Application granted granted Critical
Publication of KR101393017B1 publication Critical patent/KR101393017B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal
    • H04L61/2575NAT traversal using address mapping retrieval, e.g. simple traversal of user datagram protocol through session traversal utilities for NAT [STUN]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The present invention hole punching distribution processing system for controlling a large amount of terminals under a network address translation (NAT) environment, a control method of the system, a communication terminal included in the system and a control method of servers. An embodiment of the present invention, when a communication terminal, whose private internet protocol (IP) address is allocated by a NAT apparatus, controls a hole punching session with a hole punching server selected from a plurality of hole punching servers, comprises the steps of: transmitting a first session request signal to a main hole punching server which manages traffic of the hole punching servers; receiving address information on the hole punching server selected among the hole punching servers to the main hole punching server in response to the first session request signal; and transmitting a second session request signal, including the allocated private IP address, to the selected hole punching server by using the address information and generating the hole punching session with the selected hole punching server, wherein the second session request signal is transmitted to the selected hole punching server via the NAT apparatus and the private IP address included in the second session request signal is transformed into a public IP address in the NAT apparatus.

Description

NAT 환경의 대량 단말 제어를 위한 홀 펀칭 분산 처리 시스템 및 그 시스템의 제어 방법{Hole punching distribution system for controlling significant terminals and method thereof}TECHNICAL FIELD The present invention relates to a hole punching distribution processing system for mass terminal control of a NAT environment and a control method of the system,

본 발명은 네트워크 주소 변환(Network Address Translation; NAT) 환경의 대량 단말 제어를 위한 홀 펀칭(Hole Punching) 분산 처리 시스템 및 그 제어방법에 관한 것으로서, 보다 상세하게는, NAT 장치를 통하여 수신되는 홀 펀칭 세션 요청을 메인 홀 펀칭 서버가 복수 개의 홀 펀칭 서버에 효과적으로 배분하여 트래픽(Traffic) 과부화를 예방하는 시스템 및 그 제어방법에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a hole punching distributed processing system for controlling a mass terminal in a network address translation (NAT) environment and a control method thereof, and more particularly, And more particularly, to a system and method for preventing traffic overload by effectively allocating a session request to a plurality of hole punching servers by a main hall punching server.

최근에는 네트워크 주소 부족 및 관리상의 이유로 많은 통신 단말기들이 네트워크 주소 변환(NAT) 환경하에서 사설 네트워크 주소를 제공받아 동작하고 있다. 즉, 통신 단말기들이 소정의 통신망을 경유하여 통신을 하기 위해서는, 각 통신 단말기가 네트워크 주소를 가지고 있어야 하는데, 이러한 네트워크 주소에는 공인 네트워크 주소와 사설 네트워크 주소가 있다.In recent years, many communication terminals are operating under a network address translation (NAT) environment because of lack of network addresses and management reasons. That is, in order for communication terminals to communicate via a predetermined communication network, each communication terminal must have a network address, which includes a public network address and a private network address.

공인 네트워크 주소는 외부의 소정 서버 또는 인터넷과 직접 통신할 수 있는 주소를 의미하고, 사설 네트워크 주소는 외부의 소정 서버 또는 인터넷과는 직접 통신할 수 없고, 자체 구축된 서버 등을 통해 사설 네트워크 주소를 공인 네트워크 주소로 주소 변환이 이루어져야만 인터넷과의 직접적인 통신이 가능한 주소를 의미한다.The authorized network address means an address that can directly communicate with a predetermined server or the Internet. The private network address can not directly communicate with a predetermined server or the Internet. The private network address can not directly communicate with a predetermined server or the Internet. It means an address that can be directly communicated with the Internet only when the address conversion is performed to the public network address.

위와 같은 공인 네트워크 주소와 사설 네트워크 주소는 TCP/IP(Transmission Control Protocol/Internet Protocol)를 이용하는 통신망 내에서는 각각 공인 아이피(IP) 주소와 사설 아이피(IP) 주소로 불린다.These public and private network addresses are referred to as public IP addresses and private IP addresses, respectively, in a network using Transmission Control Protocol / Internet Protocol (TCP / IP).

이처럼 사설 네트워크에 속한 사설 IP를 할당받은 통신 단말기는 외부의 소정 서버 또는 인터넷과 직접 통신할 수 없기 때문에, 만약 통신 단말기에 공인 IP 가 할당된 경우라면 문제없지만, 오로지 사설 IP 만이 할당되어 있는 경우에는 외부의 소정 서버 또는 인터넷으로부터 특정 데이터(푸시 데이터 또는 원격 제어 데이터)를 해당 통신 단말기가 수신하는데 어려움이 발생하게 된다. Since the communication terminal having the private IP assigned to the private network can not directly communicate with the predetermined server or the Internet, there is no problem if the public IP is assigned to the communication terminal. However, if only the private IP is allocated It is difficult for the communication terminal to receive specific data (push data or remote control data) from an external server or the Internet.

따라서, 사설 네트워크에 속한 오로지 사설 IP 만을 할당 받은 통신 단말기는 NAT를 이용하여 자신에게 할당된 사설 IP 를 공인 IP 주소로 변환하여 인터넷 또는 외부의 소정 서버와 통신을 하게 된다. Therefore, the communication terminal, which is assigned only the private IP belonging to the private network, converts the private IP allocated to the private IP to the public IP address by using the NAT to communicate with the predetermined server on the Internet or the outside.

즉, 통신 단말기와 소정 서버 사이 또는 통신 단말기와 인터넷 사이에 사설 IP 를 공인 IP 로 변환시키는 주소 변환 장치(NAT 장치)가 구비되어야만 직접적인 통신이 가능한 것이다.That is, an address translation device (NAT device) for converting a private IP to a public IP between a communication terminal and a predetermined server or between a communication terminal and the Internet must be provided for direct communication.

또한, NAT를 사용하는 목적은 이외에도 여러 가지가 있는데, 첫번째로 다수의 통신 단말기는 인터넷의 공인 IP 주소를 절약하기 위해 NAT를 사용하고 있다.In addition, there are many other purposes for using NAT. First, many communication terminals use NAT to save the public IP address of the Internet.

인터넷상의 공인 IP 주소는 한정되어 있기 때문에 가급적 임의의 IP 사용자들 간에 공인 IP 주소를 공유할 수 있도록 하는 것이 필요한데, NAT를 이용하면 각 통신 단말기는 사설 IP 주소를 사용하되 인터넷 또는 외부의 소정 서버와 통신하고자 하는 경우 사설 IP를 공인 IP 주소와 상호 변환하여 통신을 하는 것이 가능하기 때문이다. 즉, 공인 IP 주소를 다수가 함께 사용할 수 있도록 함으로써 공인 IP 주소 자원을 절약할 수 있다.Since the public IP address on the Internet is limited, it is necessary to allow a public IP address to be shared among arbitrary IP users. By using NAT, each communication terminal uses a private IP address, It is possible to perform communication by converting the private IP to the public IP address in the case of communication. That is, it is possible to save public IP address resources by allowing a plurality of authorized IP addresses to be used together.

NAT를 사용하는 두번째 목적은, 사설망 내에서 상호 연결되는 다수의 통신 단말기들을, 상기 사설망과 관계없는 외부 이용자들로부터 보호하기 위함인데, NAT는 공개된 망과 사설망 사이에 방화벽(firewall)을 설치하여 외부 공격으로부터 사설망 내 통신 단말기들의 통신망을 보호하는 수단으로서도 활용될 수 있다.A second purpose of using NAT is to protect a large number of communication terminals interconnected in a private network from outside users unrelated to the private network. A NAT is installed between a public network and a private network by installing a firewall But also as a means for protecting the communication networks of the communication terminals in the private network from external attacks.

이처럼 NAT를 사용하는 목적이 여러 가지 존재하며, 최근 들어 통신 단말기의 종류 및 형태가 다양해 지고 개체 수가 늘어남에 따라, NAT 장치에 의해 관리 및 제어되는 통신 단말기의 수도 함께 급증하였다. As a result, the number of communication terminals managed and controlled by the NAT device has increased sharply as the types and forms of communication terminals have diversified and the number of objects has increased.

이로 인해, 사설 IP를 가진 사설망 내의 단말기가 사설망 외부에 존재하는 소정의 서버와 홀 펀칭 세션을 형성하며 발생하는 트래픽의 양도 함께 증가되고 있다.Accordingly, a terminal in a private network having a private IP forms a hole punching session with a predetermined server existing outside the private network, and the amount of traffic generated also increases.

이에 따라, 증가된 트래픽의 양을 적절히 분배하여 서버의 과부하 및 서버 다운을 방지할 수 있는 시스템 및 그 제어 방법이 요구된다.Accordingly, there is a need for a system and a control method thereof that can prevent an overload and a server down of a server by appropriately distributing an increased amount of traffic.

한편, 도 1은 NAT 장치를 통하여 수신되는 홀 펀칭 세션 요청들을 복수 개의 홀 펀칭 서버들로 적절히 분배하는 방법들을 예시하는 도면이다.FIG. 1 is a diagram illustrating methods of appropriately distributing hole punching session requests received through a NAT device to a plurality of hole punching servers.

도 1 (a)는 L4 스위치(Layer 4 Switch)(500)를 이용하여, 사설 IP를 가진 사설망 내의 단말기가 사설망 외부에 존재하는 소정의 서버와 홀 펀칭 세션을 형성하며 발생하는 트래픽을 분배하는 방법을 도시하고 있다. 1 (a) illustrates a method of distributing traffic generated by a terminal in a private network having a private IP forming a hole punching session with a predetermined server existing outside a private network, using an L4 switch (Layer 4 Switch) 500 Respectively.

즉, 제 1 내지 제 3 통신 단말기(100-1 내지 100-3)가 NAT 장비(400)에 의해 사설 IP 주소를 할당 받고 있다. 아울러, 제 1 내지 제 3 통신 단말기(100-1 내지 100-3)가 홀 펀칭 서버들과 홀 펀칭 세션을 수립하려는 상황임을 가정한다. That is, the first to third communication terminals 100-1 to 100-3 are assigned private IP addresses by the NAT device 400. [ In addition, it is assumed that the first to third communication terminals 100-1 to 100-3 are in a state of establishing a hole punching session with the hole punching servers.

L4 스위치(500)는 제 1 내지 제 3 통신 단말기(100-1 내지 100-3)로부터 수신되는 Layer 4 패킷의 헤더(Header)를 검사하여, Layer 4 패킷을 복수 개의 서버에게 적절하게 분배해 주어 트래픽을 분산하는 역할을 하는 장치이다. The L4 switch 500 checks the Header of a Layer 4 packet received from the first to third communication terminals 100-1 to 100-3 and appropriately distributes the Layer 4 packet to a plurality of servers It is a device that distributes traffic.

그러나, 앞서 언급한 L4 스위치(500)을 이용하여 부하를 분산하는 방식을 이용하더라도, TCP 패킷인 경우 세션(Session)연결과정이 존재하므로, 이를 통해 최초 연동된 서버와 지속적인 통신이 가능하나, UDP 패킷 사용 시에는 세션(Session)연결 과정이 없는 관계로, 최초 연동 서버와 지속적으로 통신이 된다는 보장이 이루어 지지 않아 제한적인 기능만을 제공한다는 문제점이 존재한다.However, even if the above-mentioned method of distributing the load using the L4 switch 500 is used, since there is a session connection process in the case of a TCP packet, continuous communication with the first interlocked server is possible through this, There is a problem in that only a limited function is provided because there is no guarantee of continuous communication with the first interworking server because there is no session connection process when using a packet.

한편, 도 1 (b)는 DNS 를 통하여 사설 IP를 가진 사설망 내의 단말기가 사설망 외부에 존재하는 소정의 서버와 홀 펀칭 세션을 형성하며 발생하는 트래픽을 분산하는 방법을 도시하고 있다. Meanwhile, FIG. 1 (b) shows a method of distributing traffic generated by a terminal in a private network having a private IP through DNS by forming a hole punching session with a predetermined server existing outside the private network.

DNS 라운드 로빈(Domain Name System Round Robin)은 DNS를 이용해서 하나의 서비스를 여러 대의 서버로 분산시키는 방법으로서, 하나의 서비스에 대한 복수의 서버 IP 주소를 DNS 서버에 등록해 두고, 통신 단말기로부터 서비스에 대한 요청을 수신하면 하나의 서비스에 대해 등록된 복수의 서버 IP 주소 중 하나를 수신 요청 순서에 따라 개별적으로 전달하는 방식이다. DNS (Domain Name System) Round Robin is a method of distributing one service to multiple servers by using DNS. In this method, a plurality of server IP addresses for one service are registered in a DNS server, It is a method of individually transmitting one of a plurality of server IP addresses registered for one service according to a reception request order.

서비스 요청을 하는 단말에게 전달되는 서비스에 대한 서버 IP 주소가 계속하여 바뀌기 때문에 통신 단말기가 접속하는 서비스에 대한 서버 IP 주소도 계속하여 서로 달라지게 된다. The server IP address for the service to be transmitted to the terminal making the service request is continuously changed, so that the server IP address for the service to be connected to the communication terminal continues to be different.

즉, 도메인 네임이 동일해도 접속하는 서버는 달라지게 되며, 이를 통해 트래픽의 부하가 분산되게 되는 것이다.That is, even if the domain names are the same, the servers to be connected are different, and load of traffic is dispersed through them.

그러나, 도 1 (b)에 도시된 방법의 경우, 서버의 성능 및 환경을 고려하지 않고 분산함으로써 홀 펀칭 서버 증설에 문제점이 존재한다.However, in the case of the method shown in FIG. 1 (b), there is a problem in expanding the hole punching server by dispersing without considering the performance and environment of the server.

본 발명은 상술한 종래의 문제점을 해결하기 위해 제안된 것으로서, 홀 펀칭 서버의 트래픽 과부하를 방지하는 시스템 및 그 제어 방법을 제공하는 것이다.SUMMARY OF THE INVENTION The present invention has been proposed in order to solve the above-described conventional problems, and it is an object of the present invention to provide a system for preventing traffic overload in a hole punching server and a control method thereof.

본 발명은 상술한 종래의 문제점을 해결하기 위해 제안된 것으로서, NAT 환경에서 대량의 사설망 내 통신 단말기를 원격으로 제어하는 시스템 및 그 제어 방법을 제공하는 것이다.Disclosure of Invention Technical Problem [8] The present invention has been proposed in order to solve the above-mentioned conventional problems, and it is an object of the present invention to provide a system for remotely controlling a large number of communication terminals in a private network in a NAT environment and a control method thereof.

본 발명은 상술한 종래의 문제점을 해결하기 위해 제안된 것으로서, 사설망 내 통신 단말기의 외부 소정 서버에 대한 홀 펀칭 요청 신호 및 홀 펀칭 세션을 복수 개의 홀 펀칭 서버로 적절하게 분배할 수 있는 시스템 및 그 제어 방법을 제공하는 것이다.SUMMARY OF THE INVENTION The present invention has been made in order to solve the above-mentioned problems, and it is an object of the present invention to provide a system capable of appropriately distributing a hole punching request signal and a hole punching session to an external predetermined server of a communication terminal in a private network to a plurality of hole punching servers, And to provide a control method.

본 발명은 상술한 종래의 문제점을 해결하기 위해 제안된 것으로서, NAT 환경에서 대량의 사설망 내 통신 단말기를 원격으로 제어할 수 있는 홀 펀칭 세션을 유지하면서도, 서버의 과부하 및 오작동을 최소화 할 수 있는 시스템 및 그 제어 방법을 제공하는 것이다.SUMMARY OF THE INVENTION It is an object of the present invention to provide a system capable of minimizing an overload and malfunction of a server while maintaining a hole punching session in which a large number of communication terminals in a private network can be remotely controlled in an NAT environment And a control method thereof.

본 발명은 상술한 종래의 문제점을 해결하기 위해 제안된 것으로서, 메인 홀 펀칭 서버를 두어, 사설망 내 통신 단말기의 외부 소정 서버에 대한 홀 펀칭 요청 이 존재할 경우, 홀 펀칭 메인 서버가 곧바로 사설망 내 통신 단말기와 홀 펀칭 세션을 생성하지 않고, 트래픽 배분 정책에 따라 결정된 소정의 다른 홀 펀칭 서버가 홀 펀칭 세션을 유지하도록 하는 시스템 및 그 제어 방법을 제공하는 것이다.In order to solve the above-described problems, the present invention provides a main hall punching server. When there is a hole punching request for an external predetermined server of a communication terminal in a private network, And a method for controlling the same to allow a predetermined other hole punching server determined according to a traffic distribution policy to maintain a hole punching session without generating a hole punching session.

본 발명은 상술한 종래의 문제점을 해결하기 위해 제안된 것으로서, 사설망 내 통신 단말기와 홀 펀칭 세션을 유지하는 소정 서버가 통신 단말기에 직접 원격 명령을 전달하지 않고, 통신 단말기가 원격 제어 서버로 접속하여 원격 명령을 전달 받을 수 있도록 하는 시스템 및 그 제어 방법을 제공하는 것이다.SUMMARY OF THE INVENTION The present invention has been proposed in order to solve the above-described conventional problems, and it is an object of the present invention to provide a communication terminal and a remote ping- And to provide a system and a control method thereof for allowing a remote command to be received.

본 발명은 상술한 종래의 문제점을 해결하기 위해 제안된 것으로서, UDP(user datagram protocol) 홀(hole)을 이용하여 단말과 원격제어서버(또는 단말관리서버) 사이에 필요한 정보, 설정 및 제어를 제공할 수 있는 SIP를 이용한 UDP 홀 펀칭 방법, 이를 이용한 단말 관리 시스템 및 관리 방법을 제공한다.SUMMARY OF THE INVENTION The present invention has been proposed in order to solve the conventional problems described above, and it is an object of the present invention to provide necessary information, setting and control between a terminal and a remote control server (or terminal management server) using UDP (user datagram protocol) A UDP hole punching method using SIP, a terminal management system and a management method using the same.

본 발명은 상술한 종래의 문제점을 해결하기 위해 제안된 것으로서, UDP(user datagram protocol) 홀(hole)을 이용하여 단말과 원격 제어 서버(또는 단말 관리 서버) 사이에 필요한 정보를 설정 및 제어하는 시스템 및 그 제어 방법을 제공한다.Disclosure of Invention Technical Problem [8] The present invention has been proposed in order to solve the above-described conventional problems, and it is an object of the present invention to provide a system for setting and controlling necessary information between a terminal and a remote control server (or terminal management server) using UDP (user datagram protocol) And a control method thereof.

본 발명에서 이루고자 하는 기술적 목적들은 이상에서 언급한 사항들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 이하 설명할 본 발명의 실시예들로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 고려될 수 있다.It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are not intended to limit the invention to the precise form disclosed. Lt; / RTI >

상술한 종래의 문제점을 해결하기 위한 본 발명인 NAT(Network Address Translation) 장치로부터 사설 IP 주소(Internet Protocol adress)를 할당 받은 통신 단말기가, 복수 개의 홀 펀칭(Hole-punching) 서버들 중 선택된 홀 펀칭 서버와의 홀 펀칭 세션을 제어하는 방법에 있어서, 복수 개의 홀 펀칭 서버들의 트래픽을 관리하는 메인 홀 펀칭 서버에게 제 1 세션 요청 신호를 송신하는 단계, 제 1 세션 요청 신호에 응답하여, 복수 개의 홀 펀칭 서버들 중 선택된 홀 펀칭 서버에 대한 주소 정보를 메인 홀 펀칭 서버로부터 수신하는 단계 및 주소 정보를 이용하여 선택된 홀 펀칭 서버로 할당된 사설 IP 주소를 포함하는 제 2 세션 요청 신호를 송신하여 선택된 홀 펀칭 서버와 홀 펀칭 세션을 생성하는 단계를 포함하되,In order to solve the conventional problems, a communication terminal having a private IP address (Internet Protocol address) allocated from a network address translation (NAT) apparatus according to the present invention is installed in a selected hole punching server among a plurality of hole- The method comprising the steps of: transmitting a first session request signal to a main hall punching server managing traffic of a plurality of hole punching servers; transmitting, in response to a first session request signal, Receiving address information on a selected one of the servers from the main hall punching server and transmitting a second session request signal including a private IP address allocated to the selected hole punching server using the address information, Creating a hole punching session with the server,

제 2 세션 요청 신호는 NAT 장치를 경유하여 선택된 홀 펀칭 서버로 송신되며, NAT 장치에서 제 2 세션 요청 신호에 포함된 사설 IP 주소가 공인 IP 주소로 변환될 수 있다.The second session request signal is transmitted to the selected hole punching server via the NAT device, and the private IP address included in the second session request signal in the NAT device can be converted into a public IP address.

본 발명의 홀 펀칭 세션을 제어하는 방법에 있어서, 선택된 홀 펀칭 서버는, 복수 개의 홀 펀칭 서버들의 트래픽 배분을 위한 배분 정책에 기반하여 메인 홀 펀칭 서버에 의해 선택될 수 있다.      In the method of controlling a hole punching session of the present invention, a selected hole punching server may be selected by a main hole punching server based on a distribution policy for traffic distribution of a plurality of hole punching servers.

본 발명의 홀 펀칭 세션을 제어하는 방법에 있어서, 배분 정책은, 통신 단말기의 타입(Type), 복수 개의 홀 펀칭 서버들 각각의 성능(Capability) 및 상기 제 1 세션 요청 신호의 프로토콜 타입(Protocol Type) 중 적어도 하나를 고려하여 결정될 수 있다.In the method of controlling a hole punching session according to the present invention, a distribution policy includes at least one of a type of a communication terminal, a capability of each of a plurality of hole punching servers, and a protocol type of the first session request signal ). ≪ / RTI >

본 발명의 홀 펀칭 세션을 제어하는 방법에 있어서, 생성된 홀 펀칭 세션을 유지하기 위한 세션 유지 패킷을 전송하는 단계를 더 포함할 수 있다.In the method of controlling a hole punching session of the present invention, the method may further include transmitting a session holding packet for maintaining the generated hole punching session.

본 발명의 홀 펀칭 세션을 제어하는 방법에 있어서, 통신 단말기의 동작을 제어하기 위한 원격 제어 요청 신호를 선택된 홀 펀칭 서버로부터 수신하는 단계를 더 포함하되, 원격 제어 요청 신호는, 원격 제어 서버로부터 전송될 수 있다.A method for controlling a hole punching session of the present invention, the method further comprising receiving from a selected hole punching server a remote control request signal for controlling the operation of the communication terminal, wherein the remote control request signal is transmitted from a remote control server .

본 발명의 홀 펀칭 세션을 제어하는 방법에 있어서, 원격 제어 요청 신호에 대한 응답 신호를 원격 제어 서버로 송신하여 원격 제어 서버와 원격 제어를 위한 원격 세션을 생성하는 단계, 원격 제어 서버로부터 원격 세션을 통하여 원격 제어를 위한 원격 제어 명령 신호를 수신하는 단계 및 원격 제어 명령 신호에 포함된 원격 제어 명령의 수행 결과를 원격 세션을 통하여 원격 제어 서버로 전송하는 단계를 포함하되, 원격 제어 요청 신호는 원격 제어 서버의 주소 정보를 포함할 수 있다.A method for controlling a hole punching session according to the present invention includes the steps of generating a remote session for remote control with a remote control server by transmitting a response signal to a remote control request signal to a remote control server, Receiving a remote control command signal for remote control through a remote session, and transmitting a result of performing a remote control command included in the remote control command signal to a remote control server through a remote session, And may include address information of the server.

상술한 목적을 달성하기 위한 본 발명인 복수 개의 홀 펀칭 서버들의 트래픽을 관리하는 메인 홀 펀칭 서버가, 홀 펀칭 세션을 제어하는 방법에 있어서, NAT(Network Adress Translation) 장치로부터 사설 IP 주소(Internet Protocol Address)를 할당 받은 통신 단말기로부터 제 1 세션 요청 신호를 수신하는 단계, 복수 개의 홀 펀칭 서버들의 트래픽 배분을 위한 배분 정책에 기반하여 복수 개의 홀 펀칭 서버들 중 하나를 선택하는 단계 및 선택된 홀 펀칭 서버의 주소 정보를 통신 단말기로 송신하는 단계를 포함할 수 있다.There is provided a method for controlling a hole punching session in a main hall punching server for managing traffic of a plurality of hole punching servers according to the present invention, Selecting one of the plurality of hole punching servers based on a distribution policy for traffic distribution of the plurality of hole punching servers, and selecting one of the plurality of hole punching servers, And transmitting address information to the communication terminal.

본 발명의 홀 펀칭 세션을 제어하는 방법에 있어서, 배분 정책은, 통신 단말기의 타입(Type), 복수 개의 홀 펀칭 서버들 각각의 성능(Capability) 및 제 1 세션 요청 신호의 프로토콜 타입(Protocol Type) 중 적어도 하나를 고려하여 결정될 수 있다.In the method of controlling a hole punching session according to the present invention, a distribution policy includes at least one of a type of a communication terminal, a capability of each of a plurality of hole punching servers, and a protocol type of a first session request signal, May be determined in consideration of at least one of.

본 발명의 홀 펀칭 세션을 제어하는 방법에 있어서, 통신 단말기의 동작을 제어하고자 하는 원격 제어 서버로부터, 통신 단말기의 동작을 제어하기 위한 원격 제어 요청 신호를 수신하는 단계 및 수신된 원격 제어 요청 신호를 선택된 홀 펀칭 서버로 전달하는 단계를 더 포함할 수 있다.A method for controlling a hole punching session according to the present invention, the method comprising: receiving a remote control request signal for controlling the operation of the communication terminal from a remote control server for controlling the operation of the communication terminal; To the selected hole punching server.

본 발명의 홀 펀칭 세션을 제어하는 방법에 있어서, 전달된 원격 제어 요청 신호는 선택된 홀 펀칭 서버로부터 통신 단말기로 전송될 수 있다.In the method of controlling the hole punching session of the present invention, the transmitted remote control request signal may be transmitted from the selected hole punching server to the communication terminal.

본 발명의 홀 펀칭 세션을 제어하는 방법에 있어서, 복수 개의 홀 펀칭 서버들 중 선택된 홀 펀칭 서버가, NAT(Network Address Translation) 장치로부터 사설 IP 주소(Internet Protocol adress)를 할당 받은 통신 단말기와 생성하는 홀 펀칭 세션을 제어하는 방법에 있어서, 통신 단말기로부터 통신 단말기의 공인 IP 주소가 포함된 세션 요청 신호를 수신하는 단계 및 세션 요청 신호에 포함된 통신 단말기의 공인 IP 주소를 저장하고 통신 단말기와 홀 펀칭 세션을 생성하는 단계를 포함하되, 세션 요청 신호에 포함된 공인 IP 주소는 세션 요청 신호가 NAT 장치를 경유하면서 세션 요청 신호에 포함된 사설 IP 주소가 공인 IP 주소로 변환될 수 있다.In a method of controlling a hole punching session according to the present invention, a selected hole punching server among a plurality of hole punching servers creates a communication terminal having a private IP address (Internet Protocol address) A method for controlling a hole punching session, the method comprising: receiving a session request signal including a public IP address of the communication terminal from a communication terminal; storing a public IP address of the communication terminal included in the session request signal; The public IP address included in the session request signal may be converted into a public IP address including the private IP address included in the session request signal while the session request signal passes through the NAT device.

본 발명의 홀 펀칭 세션을 제어하는 방법에 있어서, 복수 개의 홀 펀칭 서버들 중 선택된 홀 펀칭 서버는, 복수 개의 홀 펀칭 서버들의 트래픽 배분을 위한 배분 정책에 기반하여 복수 개의 홀 펀칭 서버들의 트래픽을 관리하는 메인 홀 펀칭 서버에 의해 선택될 수 있다.In the method of controlling a hole punching session of the present invention, a selected hole punching server among a plurality of hole punching servers manages traffic of a plurality of hole punching servers based on a distribution policy for traffic distribution of a plurality of hole punching servers Lt; RTI ID = 0.0 > punching < / RTI >

본 발명의 홀 펀칭 세션을 제어하는 방법에 있어서, 배분 정책은, 통신 단말기의 타입(Type), 복수 개의 홀 펀칭 서버들 각각의 성능(Capability) 및 통신 단말기가 메인 홀 펀칭 서버에 전송하는 세션 요청 신호의 프로토콜 타입(Protocol Type) 중 적어도 하나를 고려하여 결정될 수 있다.In the method of controlling a hole punching session according to the present invention, the allocation policy includes at least one of a type of a communication terminal, a capability of each of a plurality of hole punching servers, And a protocol type of a signal.

본 발명의 홀 펀칭 세션을 제어하는 방법에 있어서, 통신 단말기의 동작을 제어하기 위한 원격 제어 서버의 원격 제어 요청 신호를 메인 홀 펀칭 서버로부터 수신하는 단계 및 저장된 통신 단말기의 공인 IP 주소를 이용하여 원격 제어 요청 신호를 통신 단말기로 송신하는 단계를 포함하되, 원격 제어 요청 신호는, 원격 제어 서버에 의해 메인 홀 펀칭 서버로 전송된 후 메인 홀 펀칭 서버가 전달하여 수신될 수 있다.The method comprising the steps of receiving a remote control request signal of a remote control server for controlling operation of a communication terminal from a main hall punching server, Transmitting a control request signal to the communication terminal, wherein the remote control request signal is transmitted to the main hall punching server by the remote control server, and then can be transmitted and received by the main hall punching server.

상술한 목적을 달성하기 위한 본 발명인 원격 제어 서버가, NAT(Network Adress Translation) 장치로부터 사설 IP 주소(Internet Protocol Address)를 할당 받은 통신 단말기의 동작을 원격으로 제어하는 방법에 있어서, 통신 단말기의 동작을 제어하기 위한 원격 제어 요청 신호를 복수 개의 홀 펀칭 서버들의 트래픽을 관리하는 메인 홀 펀칭 서버로 전송하는 단계, 통신 단말기로부터 상기 원격 제어 요청 신호에 대한 응답 신호를 수신하여 상기 통신 단말기와 원격 제어를 위한 원격 세션을 형성하는 단계, 통신 단말기로 상기 원격 세션을 통하여 원격 제어 명령 신호를 전송하는 단계 및 원격 제어 명령 신호에 포함된 원격 제어 명령 수행 결과를 원격 세션을 통하여 상기 통신 단말기로부터 수신하는 단계를 포함하되, 응답 신호는 메인 홀 펀칭 서버로 전송한 원격 제어 요청 신호가 메인 홀 펀칭 서버로부터 상기 복수 개의 홀 펀칭 서버들 중 선택된 홀 펀칭 서버로 전달되고, 상기 선택된 홀 펀칭 서버로부터 통신 단말기로 전송됨으로써, 상기 통신 단말기로부터 상기 원격 제어 요청 신호에 대한 응답으로 수신될 수 있다.       According to another aspect of the present invention, there is provided a remote control server for remotely controlling an operation of a communication terminal to which a private IP address is assigned from a Network Address Translation (NAT) Transmitting a remote control request signal for controlling the remote control request signal to a main hall punching server managing traffic of a plurality of hole punching servers, receiving a response signal for the remote control request signal from the communication terminal, Transmitting a remote control command signal through the remote session to the communication terminal, and receiving a remote control command execution result included in the remote control command signal from the communication terminal through a remote session, The response signal is transmitted to the main hall punching server, A request signal is transmitted from the main hall punching server to the selected hole punching server among the plurality of hole punching servers and transmitted from the selected hole punching server to the communication terminal, .

본 발명의 홀 펀칭 세션을 제어하는 방법에 있어서, 복수 개의 홀 펀칭 서버들 중 선택된 홀 펀칭 서버는, 복수 개의 홀 펀칭 서버들의 트래픽 배분을 위한 배분 정책에 기반하여 메인 홀 펀칭 서버에 의해 될 수 있다.In the method of controlling a hole punching session of the present invention, a selected hole punching server among a plurality of hole punching servers may be made by a main hole punching server based on a distribution policy for traffic distribution of a plurality of hole punching servers .

본 발명의 홀 펀칭 세션을 제어하는 방법에 있어서, 배분 정책은, 통신 단말기의 타입(Type), 복수 개의 홀 펀칭 서버들 각각의 성능(Capability) 및 통신 단말기가 메인 홀 펀칭 서버에 전송하는 세션 요청 신호의 프로토콜 타입(Protocol Type) 중 적어도 하나를 고려하여 결정될 수 있다.In the method of controlling a hole punching session according to the present invention, the allocation policy includes at least one of a type of a communication terminal, a capability of each of a plurality of hole punching servers, And a protocol type of a signal.

상술한 목적을 달성하기 위한 본 발명인 NAT(Network Adress Translation) 장치로부터 사설 IP 주소(Internet Protocol adress)를 할당 받은 통신 단말기에 있어서, 무선 통신부(RF Unit) 및 복수 개의 홀 펀칭 서버들의 트래픽을 관리하는 메인 홀 펀칭 서버로 제 1 세션 요청 신호를 송신하고, 복수개의 홀 펀칭 서버들 중 메인 홀 펀칭 서버로부터 선택된 홀 펀칭 서버에 대한 주소 정보를 메인 홀 펀칭 서버로부터 제 1 세션 요청 신호에 대한 응답으로 수신하며, 주소 정보를 이용하여 선택된 홀 펀칭 서버로 할당된 사설 IP 주소를 포함하는 제 2 세션 요청 신호를 송신하여 선택된 홀 펀칭 서버와 홀 펀칭 세션을 형성하도록 제어하는 제어부를 포함하되, 제 2 세션 요청 신호는 NAT 장치를 경유하여 선택된 홀 펀칭 서버로 송신되며, NAT 장치에서 제 2 세션 요청 신호에 포함된 사설 IP 주소가 공인 IP 주소로 변환될 수 있다.There is provided a communication terminal to which a private IP address (Internet Protocol address) is allocated from a network address translation (NAT) apparatus according to the present invention for managing the traffic of a wireless communication unit (RF Unit) and a plurality of hole punching servers And transmits the first session request signal to the main hall punching server and receives address information for the hole punching server selected from the main hole punching server among the plurality of hole punching servers in response to the first session request signal from the main hall punching server Punching session with a selected hole punching server by transmitting a second session request signal including a private IP address allocated to a selected hole punching server using address information, The signal is transmitted to the selected hole punching server via the NAT device, Setting the IP address can be converted into a public IP address.

상술한 목적을 달성하기 위한 본 발명인, 복수 개의 홀 펀칭 서버들의 트래픽을 관리하는 메인 홀 펀칭 서버에 있어서, 무선 통신부(RF Unit) 및 NAT(Network Adress Translation) 장치로부터 사설 IP 주소(Internet Protocol Address)를 할당 받은 통신 단말기로부터 제 1 세션 요청 신호를 수신하도록 무선 통신부를 제어하고, 복수 개의 홀 펀칭 서버들의 트래픽 배분을 위한 배분 정책을 기초로 하여 복수 개의 홀 펀칭 서버들 중 하나를 선택하며, 선택된 홀 펀칭 서버의 주소 정보를 통신 단말기로 송신하도록 무선 통신부를 제어하는 제어부를 포함할 수 있다.In order to achieve the above object, there is provided a main hall punching server for managing traffic of a plurality of hole punching servers, wherein a private IP address (Internet Protocol Address) from a wireless communication unit (RF Unit) and a NAT (Network Address Translation) And selects one of the plurality of hole punching servers based on a distribution policy for traffic distribution of the plurality of hole punching servers, and controls the selected one of the plurality of hole punching servers, And a controller for controlling the wireless communication unit to transmit the address information of the punching server to the communication terminal.

상술한 목적을 달성하기 위한 본 발명인, NAT(Network Address Translation) 장치로부터 사설 IP 주소(Internet Protocol adress)를 할당 받은 통신 단말기와의 홀 펀칭 세션을 생성하는 홀 펀칭 서버에 있어서, 메모리부, 무선 통신부(RF Unit) 및 통신 단말기로부터 통신 단말기의 공인 IP 주소가 포함된 세션 요청 신호를 무선 통신부가 수신하도록 제어하며, 세션 요청 신호에 포함된 통신 단말기의 공인 IP 주소를 메모리부에 저장하고 통신 단말기와 홀 펀칭 세션을 생성하도록 제어하는 제어부를 포함하되, 세션 요청 신호에 포함된 공인 IP 주소는 세션 요청 신호가 NAT 장치를 경유하면서 NAT 장치에서 통신 단말기에 할당 된 사설 IP 주소가 공인 IP 주소로 변환될 수 있다.There is provided a hole punching server for creating a hole punching session with a communication terminal to which a private IP address (Internet Protocol address) is allocated from a NAT (Network Address Translation) apparatus, (RF Unit) and a communication terminal to receive a session request signal including a public IP address of the communication terminal. The public IP address of the communication terminal included in the session request signal is stored in the memory unit, A public IP address included in the session request signal is converted into a public IP address assigned to the communication terminal in the NAT device via the NAT device when the session request signal is passed through the NAT device .

상술한 목적을 달성하기 위한 본 발명인, NAT(Network Adress Translation) 장치로부터 사설 IP 주소(Internet Protocol Address)를 할당 받은 통신 단말기의 동작을 원격으로 제어하는 원격 제어 서버에 있어서, 무선 통신부, 통신 단말기의 동작을 제어하기 위한 원격 제어 요청 신호를 무선 통신부가 복수 개의 홀 펀칭 서버들의 트래픽을 관리하는 메인 홀 펀칭 서버로 전송하도록 하고, 통신 단말기로부터 원격 제어 요청 신호에 대한 응답 신호를 무선 통신부가 수신하도록 하여 통신 단말기와 원격 제어를 위한 원격 세션을 형성하도록 하며, 통신 단말기로 원격 세션을 통하여 원격 제어 명령 신호를 무선 통신부가 전송하도록 하고, 원격 제어 명령 신호에 포함된 원격 제어 명령 수행 결과를 원격 세션을 통하여 통신 단말기로부터 무선 통신부가 수신하도록 제어하는 제어부를 포함하되, 응답 신호는 메인 홀 펀칭 서버로 무선 통신부가 전송한 원격 제어 요청 신호가, 메인 홀 펀칭 서버로부터 복수 개의 홀 펀칭 서버들 중 선택된 홀 펀칭 서버로 전달되고, 선택된 홀 펀칭 서버로부터 통신 단말기로 전송됨으로써 통신 단말기로부터 원격 제어 요청 신호에 대한 응답으로 수신될 수 있다.According to an aspect of the present invention, there is provided a remote control server for remotely controlling an operation of a communication terminal to which a private IP address is allocated from a network address translation (NAT) The wireless communication unit transmits a remote control request signal for controlling operation to a main hall punching server managing traffic of a plurality of hole punching servers and a wireless communication unit receives a response signal for a remote control request signal from the communication terminal The remote control command signal is transmitted to the communication terminal through the remote session, and the result of the remote control command included in the remote control command signal is transmitted through the remote session And controls the wireless communication unit to receive from the communication terminal Wherein the remote control request signal transmitted from the wireless communication unit to the main hall punching server is transmitted from the main hall punching server to the selected hole punching server among the plurality of hole punching servers, And can be received in response to the remote control request signal from the communication terminal by being transmitted to the terminal.

본 발명에 의하면, 홀 펀칭 서버의 트래픽 과부하를 방지할 수 있다는 장점이 있다.According to the present invention, traffic overload of the hole punching server can be prevented.

또한, 본 발명에 의하면, NAT 환경에서 대량의 사설망 내 통신 단말기의 원격 제어가 가능하다는 장점이 있다.In addition, according to the present invention, it is possible to remotely control a large number of communication terminals in a private network in an NAT environment.

또한, 본 발명에 의하면, 사설망 내 통신 단말기의 홀 펀칭 요청을 복수 개의 홀 펀칭 서버에 적절하게 배분함에 따라서, 특정 서버에 트래픽이 몰리게 되어 발생하는 과부하 현상 및 서버다운 현상을 예방할 수 있다는 장점이 있다.In addition, according to the present invention, when a hole punching request of a communication terminal in a private network is appropriately distributed to a plurality of hole punching servers, there is an advantage that an overload phenomenon and a server down phenomenon, .

또한, 본 발명에 의하면, NAT 환경에서 대량의 사설망 내 통신 단말기를 원격으로 제어할 수 있는 홀 펀칭 세션을 유지하면서도, 서버의 과부하 및 오작동을 최소화 할 수 있는 장점이 있다.According to the present invention, it is possible to minimize an overload and malfunction of a server while maintaining a hole punching session in which a large number of communication terminals in a private network can be controlled remotely in an NAT environment.

또한, 본 발명에 의하면, UDP(user datagram protocol) 홀(hole)을 이용하여 단말과 원격 제어 서버(또는 단말 관리 서버) 사이에 필요한 정보를 설정 및 제어가 가능하다는 장점이 있다.In addition, according to the present invention, it is possible to set and control necessary information between a terminal and a remote control server (or terminal management server) using a UDP (user datagram protocol) hole.

본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The effects obtained in the present invention are not limited to the effects mentioned above, and other effects not mentioned can be clearly understood by those skilled in the art from the following description .

도 1은 NAT 장치를 통하여 수신되는 홀 펀칭 세션 요청들을 복수 개의 홀 펀칭 서버들로 적절히 분배하는 방법들을 예시하는 도면이다.
도 2는 본 발명의 일실시예에 따른, 홀 펀칭 제어 시스템을 예시하는 도시한 도면이다.
도 3은 본 발명의 일실시예에 따른, 홀 펀칭 세션 제어 시스템의 제어 흐름을 예시하는 도면이다.
도 4는 본 발명의 일실시예에 따른. 원격 제어 명령어 형식을 예시하는 도면이다.
도 5는 본 발명의 일실시예에 따른, 홀 펀칭 세션 제어 시스템 내 장치들의 블록 구성도를 예시하는 도면이다.
1 is a diagram illustrating methods of properly distributing hole punching session requests received through a NAT device to a plurality of hole punching servers.
2 is a view illustrating a hole punching control system according to an embodiment of the present invention.
3 is a diagram illustrating a control flow of a hole punching session control system, in accordance with an embodiment of the present invention.
Figure 4 is an illustration of an embodiment of the present invention. Lt; RTI ID = 0.0 > remote control < / RTI >
5 is a diagram illustrating a block diagram of devices in a hole punching session control system, in accordance with an embodiment of the present invention.

이하, 본 발명에 따른 바람직한 실시 형태를 첨부된 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세하게 설명한다. 첨부된 도면과 함께 이하에 개시될 상세한 설명은 본 발명의 예시적인 실시형태를 설명하고자 하는 것이며, 본 발명이 실시될 수 있는 유일한 실시형태를 나타내고자 하는 것이 아니다. 도면에 대한 설명에서, 본 발명의 기술적 요지를 흐릴 수 있는 절차 또는 단계 등은 기술하지 않았으며, 통상의 기술자의 수준에서 이해할 수 있을 정도의 절차 또는 단계는 또한 기술하지 아니하였다. 또한, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art can easily carry out the present invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS The following detailed description, together with the accompanying drawings, is intended to illustrate exemplary embodiments of the invention and is not intended to represent the only embodiments in which the invention may be practiced. In the description of the drawings, there is no description of procedures or steps or the like that may obscure the technical gist of the present invention, nor are descriptions of steps or steps that can be understood at a level of ordinary skill in the art. Like reference numerals are used to designate like parts throughout the specification.

이하, 명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함(comprising 또는 including)"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "…부" 의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 또한, "일(a 또는 an)", "하나(one)", "그(the)" 및 유사 관련어는 본 발명을 기술하는 문맥에 있어서(특히, 이하의 청구항의 문맥에서) 본 명세서에 달리 지시되거나 문맥에 의해 분명하게 반박되지 않는 한, 단수 및 복수 모두를 포함하는 의미로 사용될 수 있다.Hereinafter, throughout the specification, when an element is referred to as "comprising " or " including" an element, it is to be understood that this element may include other elements, . Also, the term "part" in the description means a unit for processing at least one function or operation, which may be implemented by hardware, software, or a combination of hardware and software. Also, the terms " a or ", "one "," the ", and the like are synonyms in the context of describing the invention (particularly in the context of the following claims) May be used in a sense including both singular and plural, unless the context clearly dictates otherwise.

본 발명의 실시예들에서 사용되는 특정(特定) 용어들은 본 발명의 이해를 돕기 위해서 제공된 것이며, 이러한 특정 용어의 사용은 본 발명의 기술적 사상을 벗어나지 않는 범위에서 다른 형태로 변경될 수 있다.
The specific terms used in the embodiments of the present invention are provided to facilitate understanding of the present invention, and the use of such specific terms may be changed into other forms without departing from the technical idea of the present invention.

도 2는 본 발명의 일실시예에 따른, 홀 펀칭 제어 시스템을 예시하는 도시한 도면이다.2 is a view illustrating a hole punching control system according to an embodiment of the present invention.

본 발명의 일 실시예에 따른 홀 펀칭 제어 시스템은 도 2에 도시된 바와 같이 하나 이상의 통신 단말기(100), 통신 시스템(200), 외부 서버(300)(원격제어서버 또는 푸시 서버)를 포함하여 구성된다.The hole punching control system according to an embodiment of the present invention includes at least one communication terminal 100, a communication system 200, an external server 300 (a remote control server or a push server) as shown in FIG. 2 .

통신 시스템(200)은 NAT(Network Address Translation) 기능을 수행하며, 보다 구체적으로는, 통신 단말기(100)에 사설 IP 주소(즉, 사설 네트워크 주소)를 할당함과 아울러 통신 단말기(100)의 사설 IP 주소를 공인 IP 주소로 변환하여 통신 단말기(100)와 외부의 소정 서버 또는 인터넷이 통신할 수 있도록 하는 기능을 수행한다.The communication system 200 performs a NAT (Network Address Translation) function and more specifically assigns a private IP address (i.e., a private network address) to the communication terminal 100, Converts the IP address into a public IP address, and communicates with the communication terminal 100 and a predetermined external server or the Internet.

이러한 통신 시스템(200)에는 적어도 하나의 네트워크 장치가 포함되어 있는데, 이러한 네트워크 장치는 수신되는 패킷(Packet)의 최종 목적지 및 당해 수신된 패킷에 포함된 TTL(Time To Live) 값에 따라 당해 패킷의 처리를 수행한다.In this communication system 200, at least one network device is included, and this network device is configured to transmit the packet of the packet according to the TTL (Time To Live) value included in the final destination of the received packet and the received packet. Processing is performed.

여기서 통신 시스템(200)에 포함되는 네트워크 장치는 통신 단말기(100)에 사설 IP 주소를 할당하고 공인 IP 주소로의 변환을 처리하는 NAT 장치(즉, 주소 변환 장치)에 해당할 수도 있고, 단지 패킷의 전달만을 수행하는 라우터에 해당할 수도 있다. Here, the network device included in the communication system 200 may correspond to a NAT device (i.e., an address translation device) that assigns a private IP address to the communication terminal 100 and processes the conversion to a public IP address, Lt; RTI ID = 0.0 > a < / RTI >

그 밖에도 통신 시스템(200)은 세션을 형성하고 그 형성된 세션을 이용하는 세션 초기화 프로토콜(Session Initiation Protocol; SIP)에 따라 세션을 설정하여 호 처리를 수행하거나 통신 단말기(100)의 가입자 정보를 관리하는 각종 장치들이 포함될 수 있다.In addition, the communication system 200 may be configured to establish a session according to a session initiation protocol (SIP) that forms a session and uses the formed session, performs call processing, or manages subscriber information of the communication terminal 100 Devices may be included.

TTL 값은 각 패킷 전송 경로에 대해 무한 루프(Infinite loop)가 형성되지 않도록 하기 위한 것으로서 소정의 시간(네트워크 장치 경유 횟수)이 경과하면 자동으로 해당 패킷이 소멸되도록 하기 위해 정의된 값을 의미한다.The TTL value is used to prevent an infinite loop from being formed for each packet transmission path, and means a value defined for automatically destroying the packet when a predetermined time (the number of times passed through the network device) elapses.

한편, 통신 시스템(200)은 통신 단말기(100)의 UDP 홀 펀칭 유도 신호에 따라, UDP 홀 펀칭 처리를 수행하여 UDP 홀을 형성하는 기능을 수행한다.Meanwhile, the communication system 200 performs a UDP hole punching process according to a UDP hole punching induction signal of the communication terminal 100 to form a UDP hole.

여기서, UDP 홀은 서로 다른 NAT 하에 존재하는 두 피어(peer)들 간에 P2P(peer-to-peer) 통신을 하기 위해 형성되며, 아울러, UDP 홀을 형성하는 것을 UDP 홀 펀칭(punching)이라 하는데, 여기서 UDP 홀은 UDP 데이터가 통과될 수 있도록 하는 일종의 논리적인 통로에 해당한다.Here, the UDP hole is formed for peer-to-peer communication between two peers under different NATs. In addition, UDP hole forming is called UDP hole punching, Here, the UDP hole corresponds to a kind of logical path for allowing UDP data to pass through.

예를 들어, 주소 변환 장치의 라우팅 테이블 등에 주소 저장 또는 매핑을 해두는 것을 의미할 수 있으며, 이에 따라 외부 서버(300)에서 전송된 UDP 데이터가 통신 시스템(200)에 포함되는 NAT를 경유하여 저장된 주소 정보에 따른 통신 단말기(100)에 도달할 수 있게 되는 것이다. For example, it may mean storing or mapping an address in a routing table of the address translation device. Accordingly, the UDP data transmitted from the external server 300 is stored via the NAT included in the communication system 200 It is possible to reach the communication terminal 100 according to the address information.

또한, 통신 단말기(100)에 사설 IP가 설정되어 있고 별도의 공인 IP가 존재하지 않는 경우에는, 외부 서버(300)로부터 전송된 데이터가 해당 통신 단말기(100)에 도달하는 것이 용이하지 않은데, 이 때 통신 시스템(200)에 포함된 NAT에 해당 통신 단말기(100)와 외부 서버(300)에 대하여 UDP 홀 펀칭이 이루어져 있는 경우, 외부 서버(300)는 통신 시스템(200)에 포함된 NAT에 형성된 UDP 홀을 경유하여 통신 단말기(100)에 소정의 데이터를 전송할 수 있게 되는 것이다.In the case where the private IP is set in the communication terminal 100 and there is no separate public IP, it is not easy for the data transmitted from the external server 300 to reach the corresponding communication terminal 100, When the UDP hole punching is performed for the communication terminal 100 and the external server 300 in the NAT included in the communication system 200, the external server 300 is formed in the NAT included in the communication system 200 It is possible to transmit predetermined data to the communication terminal 100 via the UDP hole.

한편, 통신 시스템(200)에 포함된 NAT는 기 형성된 홀을 미리 설정된 일정 시간 동안만 유지하며, 설정된 해당 시간이 경과하면 형성된 홀을 없앨 수 있다. On the other hand, the NAT included in the communication system 200 maintains the preformed holes for a predetermined period of time, and can eliminate holes formed when the set time elapses.

따라서, 통신 단말기(100)는 홀이 없어지는 것을 방지하고 홀 펀칭 세션을 유지하기 위한 세션 유지 패킷인 홀 펀칭 유도 신호를 생성하여 주기적으로 통신 시스템(200)으로 전송할 수 있다.Accordingly, the communication terminal 100 can generate the hole punching induction signal, which is a session holding packet for preventing the hole from being lost and maintaining the hole punching session, and periodically transmit the hall punching inducing signal to the communication system 200.

한편, 통신 단말기(100)는 통신 시스템(200)에 포함된 NAT로부터 사설 IP(또는 사설 네트워크 주소)를 할당 받고 그 할당 받은 사설 IP를 이용하여 통신하는 장치로서 컴퓨터, 이동통신 단말기 등을 모두 포함하는 것이다.Meanwhile, the communication terminal 100 is a device that receives a private IP (or a private network address) from a NAT included in the communication system 200 and communicates using the allocated private IP, including a computer and a mobile communication terminal .

여기서 통신 단말기(100)는 SIP(Session Initiation Protocol)에 따라 세션을 형성하고 그 형성된 세션을 이용하여 통신할 수 있는데, 이를 위해 통신 단말기(100)는 먼저 통신 시스템(200)에 사용 등록을 요청하고 필요한 인증 등의 과정을 거쳐 통신을 위한 세션을 설정할 수 있다.Here, the communication terminal 100 may establish a session according to a SIP (Session Initiation Protocol) and communicate using the formed session. To this end, the communication terminal 100 first requests the communication system 200 to register use A session for communication can be established through a process such as authentication required.

아울러, 통신 단말기(100)는 외부 서버(300)로부터 UDP 데이터를 수신하는 기능도 수행한다.In addition, the communication terminal 100 also receives UDP data from the external server 300.

이러한 경우, 사설 IP가 할당된 통신 단말기(100)가 외부 서버(300)로부터 UDP 데이터를 수신하기 위해서는, 상술한 바와 같이 통신 시스템(200)에 포함된 NAT에 UDP 홀이 형성되어 있어야 하는데, 이를 위해 통신 단말기(100)는 UDP 홀 펀칭 요청 신호 또는 이미 홀이 생성이 되었다면 홀을 유지하기 위한 UDP 홀 펀칭 유도 신호를 통신 시스템(200)에 포함된 NAT에 전송한다. In this case, in order for the communication terminal 100 to which the private IP is allocated to receive the UDP data from the external server 300, the UDP hole must be formed in the NAT included in the communication system 200 as described above. The communication terminal 100 transmits a UDP hole punching request signal or a UDP hole punching induction signal for maintaining a hole to the NAT included in the communication system 200 when the hole is generated.

이에 따라 통신 시스템(200)에 포함된 NAT는 UDP 홀을 형성하거나 또는 UDP홀을 유지하게 되고, 결과적으로는 형성된 UDP 홀을 통해 외부 서버(300)로부터의 UDP 데이터가 통신 단말기(100)로 전달될 수 있다.Accordingly, the NAT included in the communication system 200 forms a UDP hole or maintains a UDP hole. As a result, UDP data from the external server 300 is transmitted to the communication terminal 100 through the UDP hole formed .

앞서 언급한 바와 같이, 최근 이러한 통신 단말기의 종류 및 형태가 다양해 지고 개체수도 늘어남에 따라서, NAT 장치에 의해 관리 또는 제어되는 통신 단말기의 수도 급증하였다. As mentioned above, as the type and the form of the communication terminal have diversified and the number of the population has increased, the number of communication terminals managed or controlled by the NAT device has increased sharply.

일반적으로 서버는 특정 트래픽 양을 초과할 경우, 서버의 기능을 수행하지 못할 뿐 만 아니라 서버 다운(Server Down) 현상을 초래할 수도 있기 때문에, 통신 단말기의 개체수가 늘어남에 따라서, 서버의 개체수도 마찬가지로 증설시킬 필요가 있으며, 증설된 외부 서버에 트래픽을 적절히 분배하는 방법도 요구될 것이다. In general, if a server exceeds a certain amount of traffic, it may not only perform a server function but also cause a server down phenomenon. Therefore, as the number of communication terminals increases, the number of servers also increases , And a method of properly distributing traffic to the added external server will also be required.

이하, 도 3을 참조하여 본 발명의 일실시예에 따라 서버에 트래픽을 분배하는 방법을 살펴보기로 한다.Hereinafter, a method of distributing traffic to a server according to an embodiment of the present invention will be described with reference to FIG.

도 3은 본 발명의 일실시예에 따른, 홀 펀칭 세션 제어 시스템의 제어 흐름을 예시하는 도면이다.3 is a diagram illustrating a control flow of a hole punching session control system, in accordance with an embodiment of the present invention.

홀 펀칭 세션을 제어하는 시스템은 IP 단말(100), NAT 장치(400), 메인 홀 펀칭 서버(300a), 복수 개의 홀 펀칭 서버들(300b-1 내지 300b-3) 및 원격 제어 서버(300c)를 포함할 수 있다. The system for controlling the hole punching session includes an IP terminal 100, a NAT device 400, a main hall punching server 300a, a plurality of hole punching servers 300b-1 to 300b-3, and a remote control server 300c. . ≪ / RTI >

도 3과 함께 설명하는 예시에서는 복수개의 홀 펀칭 서버들을 3 개로 예시하였으나, 본 예시는 홀 펀칭 서버들의 개수를 한정하지 않는 단순한 예시일 뿐이다.In the example illustrated in FIG. 3, a plurality of the hole punching servers are illustrated as three, but this example is merely an example without limiting the number of the hole punching servers.

본 발명의 일실시예에 따른 시스템의 제어 방법은, 부팅을 위한 초기 등록 단계, 세션을 유지하기 위한 주기적 홀 펀칭 단계 및 원격 제어 단계로 구분될 수 있다.The control method of the system according to an embodiment of the present invention can be divided into an initial registration step for booting, a periodic hole punching step for maintaining a session, and a remote control step.

IP 단말(100)은 상술하였던 통신 시스템에 포함된 NAT 장치(400)에 의해서 사설 IP 주소를 할당 받은 통신 단말기를 의미한다. IP 단말(100)은 고정되거나 이동성을 가질 수 있으며, UE(User Equipment), UT(User Terminal), 무선기기(Wireless Device) 등 여러 가지 다른 용어로 불릴 수 있다.The IP terminal 100 refers to a communication terminal to which a private IP address is assigned by the NAT device 400 included in the communication system. The IP terminal 100 may be fixed or mobile and may be called by various other terms such as User Equipment (UE), User Terminal (UT), and Wireless Device.

IP 단말(100)의 일례로, Wi-Fi 폰, IP (Internet Protocol) 폰, AP(Access Point), HGW(Home Gateways), STB(Set Top Box) 또는 PC(Personal Computer), 노트북 컴퓨터, 휴대폰(Mobile Phone), 태블릿 PC, 스마트폰(Smart Phone), 셀룰러폰, PCS(Personal Communication Service)폰, GSM(Global System for Mobile)폰, WCDMA(Wideband CDMA)폰, MBS(Mobile Broadband System)폰, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player)를 포함할 수 있다. 물론 이는 예시에 불과할 뿐이며, 상술한 예 이외에도 현재 개발되어 상용화되었거나 향후 개발될 모든 통신이 가능한 장치를 포함하는 개념으로 해석되어야 한다.An IP (Internet Protocol) phone, an AP (Access Point), an HGW (Home Gateways), a STB (Set Top Box) or a PC (Personal Computer) A mobile phone, a tablet PC, a smart phone, a cellular phone, a PCS (Personal Communication Service) phone, a GSM (global system for mobile) phone, a WCDMA (Wideband CDMA) phone, PDA (Personal Digital Assistants), and PMP (Portable Multimedia Player). Of course, this is merely an example, and it should be construed as a concept including a device that is currently developed, commercialized, or capable of all communication to be developed in the future, in addition to the above-described examples.

본 발명의 일실시예에 따른 IP 단말(100)은 통신 시스템에 포함된 NAT 장치(400)로부터 사설 IP 주소 192.168.0.2를 할당 받았다고 가정한다. 이하, 초기 등록 단계를 설명한다.
It is assumed that the IP terminal 100 according to the embodiment of the present invention is allocated a private IP address 192.168.0.2 from the NAT device 400 included in the communication system. Hereinafter, the initial registration step will be described.

- 초기 등록 단계 (부팅 단계)- Initial registration phase (boot phase)

상기 IP 단말(100)은 단말기의 제조 시 메인 홀 펀칭 서버의 주소 정보를 저장하는 방식으로, 메인 홀 펀칭 서버의 주소 정보를 기 저장하고 있다고 가정한다. 여기서, 주소 정보는 상기 메인 홀 펀칭 서버의 IP(Internet Protocol) 주소 및 포트(Port) 정보를 포함할 수 있다. The IP terminal 100 stores the address information of the main hall punching server at the time of manufacturing the terminal, and it is assumed that the IP terminal 100 stores address information of the main hall punching server. Here, the address information may include IP (Internet Protocol) address and port information of the main hall punching server.

이하, 명세서에서의 주소 정보는 IP 주소 및 포트 정보를 함께 포함하는 용어로 사용한다. 또한, 본 예시에서 메인 홀 펀칭 서버의 주소 정보는 100.100.1.1:5000이라고 가정한다.Hereinafter, the address information in the specification is used as a term including IP address and port information together. In this example, it is assumed that the address information of the main hall punching server is 100.100.1.1:

S301 단계에서, IP 단말(100)은 기 저장하고 있는 메인 홀 펀칭 서버의 주소 정보를 이용하여, 메인 홀 펀칭 서버(300a)에게 홀 펀칭 세션을 생성할 것을 요청하는 초기 레지스트리 패킷(Initial_REG_Packet)을 제 1 세션 요청 신호로 하여 전송한다. In step S301, the IP terminal 100 transmits an initial registry packet (Initial_REG_Packet) requesting creation of a hole punching session to the main hall punching server 300a using the address information of the main hall punching server 1 session request signal.

이 때, 제 1 세션 요청 신호에는 초기 레지스트리 패킷 외에 IP 단말(100)의 통신 단말기 타입 및 세션 요청 신호의 프로토콜 타입이 포함될 수 있다. In this case, the first session request signal may include the communication terminal type of the IP terminal 100 and the protocol type of the session request signal in addition to the initial registry packet.

제 1 세션 요청 신호를 수신 받은 메인 홀 펀칭 서버(300a)는 이하의 S302 단계를 진행한다.The main hall punching server 300a receiving the first session request signal proceeds to step S302.

S302 단계에서, 메인 홀 펀칭 서버(300a)는 배분 정책(서버 및/또는 단말의 성능 및 종류를 고려)에 따라, 제 1 내지 제 3 홀 펀칭 서버(300b-1 내지 300b-3) 중 어느 하나의 서버를 지정한다. In step S302, the main hall punching server 300a selects one of the first through third hole punching servers 300b-1 through 300b-3 according to a distribution policy (considering the performance and kind of the server and / Of the server.

여기서 배분 정책이란, 메인 홀 펀칭 서버(300a)가 복수 개의 홀 펀칭 서버들의 트래픽을 관리, 배분하기 위한 정책으로서, 앞서의 복수 개의 홀 펀칭 서버들 각각의 성능(Capability), 제 1 세션 요청 신호에 포함된 IP 단말(100)의 통신 단말기 타입 및/또는 세션 요청 신호의 프로토콜 타입에 관한 정보(들)를 기초로 설정되는 정책일 수 있다. Herein, the distribution policy is a policy for managing and distributing traffic of a plurality of hole punching servers by the main hall punching server 300a. The policy is a function of performance of each of the plurality of hole punching servers, (S) about the communication terminal type of the included IP terminal 100 and / or the protocol type of the session request signal.

예를 들어, 복수 개의 서버들 중에 상대적으로 성능이 좋은 서버와 성능이 나쁜 서버가 존재할 경우, 해당 서버들의 성능 정보를 기초로 하여, 성능이 좋은 서버에는 상대적으로 많은 IP 단말들을 할당할 수 있고, 성능이 나쁜 서버에는 상대적으로 적은 IP 단말들을 할당할 수 있다. For example, if a server having a relatively high performance and a server having a low performance are present among a plurality of servers, a relatively large number of IP terminals can be allocated to a server having a good performance based on the performance information of the servers, A relatively low number of IP terminals can be allocated to a poorly performing server.

또 다른 예시로, 제 1 세션 요청 신호에 포함된 IP 단말(100)의 통신 단말기 타입 정보에 따라 IP 단말의 형태가 스마트폰 형태일 경우에는, 스마트폰만을 담당하는 스마트폰 전용 서버로 IP 단말의 홀 펀칭 세션 요청을 할당할 수 있고, IP 단말의 형태가 노트북 또는 데스크탑 형태일 경우에는 노트북 또는 데스크탑을 담당하는 노트북 또는 데스크탑 전용 서버로 IP 단말의 홀 펀칭 세션 요청을 할당할 수 있다. In another example, when the type of the IP terminal is a smart phone type according to the communication terminal type information of the IP terminal 100 included in the first session request signal, A hole punching session request can be assigned to the IP terminal, and when the IP terminal is in the form of a notebook or a desktop, a hole punching session request of the IP terminal can be assigned to a notebook or desktop dedicated server for a laptop or a desktop.

또 다른 예시로, 제 1 세션 요청 신호에 포함된 세션 요청 신호의 프로토콜 타입에 관한 정보에 따라, A 프로토콜 타입에 따른 홀 펀칭 세션 요청 신호를 수신하는 경우 소정의 제 1 서버로 IP 단말의 홀 펀칭 세션 요청을 할당할 수 있고, B 프로토콜 타입에 따른 홀 펀칭 세션 요청 신호를 수신하는 경우 소정의 제 2 서버로 IP 단말의 홀 펀칭 세션 요청을 할당할 수 있다. In another example, when receiving a hole punching session request signal according to the A protocol type according to information on the protocol type of the session request signal included in the first session request signal, A session pending session request can be allocated to a predetermined second server when receiving a hole punching session request signal according to the B protocol type.

본 발명의 실시예들에서의 배분 정책은, 상술한 기준에 한정되지 않고, 홀 펀칭 서버들 간에 트래픽을 적절히 배분시킬 수 있는 조건들에 맞게 적절히 적용할 수 있다. The distribution policy in the embodiments of the present invention is not limited to the above-mentioned criteria, but can be appropriately applied to conditions that can appropriately distribute traffic among the hole punching servers.

한편, 도 3에서, 메인 홀 펀칭 서버(300a)는 앞서의 제 1 세션 요청 신호(S301)에 대하여 미리 정해진 배분 정책에 맞게 제 1 홀 펀칭 서버를 지정하였다고 가정하며, 제 1 홀 펀칭 서버의 주소 정보는 100.100.100.1: 6000이라고 가정한다.3, it is assumed that the main hall punching server 300a designates the first hole punching server according to a predetermined allocation policy for the first session request signal S301, and the address of the first hole punching server 300a The information is assumed to be 100.100.100.1: 6000.

제 1 세션 요청에 대하여 배분 정책에 따라 복수 개의 서버들 중 제 1 홀 펀칭 서버를 지정한 메인 홀 펀칭 서버(300a)는 직접 IP 단말(100)에게 제 1 세션 요청 신호에 대한 응답으로 초기 레지스트리 응답 신호(Initial_REG ACK)를 송신한다(S303). 이 때 응답 신호는, S302 단계에서 홀 펀칭 메인 서버가 지정한 제 1 홀 펀칭 서버(300b-1)의 주소 정보를 포함할 수 있다.The main hall punching server 300a designating the first hall punching server among the plurality of servers according to the distribution policy for the first session request directly sends the initial registry response signal < RTI ID = 0.0 > (Initial_REG ACK) (S303). In this case, the response signal may include address information of the first hole punching server 300b-1 designated by the hole punching main server in step S302.

한편, IP 단말(100)은 수신한 응답 신호에 포함된 제 1 홀 펀칭 서버(300b-1)의 주소 정보를 이용하여 상기 제 1 홀 펀칭 서버(300b-1)로 홀 펀칭 세션 생성을 위한 제 2 세션 요청 신호를 송신한다(S304).On the other hand, the IP terminal 100 uses the address information of the first hole punching server 300b-1 included in the received response signal to send the first hole punching server 300b- 2 session request signal (S304).

여기서, 제 2 세션 요청 신호는 IP 단말(100)의 사설 IP 주소(192.168.0.2:161) 및 제 1 홀 펀칭 서버(300b-1)의 주소 정보(100.100.100.1:6000)를 포함할 수 있다.Here, the second session request signal may include the private IP address 192.168.0.2:161 of the IP terminal 100 and the address information 100.100.100.1: 6000 of the first hole punching server 300b-1 .

또한, IP 단말(100)이 송신한 제 2 세션 요청 신호는 통신 시스템(200)에 포함된 NAT 장치(400)를 경유하여 제 1 홀 펀칭 서버(300b-1)로 전송되는데, 제 2 세션 요청 신호가 NAT 장치(400)를 경유하는 때에, 제 2 세션 요청 신호에 포함된 사설 IP(192.168.0.2:161) 주소는 공인 IP 주소(164.124.1.100:4000)로 변환(Transition)이 이루어진다(S305). The second session request signal transmitted from the IP terminal 100 is transmitted to the first hole punching server 300b-1 via the NAT device 400 included in the communication system 200. The second session request signal transmitted from the second session request When the signal passes through the NAT device 400, the address of the private IP (192.168.0.2:161) included in the second session request signal is converted into the public IP address 164.124.1.100:4000 (S305 ).

제 1 홀 펀칭 서버(300b-1)은 상기 S305 단계에서 전환된 공인 IP 주소(161.124.1.100:4000) 및 제 1 홀 펀칭 서버(300b-1)의 주소 정보(100.100.100.1:6000)를 포함하는 제 2 세션 요청 신호를 수신한다(S306).The first hole punching server 300b-1 includes the public IP address 161.124.1.100:4000 converted in step S305 and the address information 100.100.100.1: 6000 of the first hole punching server 300b-1 The second session request signal is received (S306).

제 2 세션 요청 신호를 수신한 제 1 홀 펀칭 서버(300b-1)는, IP 단말(100)의 IP 주소 및/또는 포트(Port) 정보를 서버 내 메모리부에 저장(Registration) 한다(S307). The first hall punching server 300b-1 that has received the second session request signal registers the IP address and / or port information of the IP terminal 100 in the server memory unit (S307) .

이 때 서버 내 메모리부에 저장되는 IP 단말(100)의 IP 주소는 NAT에서 변환된 IP 단말(100)의 공인 IP 주소 및/또는 포트 정보이며, 상기 저장된 정보는 이하에서 설명하는 바와 같이 제 1 홀 펀칭 서버(300b-1)가 향후 필요에 따라 IP 단말(100)에 접근을 시도해야 하는 경우에 활용될 수 있다. In this case, the IP address of the IP terminal 100 stored in the memory unit of the server is the public IP address and / or port information of the IP terminal 100 converted from the NAT, It can be utilized when the hole punching server 300b-1 needs to try to access the IP terminal 100 as needed in the future.

또한, 도 3에는 도시되어 있지 않지만, IP 단말(100)에게 세션 생성이 허용되었음을 응답 메시지를 전송하는 방법 등을 통하여 알려줄 수 있다.
Although not shown in FIG. 3, it is possible to inform the IP terminal 100 of a method of transmitting a response message indicating that session creation is permitted.

- 주기적 홀 펀칭 단계(세션 유지 단계)- Periodic hole punching step (session holding step)

상술한 바와 같이 홀 펀칭 세션 제어 시스템은 형성된 홀을 기 설정된 시간 동안만 유지하고, 해당 시간이 경과하면 홀을 없앨 수 있다. 그렇기 때문에 홀을 계속적으로 유지하기 위해서는 세션을 유지하기 위한 과정이 필요하며, 본 주기적 홀 펀칭 단계는 형성된 홀을 유지하기 위한 단계를 말한다.As described above, the hole punching session control system can hold the formed holes only for a predetermined time, and can eliminate the holes when the time elapses. Therefore, in order to keep the holes continuously, a process for maintaining the session is required, and this periodic hole punching step is a step for maintaining the formed holes.

홀 펀칭을 생성한 후 IP 단말(100)은 NAT 장치(400)에게 홀 펀칭을 유지하기 위한 홀 펀칭 유지용 패킷을 전송할 수 있으며(S308), 홀 펀칭 유지용 패킷에는 IP 단말(100)의 주소 정보 및 제 1 홀 펀칭 서버(300b-1)의 주소 정보를 포함할 수 있다.After generating the hole punching, the IP terminal 100 can transmit the hole punching holding packet for maintaining the hole punching to the NAT device 400 (S308). The address punching holding packet includes the address of the IP terminal 100 Information and address information of the first hole punching server 300b-1.

IP 단말(100)은 홀 펀칭 유지용 패킷의 TTL의 값을 적절하게 설정할 수 있으며, 예를 들어, 5 미만으로 설정할 수 있다. 바람직하게는, 홀 펀칭 세션은 계속하여 유지하되 망의 부하는 최소가 되도록 설정할 수 있다. The IP terminal 100 can appropriately set the value of the TTL of the packet for holding the hole punching and can be set to, for example, less than 5. Preferably, the hole punching session can be maintained so as to keep the network load to a minimum.

NAT 장치(400)는 IP 단말(100)의 사설 IP 주소를 공인 IP 주소로 전환(Transition)할 수 있다(S309). 또한, NAT 장치(400)는 전환된 공인 IP 주소를 포함한 홀 펀칭 유지용 패킷을 형성된 홀의 L2(Layer 2)까지만 전달할 수 있으며(S310), 전달된 홀 펀칭 유지용 패킷은 L2에서 소멸할 수 있다.The NAT device 400 may transition the private IP address of the IP terminal 100 to a public IP address (S309). In addition, the NAT device 400 can deliver the hole punching holding packet including the converted public IP address only to the L2 (Layer 2) of the formed hole (S310), and the delivered hole punching holding packet can be destroyed at L2 .

소정 주기로 상술한 S308 단계 내지 S310 단계를 반복함에 따라, 홀 펀칭 세션 제어 시스템은 형성된 홀 펀칭 세션을 계속적으로 유지할 수 있다.
By repeating the above-described steps S308 to S310 at predetermined intervals, the hole punching session control system can continuously maintain the formed hole punching session.

- 원격 제어 단계- Remote control step

상술한 방법에 의해서 생성/유지 되는 홀 펀칭 세션을 통하여, 원격 제어 서버(300c)는 IP 단말(100)을 제어할 수 있다.The remote control server 300c can control the IP terminal 100 through a hole punching session created / maintained by the above-described method.

일반적으로 IP 단말들은 주기적으로 유지 보수를 해 줄 필요성이 있다. 생산 단계에서 예측하지 못했던 동작의 오류 또는 부품의 노화에 따라서 발생할 수 있는 오작동들에 대하여 적절하게 대응하기 위해서는, IP 단말들에 대한 지속적인 관리가 필요하기 때문이다. Generally, IP terminals need to be periodically maintained. This is because it is necessary to continuously manage the IP terminals in order to appropriately cope with malfunctions that can not be predicted at the production stage or malfunctions that may occur due to aging of components.

따라서, IP 단말들의 제조 업체에서는 이러한 지속적인 관리를 수행하기 위하여, 원격 제어 서버를 구비하고, 원격으로 이러한 IP 단말들을 제어하여 관리하는 것이 일반적이다.Therefore, in order to perform such continuous management, the manufacturer of the IP terminals generally has a remote control server and controls them by remotely controlling these IP terminals.

도 4는 본 발명의 실시예에 따른 원격 제어 명령어 형식을 예시하는 도면이다.4 is a diagram illustrating a remote control command format according to an embodiment of the present invention.

원격 제어 서버가 IP 단말들을 원격으로 제어하기 위해서는 원격 제어 명령어를 IP 단말에게 직접 또는 간접적으로 송신함으로써 이루어질 수 있다.In order for the remote control server to remotely control the IP terminals, the remote control server can be directly or indirectly transmitted to the IP terminal.

여기서 원격 제어 명령어의 기본 포맷(Format)은 "cmd" 필드(401), "object" 필드(402) 및 "value" 필드(403)를 포함할 수 있다.The basic format of the remote control command may include a "cmd" field 401, an "object" field 402, and a "value" field 403.

"cmd" 필드(401)는 명령어의 종류를 지정하는 필드로써, “cmd”필드에 포함될 수 있는 명령어의 종류에 대한 예시는 표 1에 도시된 바와 같다.The "cmd" field 401 is a field for designating the type of command, and an example of the type of command that can be included in the " cmd "

CMD (Command)CMD (Command) 내용Contents SETSET 임계치, 선택값 등 운용자가 설정치를 입력Threshold value, selection value, etc., the operator inputs the set value GETGET 임계치, 선택값 등 운용자가 설정치를 입력Threshold value, selection value, etc., the operator inputs the set value OPROPR 해당 명령을 동작 시킴Activate the command RLSRLS OPR명령으로 실행시킨 동작을 해제Release the action executed by OPR instruction

예를 들어, 원격 제어 명렁어의 포맷 중 "cmd" 필드(401)에 SET 명령어가 포함될 경우, 전체 원격 제어 명령은 IP단말에 특정한 임계치 또는 선택값 등의 수치를 설정하기 위한 명령어일 수 있다.For example, when the SET command is included in the " cmd "field 401 in the format of the remote control command, the entire remote control command may be a command for setting a numerical value such as a threshold value or a selection value specific to the IP terminal.

또 다른 예시로서, 원격 제어 명렁어의 포맷 중 “cmd” 필드(401)에 OPR 명령어가 포함될 경우, 전체 원격 제어 명령은 IP단말에 특정 명령을 동작하라는 것을 지시하기 위한 명령어일 수 있다. As another example, if the OPR command is included in the " cmd " field 401 in the format of the remote control command, the entire remote control command may be an instruction to instruct the IP terminal to operate a specific command.

한편, 원격 제어 명렁어의 포맷 중 "object" 필드(402)는 실행 내용을 지정하는 필드로써, 상술한 예시에서, SET 명령어에 따른 임계값 또는 선택값을 설정 할 내용을 지칭하는 명령어일 수 있다. On the other hand, the "object" field 402 of the format of the remote control command is a field for designating execution contents, and in the above-described example, it may be a command for designating a threshold or a value to be set according to the SET command .

"object" 필드에 포함될 수 있는 종류로는 단말 별 관리 항목 및 실행 명령 항목으로 분류될 수 있다.The types that can be included in the "object" field can be classified into management items for each terminal and execution command items.

또한, 단말 별 관리 항목은 단말 상태 정보, 서비스 품질/장애 정보를 포함할 수 있으며, 실행 명령 항목으로는 리셋(Reset), 업그레이드(Upgrade), 프로비져닝(Provisioning) 또는 초기화 명령을 포함할 수 있으며, 이들은 모두 예시에 불과할 뿐 본 예시에 한정되지 않는다.The management items for each terminal may include terminal status information, service quality / fault information, and execution command items may include a reset, an upgrade, a provisioning or an initialization command, These are all examples and are not limited to this example.

한편, 원격 제어 명렁어의 포맷 중 "value" 필드(403)는 수치를 지정하는 필드로써, 수치가 필요한 명령어의 수치를 지정하는 필드이다. 즉, 상술한 SET 명령어에 대한 예시에서, "임계치"의 값을 "10"으로 설정하고자 할 때, "value" 필드(403)는 수치값 "10"을 포함할 수 있다. On the other hand, the "value" field 403 of the format of the remote control command designates a numeric value, and is a field for designating a numerical value of a command requiring a numeric value. That is, in the above example of the SET command, when the value of the "threshold value" is to be set to "10 ", the value field 403 may include the numerical value" 10 ".

더 나아가, "value" 필드(403)는 전원의 온/오프(on/off) 제어 값 또는 상술한 설정 값을 나타내는 상태 값을 나타낼 수 있다. 그리고 "value" 필드(403)는 경로 정보로, URL(uniform resource locator) 또는 파일의 경로 정보(파일 위치)를 포함할 수 있다.Further, the "value" field 403 may indicate a state value indicating the on / off control value of the power supply or the set value described above. The "value" field 403 is path information, and may include a uniform resource locator (URL) or path information (file location) of a file.

다시 도 3으로 복귀하면, 원격 제어 서버(300c)는 특정 IP 단말(들)을 원격으로 제어 할 필요성이 있는 경우가 있다.Returning to FIG. 3 again, the remote control server 300c may need to remotely control the specific IP terminal (s).

즉, 서비스 품질에 장애가 존재하는 특정 IP 단말(들) 또는 단말 내 설치 된 프로그램 내지 운영체제의 업그레이드(Upgrade)가 필요한 특정 IP 단말(들)에 대해서는, 원격 제어 서버(300c)가 그러한 특정 IP 단말(들)을 원격으로 관리하고 제어 할 필요성이 있다.That is, for the specific IP terminal (s) whose upgrade is necessary for the specific IP terminal (s) with the obstacle in the service quality or the program installed in the terminal or the operating system, the remote control server 300c transmits the specific IP terminal To be managed and controlled remotely.

다만, 이것은 본 발명의 실시에 따른 일 예시에 불과하며, 원격 제어 서버가 특정 IP 단말(들)을 원격으로 관리하고 제어 할 필요성이 있는 경우는 위 예시에 한정되지 않는다.However, this is merely an example according to the embodiment of the present invention, and the case where the remote control server needs to remotely manage and control the specific IP terminal (s) is not limited to the above example.

따라서, 원격 제어 서버(300c)는 상기 메인 홀 펀칭 서버(300a)에게 원격 제어 요청 신호를 송신하며(S311), 상기 원격 제어 요청 신호에는 원격 제어 서버(300c)의 주소 정보 및 제어되어야 할 상태를 표현하는 정보가 포함될 수 있다.Accordingly, the remote control server 300c transmits a remote control request signal to the main hall punching server 300a (S311). In the remote control request signal, the address information of the remote control server 300c and a state to be controlled Information to be represented may be included.

또한, 원격으로 제어되어야 할 상태에 있는 단말들이, 원격 제어 서버(300c)가 송신한 원격 제어 요청 신호를 다양한 방법에 따라 수신하는 경우, 직접 원격 제어 서버(300c)로 접속하여 원격 제어 서버(300c)로부터 발송되는 제어 명령을 수행 할 수 있다. 본 명세서에서는 설명의 편의를 위하여 원격 제어 서버의 주소 정보는 100.100.200.1이라고 가정한다.When terminals in a state to be remotely controlled receive a remote control request signal transmitted from the remote control server 300c according to various methods, the terminal directly accesses the remote control server 300c and controls the remote control server 300c The control command can be transmitted from the control unit (not shown). For convenience of description, it is assumed herein that the address information of the remote control server is 100.100.200.1.

보다 구체적으로, 원격 제어 요청 신호를 수신 받은 메인 홀 펀칭 서버(300a)는 제 1 홀 펀칭 서버(300b-1)를 포함하는 복수 개의 홀 펀칭 서버에게 원격 제어 서버(300c)로부터 수신한 원격 제어 요청 신호를 전달한다(S313).More specifically, the main hall punching server 300a receiving the remote control request signal notifies the plurality of hole punching servers including the first hole punching server 300b-1 of the remote control request received from the remote control server 300c And transmits a signal (S313).

한편, 메인 홀 펀칭 서버(300a)로부터 원격 제어 요청 신호를 전달받은 제 1 홀 펀칭 서버(300b-1)를 포함하는 복수 개의 홀 펀칭 서버들은, 각각 생성/유지 중인 홀 펀칭 세션을 통하여 IP 단말(들)에게 전달받은 원격 제어 요청 신호를 다시 전달하게 된다.On the other hand, the plurality of hole punching servers including the first hole punching server 300b-1 that receives the remote control request signal from the main hall punching server 300a are connected to the IP terminal And transmits the remote control request signal to the remote controller.

이 때, 제 1 홀 펀칭 서버(300b-1)를 포함하는 복수 개의 홀 펀칭 서버는 각각 생성/유지 중인 홀 펀칭 세션을 통하여 상기 원격 제어 신호를 IP 단말 각각 에게 전달하기 위해서, 상기 S307 단계에서 기 저장된, 홀 펀칭 세션을 생성/유지 중인 IP 단말의 공인 IP 주소 및/또는 포트 정보를 이용하여, NAT 장치(400)로 상기 원격 제어 요청 신호를 전달한다(S314).At this time, a plurality of hole punching servers including the first hole punching server 300b-1 transmits the remote control signal to each of the IP terminals through a hole punching session which is generated / maintained, And transmits the remote control request signal to the NAT device 400 using the public IP address and / or the port information of the IP terminal which is storing / holding the hole punching session (S314).

이것은 NAT 장치(400)를 거치지 않고서는 사설 IP 주소만이 할당되어 있는 IP 단말(들)에게 상기 원격 제어 신호를 전달할 수 없기 때문이다.This is because it is not possible to transmit the remote control signal to the IP terminal (s) to which only the private IP address is assigned without going through the NAT device 400.

한편, NAT 장치(400)는 제 1 홀 펀칭 서버(300b-1)를 포함하는 복수 개의 홀 펀칭 서버로부터 수신한 원격 제어 요청 신호에 포함된 공인 IP 주소를 사설 IP 주소로 전환(Transition)시킨다(S315). Meanwhile, the NAT device 400 transitions the public IP address included in the remote control request signal received from the plurality of hole punching servers including the first hole punching server 300b-1 to a private IP address S315).

그리고 상기 전환시킨 사설 IP 주소를 각각의 원격 제어 요청 신호에 포함시켜, 상기 전환시킨 사설 IP를 갖는 각각의 특정 IP 단말에게 상기 원격 제어 신호를 전달한다(S316). The remote control signal includes the converted private IP address, and transmits the remote control signal to each specific IP terminal having the switched private IP at step S316.

한편, 원격 제어 요청 신호에는 상기 원격 제어 서버(300c)의 주소 정보인 100.100.200.1이 포함되어 있다. Meanwhile, the remote control request signal includes 100.100.200.1, which is the address information of the remote control server 300c.

따라서, 제 1 홀 펀칭 서버(300b-1)와 생성/유지 중인 홀 펀칭 세션을 통하여 원격 제어 요청 신호를 수신한 특정 IP 단말(100)은 자신에게 원격 제어 요청 신호를 전송한 원격 제어 서버(300c)의 주소 정보를 획득할 수 있게 된다.Accordingly, the specific IP terminal 100 receiving the remote control request signal through the hole punching session being generated / maintained with the first hole punching server 300b-1 transmits the remote control request signal to the remote control server 300c Can be obtained.

상술한 원격 제어 요청 신호를 수신한 IP 단말(100)은 원격 제어 서버(300c)에게 원격 제어 요청 신호에 대한 원격 제어 요청 신호의 응답에 상응하는 원격 제어 요청 패킷을 전송한다(S317).The IP terminal 100 having received the remote control request signal transmits a remote control request packet corresponding to the remote control request signal to the remote control server 300c in response to the remote control request signal (S317).

또한, 특정 IP 단말(100)이 전송한 원격 제어 요청 패킷을 수신한 원격 제어 서버(300c)는, 원격 제어 명령 요청 패킷을 IP 단말(100)에게 전송한다(S318).The remote control server 300c having received the remote control request packet transmitted from the specific IP terminal 100 transmits a remote control command request packet to the IP terminal 100 (S318).

이 때, 원격 제어 명령 요청 패킷은 앞서의 도 4에서 설명한 원격 제어 서버의 명령어를 포함할 수 있다. At this time, the remote control command request packet may include the command of the remote control server described above with reference to FIG.

한편, 원격 제어 서버의 명령어를 포함하는 원격 제어 명령 패킷을 수신한 IP 단말(100)은, 원격 제어 명령 패킷에 포함된 명령어에 기초하여 명령하는 동작을 수행하고, 수행한 결과를 원격 제어 서버(300c)에게 송신할 수 있다(S319).        On the other hand, the IP terminal 100, which has received the remote control command packet including the command of the remote control server, performs an operation based on the command included in the remote control command packet, 300c) (S319).

앞서의 S317 내지 S319 단계에서 특정 IP 단말(100)과 원격 제어 서버(300c)간에 송수신 되는 패킷들은, 생성/유지 중인 홀 펀칭 세션을 통하여 송수신 될 수 있으며, 필요에 따라서는 그 과정에서 NAT 장치(400)에 의해 사설 IP 주소 및 공인 IP 주소 상호간에 주소 전환이 일어날 수 있다.Packets transmitted / received between the specific IP terminal 100 and the remote control server 300c in the above steps S317 to S319 can be transmitted / received through the hole punching session during creation / maintenance, and if necessary, 400 may cause address translation between the private IP address and the public IP address.

도 5는 본 발명의 일실시예에 따른, 홀 펀칭 세션 제어 시스템 내 장치들의 블록 구성도를 예시하는 도면이다.5 is a diagram illustrating a block diagram of devices in a hole punching session control system, in accordance with an embodiment of the present invention.

도 5를 참고하면, 홀 펀칭 세션 제어 시스템은 통신 단말기(100), 메인 홀 펀칭 서버(200), 홀 펀칭 서버(300), NAT 장치(400) 및 원격 제어 서버(500)를 포함할 수 있다5, the hall punching session control system may include a communication terminal 100, a main hall punching server 200, a hall punching server 300, a NAT device 400 and a remote control server 500

또한, 도 5에 도시된 통신 단말기(100), 메인 홀 펀칭 서버(200), 홀 펀칭 서버(300), NAT 장치(400) 및 원격 제어 서버(500)는 본 명세서에서 제안된 기능, 과정 및/또는 방법을 구현하며, 앞서 설명한 본 발명의 실시예(들) 중 적어도 하나 또는 둘 이상을 결합하여 실시할 수 있다.The communication terminal 100, the main hall punching server 200, the hole punching server 300, the NAT device 400, and the remote control server 500 shown in FIG. 5 are not limited to the functions, And / or method, and can be implemented by combining at least one or more of the above-described embodiments (s) of the present invention.

홀 펀칭 세션 제어 시스템 내 장치들은 모두 고정되거나 이동성을 가질 수 있으며, 본 명세서에 지칭한 표현 이외에도 당해 기술분야에서 사용되는 같은 의미를 가진 여러 가지 다른 용어로 불릴 수 있다.Devices in a hole punching session control system may all be fixed or mobile and may be referred to in various other terms having the same meaning as used in the art in addition to the expressions referred to herein.

또한, 통신 단말기(100), 메인 홀 펀칭 서버(200), 홀 펀칭 서버(300), NAT 장치(400) 및 원격 제어 서버(500)를 포함하는 홀 펀칭 세션 제어 시스템 내 각각의 장치들은 무선통신부(101, 201, 301, 501)를 포함할 수 있다.Each of the devices in the hole punching session control system including the communication terminal 100, the main hall punching server 200, the hole punching server 300, the NAT device 400 and the remote control server 500, (101, 201, 301, 501).

상기 각각의 무선통신부(101, 201, 301, 501)는 이하에서 설명할 네트워크를 통하여 도 5에 도시된 장치들 상호 간에 유/무선 신호를 송신 및/또는 수신 하는 것이 가능하며, 잘 알려진 다양한 수단으로 구성될 수 있고 또한 상호 연결될 수도 있다.The respective wireless communication units 101, 201, 301, and 501 are capable of transmitting and / or receiving wireless signals between the devices shown in FIG. 5 through a network to be described below, And may also be interconnected.

아울러, 홀 펀칭 서버(300)에 포함된 메모리 부(303)는 본 발명에 있어서 통신 단말기(100)의 공인 IP 주소 및/또는 포트 정보를 저장하며, 제어부(302)의 제어에 따라 통신 단말기(100)의 공인 IP 주소 및/또는 포트 정보를 로드(load)하는 임시 저장 기억 공간(이하, "임시 메모리"라고 한다.)(미도시)을 포함할 수 있으며, 임시 메모리는 메모리와 별도로 구성될 수도 있다.The memory unit 303 included in the hole punching server 300 stores the public IP address and / or port information of the communication terminal 100 according to the present invention. (Hereinafter, referred to as "temporary memory") (not shown) for loading public IP address and / or port information of the portable terminal 100 It is possible.

여기서 임시 메모리는 홀 펀칭 서버(300)의 전원이 켜있는 동안 일시적으로 데이터를 보관하는 휘발성 메모리(예를 들면, RAM(Random Access Memory))를 의미할 수 있다.Here, the temporary memory may mean a volatile memory (e.g., RAM (Random Access Memory)) that temporarily stores data while the hall punching server 300 is powered on.

한편, 도 5에는 도시되어 있지 않지만, 홀 펀칭 세션 제어 시스템 내 모든 장치들은 동작에 필요한 데이터 및 프로그램을 저장하기 위하여 장치 내부 또는 외부에 각각 메모리부를 포함할 수 있으며, 이들은 잘 알려진 수단으로 각 장치의 제어부(102, 202, 302, 502)와 연결될 수 있다.On the other hand, although not shown in FIG. 5, all devices in the hole punching session control system may include a memory portion inside or outside the device to store data and programs necessary for operation, And may be connected to the control unit 102, 202, 302, 502.

또한, 통신 단말기(100), 메인 홀 펀칭 서버(200), 홀 펀칭 서버(300), NAT 장치(400) 및 원격 제어 서버(500)를 포함하는 홀 펀칭 세션 제어 시스템 내 장치들은 각각 제어부(102, 202, 302, 502)를 포함할 수 있다.The devices in the hole punching session control system including the communication terminal 100, the main hall punching server 200, the hole punching server 300, the NAT device 400 and the remote control server 500 are respectively connected to the controller 102 , 202, 302, 502).

상기 각각의 제어부(102, 202, 302, 502)는 도 5에 도시된 각각의 장치 내 무선통신부(101, 201, 301, 501) 및 메모리부(303)의 동작을 전반적으로 제어하며, 도 1 내지 도 4에서 제안된 기능, 과정 및/또는 방법을 구현하며, 홀 펀칭 세션 제어 시스템 내 각 장치들을 실제로 구동시키고 동작시키는 기능을 포함하여 수행한다.Each of the controllers 102, 202, 302 and 502 controls the operation of each of the wireless communication units 101, 201, 301 and 501 and the memory unit 303 shown in FIG. 5, Processes and / or methods proposed in FIG. 4 to FIG. 4, and includes the function of actually driving and operating each device in the hole punching session control system.

한편, 도 5에는 직접적으로 도시되어 있지 않지만 홀 펀칭 세션 제어 시스템 은 네트워크를 포함할 수 있으며, 이것은 도 5에 도시된 장치간의 메시지, 데이터, 정보 교환 및 신호 전송을 위한 통신망을 의미하며, 그 종류에는 특별히 제한되지 않는다. On the other hand, although not directly shown in FIG. 5, the hole punching session control system may include a network, which means a communication network for messages, data, information exchange and signal transmission between the devices shown in FIG. 5, Is not particularly limited.

예를 들어, 인터넷 프로토콜(IP)을 통하여 대용량 데이터의 송수신 서비스 및 끊기는 현상이 없는 데이터 서비스를 제공하는 아이피망 또는 아이피를 기반으로 서로 다른 망을 통합한 아이피망 구조인 올 아이피(All IP)망 일 수 있다. 또한, 네트워크는 유선망, Wibro(Wireless Broadband)망, WCDMA를 포함하는 이동통신망, HSDPA(High Speed Downlink Packet Access)망 및 LTE망을 포함하는 이동통신망, LTE advanced를 포함하는 이동통신망, 위성 통신망 및 와이파이(Wi-Fi)망 중에서 하나 이상을 결합하여 이루어질 수 있다.
For example, an All-IP network, which is an i-bipnet network that integrates different networks based on i-bimetals or IP, which provides data transmission and reception services for large capacity data through Internet Protocol (IP) Lt; / RTI > The network may be a mobile communication network including a wired network, a Wibro (Wireless Broadband) network, a mobile communication network including WCDMA, a High Speed Downlink Packet Access (HSDPA) network and an LTE network, a mobile communication network including LTE advanced, (Wi-Fi) network.

본 발명에 따른 실시예는 다양한 수단, 예를 들어, 하드웨어, 펌웨어(firmware), 소프트웨어 또는 그것들의 결합 등에 의해 구현될 수 있다. Embodiments in accordance with the present invention may be implemented by various means, for example, hardware, firmware, software, or a combination thereof.

하드웨어에 의한 구현의 경우, 본 발명의 일 실시예는 하나 또는 그 이상의 ASICs(application specific integrated circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 프로세서, 콘트롤러, 마이크로 콘트롤러, 마이크로 프로세서 등에 의해 구현될 수 있다.In the case of hardware implementation, an embodiment of the present invention may include one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs) field programmable gate arrays, processors, controllers, microcontrollers, microprocessors, and the like.

펌웨어나 소프트웨어에 의한 구현의 경우, 본 발명의 일 실시예는 이상에서 설명된 기능 또는 동작들을 수행하는 모듈, 절차, 함수 등의 형태로 구현될 수 있다. In the case of an implementation by firmware or software, an embodiment of the present invention may be implemented in the form of a module, a procedure, a function, or the like which performs the functions or operations described above.

소프트웨어 코드는 메모리 유닛에 저장되어 프로세서에 의해 구동될 수 있다. 메모리 유닛은 상기 프로세서 내부 또는 외부에 위치하여, 이미 공지된 다양한 수단에 의해 상기 프로세서와 데이터를 주고 받을 수 있다.The software code can be stored in a memory unit and driven by the processor. The memory unit is located inside or outside the processor, and can exchange data with the processor by various means already known.

본 발명은 본 발명의 특징을 벗어나지 않는 범위에서 다른 특정한 형태로 구체화될 수 있음은 통상의 기술자에게 자명하다. 따라서, 상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니 되고 예시적인 것으로 고려되어야 한다. It will be apparent to one of ordinary skill in the art that the present invention may be embodied in other specific forms without departing from the spirit of the invention. Accordingly, the above description should not be construed in a limiting sense in all respects and should be considered illustrative.

본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.The scope of the present invention should be determined by rational interpretation of the appended claims, and all changes within the scope of equivalents of the present invention are included in the scope of the present invention.

본 발명의 NAT 환경의 대량 단말 제어를 위한 홀 펀칭 분산 처리 시스템 및 그 시스템의 제어 방법은, NAT 환경에서 대량 단말 제어를 위한 홀 펀칭을 분산 처리하는 것이 적용되는 다양한 시스템 및 장치에 적용하는 것이 가능하다.The hole punching dispersion processing system for mass terminal control of the NAT environment of the present invention and the control method of the system can be applied to various systems and devices to which the hole punching for the mass terminal control in the NAT environment is applied to the distributed processing Do.

100 : 통신 단말기 101, 201, 301, 501 : 무선 통신부
200 : 메인 홀 펀칭 서버 102, 202, 302, 502 : 제어부
300 : 홀 펀칭 서버 303 : 메모리부
400 : NAT 장치
500 : 원격 제어 서버
100: communication terminal 101, 201, 301, 501:
200: Main hole punching server 102, 202, 302, 502:
300: Hall punching server 303: Memory part
400: NAT device
500: Remote control server

Claims (21)

NAT(Network Address Translation) 장치로부터 사설 IP 주소(Internet Protocol adress)를 할당 받은 통신 단말기가, 복수 개의 홀 펀칭(Hole-punching) 서버들 중 선택된 홀 펀칭 서버와의 홀 펀칭 세션을 제어하는 방법에 있어서,
상기 복수 개의 홀 펀칭 서버들의 트래픽을 관리하는 메인 홀 펀칭 서버에게 제 1 세션 요청 신호를 송신하는 단계;
상기 제 1 세션 요청 신호에 응답하여, 상기 복수 개의 홀 펀칭 서버들 중 선택된 홀 펀칭 서버에 대한 주소 정보를 상기 메인 홀 펀칭 서버로부터 수신하는 단계; 및
상기 주소 정보를 이용하여 상기 선택된 홀 펀칭 서버로 상기 할당된 사설 IP 주소를 포함하는 제 2 세션 요청 신호를 송신하여 상기 선택된 홀 펀칭 서버와 홀 펀칭 세션을 생성하는 단계를 포함하되,
상기 제 2 세션 요청 신호는 상기 NAT 장치를 경유하여 상기 선택된 홀 펀칭 서버로 송신되며, 상기 NAT 장치에서 상기 제 2 세션 요청 신호에 포함된 상기 사설 IP 주소가 공인 IP 주소로 변환되는, 홀 펀칭 세션을 제어하는 방법.
A method of controlling a hole punching session with a selected hole punching server among a plurality of hole-punching servers, wherein a communication terminal allocated with a private IP address (Internet Protocol address) from a NAT (Network Address Translation) ,
Transmitting a first session request signal to a main hall punching server managing traffic of the plurality of hole punching servers;
Receiving address information for a selected one of the plurality of hole punching servers from the main hole punching server in response to the first session request signal; And
And generating a hole punching session with the selected hole punching server by transmitting a second session request signal including the allocated private IP address to the selected hole punching server using the address information,
Wherein the second session request signal is transmitted to the selected hole punching server via the NAT device and wherein the NAT device converts the private IP address included in the second session request signal into a public IP address, / RTI >
제 1 항에 있어서,
상기 선택된 홀 펀칭 서버는, 상기 복수 개의 홀 펀칭 서버들의 트래픽 배분을 위한 배분 정책에 기반하여 상기 메인 홀 펀칭 서버에 의해 선택된 것을 특징으로 하는, 홀 펀칭 세션을 제어하는 방법.
The method according to claim 1,
Wherein the selected hole punching server is selected by the main hole punching server based on a distribution policy for traffic distribution of the plurality of hole punching servers.
제 2 항에 있어서,
상기 배분 정책은, 상기 통신 단말기의 타입(Type), 상기 복수 개의 홀 펀칭 서버들 각각의 성능(Capability) 및 상기 제 1 세션 요청 신호의 프로토콜 타입(Protocol Type) 중 적어도 하나를 고려하여 결정되는 것을 특징으로 하는, 홀 펀칭 세션을 제어하는 방법.
3. The method of claim 2,
The allocation policy is determined in consideration of at least one of a type of the communication terminal, a capability of each of the plurality of hole punching servers, and a protocol type of the first session request signal Said method comprising the steps of:
제 1 항에 있어서,
상기 생성된 홀 펀칭 세션을 유지하기 위한 세션 유지 패킷을 전송하는 단계를 더 포함하는 것을 특징으로 하는, 홀 펀칭 세션을 제어하는 방법.
The method according to claim 1,
Further comprising the step of transmitting a session retention packet for maintaining the generated hole punching session.
제 1 항에 있어서,
상기 통신 단말기의 동작을 제어하기 위한 원격 제어 요청 신호를 상기 선택된 홀 펀칭 서버로부터 수신하는 단계를 더 포함하되,
상기 원격 제어 요청 신호는, 원격 제어 서버로부터 전송되는 것을 특징으로 하는, 홀 펀칭 세션을 제어 하는 방법.
The method according to claim 1,
Further comprising receiving a remote control request signal from the selected hole punching server to control operation of the communication terminal,
Wherein the remote control request signal is transmitted from a remote control server.
제 5 항에 있어서,
상기 원격 제어 요청 신호에 대한 응답 신호를 상기 원격 제어 서버로 송신하여 상기 원격 제어 서버와 원격 제어를 위한 원격 세션을 생성하는 단계;
상기 원격 제어 서버로부터 상기 원격 세션을 통하여 원격 제어를 위한 원격 제어 명령 신호를 수신하는 단계; 및
상기 원격 제어 명령 신호에 포함된 원격 제어 명령의 수행 결과를 상기 원격 세션을 통하여 상기 원격 제어 서버로 전송하는 단계를 포함하되,
상기 원격 제어 요청 신호는 상기 원격 제어 서버의 주소 정보를 포함하는 것을 특징으로 하는, 홀 펀칭 세션을 제어하는 방법.
6. The method of claim 5,
Generating a remote session for remote control with the remote control server by transmitting a response signal to the remote control request signal to the remote control server;
Receiving a remote control command signal for remote control from the remote control server through the remote session; And
Transmitting a result of the execution of the remote control command included in the remote control command signal to the remote control server through the remote session,
Wherein the remote control request signal includes address information of the remote control server.
복수 개의 홀 펀칭 서버들의 트래픽을 관리하는 메인 홀 펀칭 서버가, 홀 펀칭 세션을 제어하는 방법에 있어서,
NAT(Network Adress Translation) 장치로부터 사설 IP 주소(Internet Protocol Address)를 할당 받은 통신 단말기로부터 제 1 세션 요청 신호를 수신하는 단계;
상기 복수 개의 홀 펀칭 서버들의 트래픽 배분을 위한 배분 정책에 기반하여 상기 복수 개의 홀 펀칭 서버들 중 하나를 선택하는 단계; 및
상기 선택된 홀 펀칭 서버의 주소 정보를 상기 통신 단말기로 송신하는 단계를 포함하는, 홀 펀칭 세션을 제어하는 방법.
A method for controlling a hole punching session in a main hall punching server for managing traffic of a plurality of hole punching servers,
Receiving a first session request signal from a communication terminal that is assigned a private Internet Protocol address from a network address translation (NAT) device;
Selecting one of the plurality of hole punching servers based on a distribution policy for traffic distribution of the plurality of hole punching servers; And
And sending address information of the selected hole punching server to the communication terminal.
제 7 항에 있어서,
상기 배분 정책은, 상기 통신 단말기의 타입(Type), 상기 복수 개의 홀 펀칭 서버들 각각의 성능(Capability) 및 상기 제 1 세션 요청 신호의 프로토콜 타입(Protocol Type) 중 적어도 하나를 고려하여 결정되는 것을 특징으로 하는, 홀 펀칭 세션을 제어하는 방법.
8. The method of claim 7,
The allocation policy is determined in consideration of at least one of a type of the communication terminal, a capability of each of the plurality of hole punching servers, and a protocol type of the first session request signal Said method comprising the steps of:
제 7 항에 있어서,
상기 통신 단말기의 동작을 제어하고자 하는 원격 제어 서버로부터, 상기 통신 단말기의 동작을 제어하기 위한 원격 제어 요청 신호를 수신하는 단계; 및
상기 수신된 원격 제어 요청 신호를 상기 선택된 홀 펀칭 서버로 전달하는 단계를 더 포함하는 것을 특징으로 하는, 홀 펀칭 세션을 제어하는 방법.
8. The method of claim 7,
Receiving a remote control request signal for controlling an operation of the communication terminal from a remote control server for controlling an operation of the communication terminal; And
Further comprising the step of transmitting the received remote control request signal to the selected hole punching server.
제 9 항에 있어서,
상기 전달된 원격 제어 요청 신호는 상기 선택된 홀 펀칭 서버로부터 상기 통신 단말기로 전송되는 것을 특징으로 하는, 홀 펀칭 세션을 제어하는 방법.
10. The method of claim 9,
Wherein the transmitted remote control request signal is transmitted from the selected hole punching server to the communication terminal.
복수 개의 홀 펀칭 서버들 중 선택된 홀 펀칭 서버가, NAT(Network Address Translation) 장치로부터 사설 IP 주소(Internet Protocol adress)를 할당 받은 통신 단말기와 생성하는 홀 펀칭 세션을 제어하는 방법에 있어서,
상기 통신 단말기로부터 상기 통신 단말기의 공인 IP 주소가 포함된 세션 요청 신호를 수신하는 단계; 및
상기 세션 요청 신호에 포함된 상기 통신 단말기의 공인 IP 주소를 저장하고 상기 통신 단말기와 홀 펀칭 세션을 생성하는 단계를 포함하되,
상기 세션 요청 신호에 포함된 상기 공인 IP 주소는 상기 세션 요청 신호가 상기 NAT 장치를 경유하면서 상기 세션 요청 신호에 포함된 상기 사설 IP 주소가 상기 공인 IP 주소로 변환된 것인, 홀 펀칭 세션을 제어하는 방법.
A method for controlling a hole punching session to be generated by a communication terminal to which a selected hole punching server among a plurality of hole punching servers is assigned a private IP address (Internet Protocol address) from a NAT (Network Address Translation)
Receiving a session request signal including a public IP address of the communication terminal from the communication terminal; And
Storing a public IP address of the communication terminal included in the session request signal and generating a hole punching session with the communication terminal,
Wherein the public IP address included in the session request signal is a public pseudo IP address, the session pseudo IP address included in the session request signal is converted to the public IP address while the session request signal is passed through the NAT device How to.
제 11 항에 있어서,
상기 복수 개의 홀 펀칭 서버들 중 선택된 홀 펀칭 서버는, 상기 복수 개의 홀 펀칭 서버들의 트래픽 배분을 위한 배분 정책에 기반하여 상기 복수 개의 홀 펀칭 서버들의 트래픽을 관리하는 메인 홀 펀칭 서버에 의해 선택된 것을 특징으로 하는, 홀 펀칭 세션을 제어하는 방법.
12. The method of claim 11,
Wherein the selected hole punching server among the plurality of hole punching servers is selected by a main hole punching server that manages traffic of the plurality of hole punching servers based on a distribution policy for traffic distribution of the plurality of hole punching servers Gt; a < / RTI > hole punching session.
제 12 항에 있어서,
상기 배분 정책은, 상기 통신 단말기의 타입(Type), 상기 복수 개의 홀 펀칭 서버들 각각의 성능(Capability) 및 상기 통신 단말기가 상기 메인 홀 펀칭 서버에 전송하는 세션 요청 신호의 프로토콜 타입(Protocol Type) 중 적어도 하나를 고려하여 결정되는 것을 특징으로 하는, 홀 펀칭 세션을 제어하는 방법.
13. The method of claim 12,
The distribution policy includes at least one of a type of the communication terminal, a capability of each of the plurality of hole punching servers, and a protocol type of a session request signal transmitted from the communication terminal to the main hall punching server. Lt; RTI ID = 0.0 > 1, < / RTI >
제 12 항에 있어서,
상기 통신 단말기의 동작을 제어하기 위한 원격 제어 서버의 원격 제어 요청 신호를 상기 메인 홀 펀칭 서버로부터 수신하는 단계; 및
상기 저장된 상기 통신 단말기의 공인 IP 주소를 이용하여 상기 원격 제어 요청 신호를 상기 통신 단말기로 송신하는 단계를 포함하되,
상기 원격 제어 요청 신호는, 원격 제어 서버에 의해 상기 메인 홀 펀칭 서버로 전송된 후 상기 메인 홀 펀칭 서버가 전달하여 수신되는 것을 특징으로 하는,
홀 펀칭 세션을 제어하는 방법.
13. The method of claim 12,
Receiving from the main hall punching server a remote control request signal of a remote control server for controlling the operation of the communication terminal; And
And transmitting the remote control request signal to the communication terminal using the stored public IP address of the communication terminal,
Wherein the remote control request signal is transmitted to the main hall punching server by the remote control server and then transmitted and received by the main hall punching server.
A method for controlling a hole punching session.
원격 제어 서버가, NAT(Network Adress Translation) 장치로부터 사설 IP 주소(Internet Protocol Address)를 할당 받은 통신 단말기의 동작을 원격으로 제어하는 방법에 있어서,
상기 통신 단말기의 동작을 제어하기 위한 원격 제어 요청 신호를 복수 개의 홀 펀칭 서버들의 트래픽을 관리하는 메인 홀 펀칭 서버로 전송하는 단계;
상기 통신 단말기로부터 상기 원격 제어 요청 신호에 대한 응답 신호를 수신하여 상기 통신 단말기와 원격 제어를 위한 원격 세션을 형성하는 단계;
상기 통신 단말기로 상기 원격 세션을 통하여 원격 제어 명령 신호를 전송하는 단계; 및
상기 원격 제어 명령 신호에 포함된 원격 제어 명령 수행 결과를 상기 원격 세션을 통하여 상기 통신 단말기로부터 수신하는 단계를 포함하되,
상기 응답 신호는 상기 메인 홀 펀칭 서버로 전송한 상기 원격 제어 요청 신호가 상기 메인 홀 펀칭 서버로부터 상기 복수 개의 홀 펀칭 서버들 중 선택된 홀 펀칭 서버로 전달되고, 상기 선택된 홀 펀칭 서버로부터 통신 단말기로 전송됨으로써, 상기 통신 단말기로부터 상기 원격 제어 요청 신호에 대한 응답으로 수신되는 것을 특징으로 하는, 홀 펀칭 세션을 제어하는 방법.
A method for remotely controlling an operation of a communication terminal to which a remote control server is assigned a private Internet Protocol address from a network address translation (NAT)
Transmitting a remote control request signal for controlling operation of the communication terminal to a main hall punching server managing traffic of a plurality of hole punching servers;
Receiving a response signal for the remote control request signal from the communication terminal to form a remote session with the communication terminal for remote control;
Transmitting a remote control command signal through the remote session to the communication terminal; And
Receiving a remote control command execution result included in the remote control command signal from the communication terminal through the remote session,
Wherein the response signal is transmitted from the main hall punching server to the selected hole punching server among the plurality of hole punching servers transmitted from the selected hole punching server to the communication terminal Wherein the remote control request signal is received in response to the remote control request signal from the communication terminal.
제 15 항에 있어서,
상기 복수 개의 홀 펀칭 서버들 중 선택된 홀 펀칭 서버는, 상기 복수 개의 홀 펀칭 서버들의 트래픽 배분을 위한 배분 정책에 기반하여 상기 메인 홀 펀칭 서버에 의해 선택된 것을 특징으로 하는, 홀 펀칭 세션을 제어하는 방법.
16. The method of claim 15,
Wherein the selected hole punching server among the plurality of hole punching servers is selected by the main hole punching server based on a distribution policy for traffic distribution of the plurality of hole punching servers .
제 16 항에 있어서,
상기 배분 정책은, 상기 통신 단말기의 타입(Type), 상기 복수 개의 홀 펀칭 서버들 각각의 성능(Capability) 및 상기 통신 단말기가 상기 메인 홀 펀칭 서버에 전송하는 세션 요청 신호의 프로토콜 타입(Protocol Type) 중 적어도 하나를 고려하여 결정되는 것을 특징으로 하는, 홀 펀칭 세션을 제어하는 방법.
17. The method of claim 16,
The distribution policy includes at least one of a type of the communication terminal, a capability of each of the plurality of hole punching servers, and a protocol type of a session request signal transmitted from the communication terminal to the main hall punching server. Lt; RTI ID = 0.0 > 1, < / RTI >
NAT(Network Adress Translation) 장치로부터 사설 IP 주소(Internet Protocol adress)를 할당 받은 통신 단말기에 있어서,
무선 통신부(RF Unit); 및
복수 개의 홀 펀칭 서버들의 트래픽을 관리하는 메인 홀 펀칭 서버로 제 1 세션 요청 신호를 송신하고,
상기 복수개의 홀 펀칭 서버들 중 상기 메인 홀 펀칭 서버로부터 선택된 홀 펀칭 서버에 대한 주소 정보를 상기 메인 홀 펀칭 서버로부터 상기 제 1 세션 요청 신호에 대한 응답으로 수신하며,
상기 주소 정보를 이용하여 상기 선택된 홀 펀칭 서버로 상기 할당된 사설 IP 주소를 포함하는 제 2 세션 요청 신호를 송신하여 상기 선택된 홀 펀칭 서버와 홀 펀칭 세션을 형성하도록 제어하는 제어부를 포함하되,
상기 제 2 세션 요청 신호는 상기 NAT 장치를 경유하여 상기 선택된 홀 펀칭 서버로 송신되며, 상기 NAT 장치에서 상기 제 2 세션 요청 신호에 포함된 상기 사설 IP 주소가 공인 IP 주소로 변환되는, 통신 단말기.
A communication terminal having a private IP address (Internet Protocol address) allocated from a NAT (Network Address Translation)
A wireless communication unit (RF Unit); And
Transmitting a first session request signal to a main hall punching server for managing traffic of a plurality of hole punching servers,
Receiving address information for a hole punching server selected from the main hole punching server among the plurality of hole punching servers in response to the first session request signal from the main hole punching server,
And a controller for controlling the selected punching server to form a hole punching session with the selected punching server by transmitting a second session request signal including the allocated private IP address to the selected punching server using the address information,
Wherein the second session request signal is transmitted to the selected hole punching server via the NAT device and the private IP address included in the second session request signal is converted to a public IP address in the NAT device.
복수 개의 홀 펀칭 서버들의 트래픽을 관리하는 메인 홀 펀칭 서버에 있어서,
무선 통신부(RF Unit); 및
NAT(Network Adress Translation) 장치로부터 사설 IP 주소(Internet Protocol Address)를 할당 받은 통신 단말기로부터 제 1 세션 요청 신호를
수신하도록 상기 무선 통신부를 제어하고,
상기 복수 개의 홀 펀칭 서버들의 트래픽 배분을 위한 배분 정책을 기초로 하여 상기 복수 개의 홀 펀칭 서버들 중 하나를 선택하며,
상기 선택된 홀 펀칭 서버의 주소 정보를 상기 통신 단말기로 송신하도록 상기 무선 통신부를 제어하는 제어부를 포함하는, 메인 홀 펀칭 서버.
A main hole punching server for managing traffic of a plurality of hole punching servers,
A wireless communication unit (RF Unit); And
A first session request signal is transmitted from a communication terminal that has been assigned a private IP address (Internet Protocol Address) from a NAT (Network Address Translation)
Controls the wireless communication unit to receive,
Selecting one of the plurality of hole punching servers based on a distribution policy for traffic distribution of the plurality of hole punching servers,
And a controller for controlling the wireless communication unit to transmit address information of the selected hole punching server to the communication terminal.
NAT(Network Address Translation) 장치로부터 사설 IP 주소(Internet Protocol adress)를 할당 받은 통신 단말기와의 홀 펀칭 세션을 생성하는 홀 펀칭 서버에 있어서,
메모리부;
무선 통신부(RF Unit); 및
상기 통신 단말기로부터 상기 통신 단말기의 공인 IP 주소가 포함된 세션 요청 신호를 상기 무선 통신부가 수신하도록 제어하며, 상기 세션 요청 신호에 포함된 상기 통신 단말기의 공인 IP 주소를 상기 메모리부에 저장하고 상기 통신 단말기와 홀 펀칭 세션을 생성하도록 제어하는 제어부를 포함하되,
상기 세션 요청 신호에 포함된 상기 공인 IP 주소는 상기 세션 요청 신호가 상기 NAT 장치를 경유하면서 상기 NAT 장치에서 상기 통신 단말기에 할당 된 사설 IP 주소가 상기 공인 IP 주소로 변환된 것인, 홀 펀칭 서버.
A hole punching server for creating a hole punching session with a communication terminal to which a private IP address (Internet Protocol address) is allocated from a NAT (Network Address Translation)
A memory unit;
A wireless communication unit (RF Unit); And
Wherein the control unit controls the wireless communication unit to receive a session request signal including a public IP address of the communication terminal from the communication terminal and stores the public IP address of the communication terminal included in the session request signal in the memory unit, And a controller for controlling the terminal to generate a hole punching session,
Wherein the public IP address included in the session request signal is a public IP address assigned to the communication terminal in the NAT device while the session request signal is passed through the NAT device, .
NAT(Network Adress Translation) 장치로부터 사설 IP 주소(Internet Protocol Address)를 할당 받은 통신 단말기의 동작을 원격으로 제어하는 원격 제어 서버에 있어서,
무선 통신부;
상기 통신 단말기의 동작을 제어하기 위한 원격 제어 요청 신호를 상기 무선 통신부가 복수 개의 홀 펀칭 서버들의 트래픽을 관리하는 메인 홀 펀칭 서버로 전송하도록 하고,
상기 통신 단말기로부터 상기 원격 제어 요청 신호에 대한 응답 신호를 상기 무선 통신부가 수신하도록 하여 상기 통신 단말기와 원격 제어를 위한 원격 세션을 형성하도록 하며,
상기 통신 단말기로 상기 원격 세션을 통하여 원격 제어 명령 신호를 상기 무선 통신부가 전송하도록 하고,
상기 원격 제어 명령 신호에 포함된 원격 제어 명령 수행 결과를 상기 원격 세션을 통하여 상기 통신 단말기로부터 상기 무선 통신부가 수신하도록 제어하는 제어부를 포함하되,
상기 응답 신호는 상기 메인 홀 펀칭 서버로 상기 무선 통신부가 전송한 상기 원격 제어 요청 신호가, 상기 메인 홀 펀칭 서버로부터 상기 복수 개의 홀 펀칭 서버들 중 선택된 홀 펀칭 서버로 전달되고, 상기 선택된 홀 펀칭 서버로부터 통신 단말기로 전송됨으로써 상기 통신 단말기로부터 상기 원격 제어 요청 신호에 대한 응답으로 수신되는 것을 특징으로 하는, 원격 제어 서버.
A remote control server for remotely controlling an operation of a communication terminal to which a private IP address (Internet Protocol Address) is allocated from a NAT (Network Address Translation)
A wireless communication unit;
The wireless communication unit transmits a remote control request signal for controlling the operation of the communication terminal to a main hall punching server managing traffic of a plurality of hole punching servers,
Wherein the wireless communication unit receives a response signal for the remote control request signal from the communication terminal to form a remote session for remote control with the communication terminal,
The wireless communication unit transmits a remote control command signal through the remote session to the communication terminal,
And a control unit for controlling the wireless communication unit to receive a remote control command execution result included in the remote control command signal from the communication terminal through the remote session,
Wherein the response signal is transmitted from the main hall punching server to the selected hole punching server among the plurality of hole punching servers, wherein the remote control request signal transmitted from the wireless communication unit to the main hole punching server is transmitted to the selected hole punching server Is received from the communication terminal in response to the remote control request signal by being transmitted to the communication terminal.
KR1020130076444A 2013-07-01 2013-07-01 Hole punching distribution system for controlling significant terminals and method thereof KR101393017B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130076444A KR101393017B1 (en) 2013-07-01 2013-07-01 Hole punching distribution system for controlling significant terminals and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130076444A KR101393017B1 (en) 2013-07-01 2013-07-01 Hole punching distribution system for controlling significant terminals and method thereof

Publications (1)

Publication Number Publication Date
KR101393017B1 true KR101393017B1 (en) 2014-05-09

Family

ID=50893515

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130076444A KR101393017B1 (en) 2013-07-01 2013-07-01 Hole punching distribution system for controlling significant terminals and method thereof

Country Status (1)

Country Link
KR (1) KR101393017B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101746957B1 (en) 2015-11-03 2017-06-13 주식회사 엘지유플러스 Terminal calling server, terminal, server connection request method and server connection method for connecting the server

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100703065B1 (en) 2006-10-26 2007-04-09 (주)휴리브 Network address translation control system and method for providing multilateral-bidirectional audio communication service
KR101049549B1 (en) 2009-02-06 2011-07-14 에스케이브로드밴드주식회사 GPD hole punching method using SIP, terminal management system and terminal management method using same

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100703065B1 (en) 2006-10-26 2007-04-09 (주)휴리브 Network address translation control system and method for providing multilateral-bidirectional audio communication service
KR101049549B1 (en) 2009-02-06 2011-07-14 에스케이브로드밴드주식회사 GPD hole punching method using SIP, terminal management system and terminal management method using same

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101746957B1 (en) 2015-11-03 2017-06-13 주식회사 엘지유플러스 Terminal calling server, terminal, server connection request method and server connection method for connecting the server

Similar Documents

Publication Publication Date Title
KR101239450B1 (en) Scalable wlan gateway
US20230308951A1 (en) Data processing method, network element device, and readable storage medium
US8458303B2 (en) Utilizing a gateway for the assignment of internet protocol addresses to client devices in a shared subset
JP2018523932A (en) Load balancing computing devices, systems, and methods
KR101190307B1 (en) Method of transmitting push message
US8612601B2 (en) Management method and management device for network address translation
CN104205741A (en) Information processing device, information processing method, and program
US20190230060A1 (en) Service transmission method, device, and system
EP3331247A1 (en) Multi-screen control method and device
JP6896722B2 (en) Resource configuration method and equipment
EP3841728B1 (en) Information-centric networking over 5g or later networks
KR101884404B1 (en) Fog Computing Operation System having a Centralized Control Architecture Server and Method for controlling the same
CN103986638A (en) Method and device for binding multiple public network links for ADVPN tunnel
CN104094243A (en) Information processing apparatus, information processing method and program
US20170201875A1 (en) Device-to-device content providing method
US20130083689A1 (en) Ownership requests for access points
KR101393017B1 (en) Hole punching distribution system for controlling significant terminals and method thereof
US9705794B2 (en) Discovery of network address allocations and translations in wireless communication systems
EP3210360B1 (en) Distribution of media content identifiers to wireless communication devices
WO2018186873A1 (en) Ad hoc service switch-based control of ad hoc networking
KR101193647B1 (en) Apparatus and method for simultaneously transmitting data in heterogeneous network
KR20090117482A (en) System and method for managing osgi framework devices in the private ip network
KR101807695B1 (en) Mobile communication router apparatus and ip sharing system comprising the same
KR101491640B1 (en) A Redirection Control system for Streaming Service
CN106304119B (en) Wi-Fi coverage system and method based on wireless multi-hop self-organizing network

Legal Events

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

Payment date: 20170310

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20191211

Year of fee payment: 9