KR20110016525A - Communication apparatus and control method thereof, p2p server system and control method thereof - Google Patents

Communication apparatus and control method thereof, p2p server system and control method thereof Download PDF

Info

Publication number
KR20110016525A
KR20110016525A KR1020090074054A KR20090074054A KR20110016525A KR 20110016525 A KR20110016525 A KR 20110016525A KR 1020090074054 A KR1020090074054 A KR 1020090074054A KR 20090074054 A KR20090074054 A KR 20090074054A KR 20110016525 A KR20110016525 A KR 20110016525A
Authority
KR
South Korea
Prior art keywords
communication terminal
communication
connection
relay
information
Prior art date
Application number
KR1020090074054A
Other languages
Korean (ko)
Other versions
KR101058275B1 (en
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 KR1020090074054A priority Critical patent/KR101058275B1/en
Publication of KR20110016525A publication Critical patent/KR20110016525A/en
Application granted granted Critical
Publication of KR101058275B1 publication Critical patent/KR101058275B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • H04W76/14Direct-mode setup

Landscapes

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

Abstract

PURPOSE: A communication apparatus, a P2P server system, and a control method thereof are provided to actively change the connection between each communication terminal and relaying server by the network status. CONSTITUTION: A communication terminal management server(110) stores the communications terminal information transmitted from each communications terminal when the server is connected to each communication terminal for the first time. The communications terminal management server receives a connection request to a certain destination communications terminal(200'') from a certain request terminal(200') of a plurality of communications terminals. The communications terminal management server performs call connection between the connection requesting terminal, and the call receiving terminal in one of the direct connection and indirect connection by the pre-stored call receiving terminal information.

Description

통신 단말기 및 그 제어방법과, P2P 서버 시스템 및 그 제어방법{COMMUNICATION APPARATUS AND CONTROL METHOD THEREOF, P2P SERVER SYSTEM AND CONTROL METHOD THEREOF}Communication terminal and its control method, P2P server system and its control method {COMMUNICATION APPARATUS AND CONTROL METHOD THEREOF, P2P SERVER SYSTEM AND CONTROL METHOD THEREOF}

본 발명은 통신 단말기 및 그 제어방법과, P2P 서버 시스템 및 그 제어방법에 관한 것으로, 보다 상세하게는 실행 시점에 판단된 네트워크 상태 정보를 P2P 서버 시스템에 등록하는 통신 단말기 및 그 제어방법과, 통신 단말기들 간의 P2P 통신을 지원하는 서버들로 이루어진 P2P 서버 시스템 및 그 제어방법에 관한 것이다.The present invention relates to a communication terminal and a control method thereof, a P2P server system and a control method thereof, and more particularly, a communication terminal and a control method for registering network state information determined at the time of execution to a P2P server system, and a communication method. The present invention relates to a P2P server system comprising a server supporting P2P communication between terminals and a control method thereof.

일반적으로 통신 단말기들은 상대 통신 단말기와 다양한 방식으로 통신 채널을 형성하여 소정의 데이터를 송수신하고 있는데, 그 중 널리 이용되는 방식이 P2P(PEER-TO-PEER) 통신 방식이다.In general, communication terminals form a communication channel with a counterpart communication terminal in various ways to transmit and receive predetermined data, and among them, a widely used method is a P2P (PEER-TO-PEER) communication method.

즉, 소정의 데이터들이 하나의 서버 시스템에 집중되어 관리되는 것은 네트워크 부하 및 장비 운용면에서 많은 비효율성을 초래하고 있기 때문에 데이터들을 각각의 통신 단말기에 분산 배치해 두고서, 각각의 통신 단말기들이 상대 통신 단말기에서 직접 데이터를 전송 받을 수 있도록 한 것이 P2P 통신 방식이다.In other words, since centralized management of predetermined data in one server system causes a lot of inefficiency in terms of network load and equipment operation, data are distributed to each communication terminal so that each communication terminal can communicate with each other. The P2P communication method is to receive data directly from the terminal.

이를 위해 각각의 통신 단말기들의 네트워크상의 주소는 P2P 서버 시스템에서 관리하면 되고, 각 통신 단말기들은 다른 통신 단말기에서 소정의 데이터를 전송받기 위해 해당 P2P 서버 시스템에서 상대 통신 단말기의 네트워크 주소를 확인하고 그 확인된 네트워크 주소를 이용하여 상대 통신 단말기에 연결하여 데이터의 전송을 요청할 수 있게 된다.To this end, the addresses on the network of each communication terminal need to be managed by the P2P server system, and each communication terminal checks the network address of the counterpart communication terminal in the corresponding P2P server system in order to receive certain data from other communication terminals. It is possible to request transmission of data by connecting to the counterpart communication terminal using the network address.

이는 최초의 연결 과정에서 P2P 서버 시스템이 개입을 하고, 실제 데이터가 송수신되는 과정은 각 통신 단말기들 간에 이루어짐으로써 네트워크 부하가 분산되고, 자원 효율성이 증가되는 장점이 있다.This is because the P2P server system intervenes in the initial connection process, and the process of transmitting and receiving actual data is performed between communication terminals, so that network load is distributed and resource efficiency is increased.

그런데 통신 단말기의 사정에 따라 통신 단말기 간에 직접 연결이 이루어질 수 없는 경우도 발생한다. 예를 들어 어느 특정 통신 단말기가 사설 아이피를 가지고 있고, 그 통신 단말기가 속한 네트워크가 외부로부터의 접속을 해당 통신 단말기에 포트 포워딩 해주지 않는 경우에는 그 사설 아이피를 가지고 있는 통신 단말기가 다른 통신 단말기와 직접 연결되어 소정의 자료를 제공할 수 없게 되는 것이다.However, depending on the circumstances of the communication terminal, there is a case where a direct connection cannot be made between the communication terminals. For example, if a specific communication terminal has a private IP and the network to which the communication terminal belongs does not port forward an external connection to the communication terminal, the communication terminal having the private IP is directly connected to another communication terminal. You will not be able to provide certain data.

이를 위해 P2P 서버 시스템에서는 소정의 중계 서버를 두고, 예를 들어 사설 아이피를 가지고 통신 단말기들 간에도 연결이 형성되고 상호간 데이터를 송수신 할 수 있도록 하고 있다.To this end, in a P2P server system, a predetermined relay server is provided, for example, a connection is established between communication terminals with a private IP, and data can be transmitted and received between each other.

이처럼 중계 서버를 거쳐 통신 단말기들간 통신하는 경우도 실제로 데이터가 통신 단말기들 간에 송수신되는 결과를 발생시키므로 P2P 통신이라 할 수 있다.In this case, the communication between the communication terminals via the relay server may also be referred to as P2P communication because the data is actually transmitted and received between the communication terminals.

그러나 중계 서버 역시 자원이 제한될 수밖에 없는데 해당 중계 서버를 통한 통신 단말기들 간의 연결이 과도하게 발생하는 경우 제대로 각 통신 단말기들 간의 P2P 통신 중계가 이루어지지 않는 문제점이 발생해왔다.However, the relay server also has a limited resource, but if the connection between the communication terminal through the relay server is excessively generated, there has been a problem that the P2P communication relay between each communication terminal is not properly performed.

한편, 상술한 바와 같이 중계 서버를 통한 통신 단말기들간의 통신 연결을 제어하는 경우에 그 판단, 즉, 통신 단말기들간 직접 연결을 제어할지 또는 중계 서버를 통한 간접 연결을 제어할지를 결정하는 판단은 P2P 서버 시스템에 의해서만 이루어져왔다. 그러나 이러한 단순한 기능도 동시에 많은 통신 단말기들의 접속 요청이 있는 경우에는 P2P 서버 시스템에 큰 부하를 발생시킬 수 있는 것이어서 그 개선이 요망되고 있다.On the other hand, as described above, in the case of controlling the communication connection between the communication terminals through the relay server, that is, the determination that determines whether to control the direct connection between the communication terminals or indirect connection through the relay server is a P2P server Only by the system. However, such a simple function may cause a large load on the P2P server system when there are connection requests of many communication terminals at the same time, and the improvement is desired.

본 발명은 상기한 종래의 문제점을 해결하고 종래의 요망에 부응하기 위해 안출 것으로서, 그 목적은 각 통신 단말기 간 중계 서버를 통한 P2P 연결이 이루어지는 경우 각 통신 단말기와 중계 서버간의 연결을 네트워크 상황에 따라 능동적으로 변환시킬 수 있도록 하는 중계 서버를 포함하는 P2P 서버 시스템 및 그 제어방법을 제공하는 것이다.The present invention has been made to solve the above-mentioned problems and to meet the demands of the prior art, the object of which is to establish a connection between each communication terminal and the relay server according to the network situation when the P2P connection is made through the relay server between each communication terminal The present invention provides a P2P server system including a relay server capable of actively converting and a control method thereof.

본 발명의 다른 목적은 각 통신 단말기들이 다른 통신 단말기들과 P2P 통신을 함에 있어서 상대 통신 단말기와 직접 연결될 수 있는지 혹은 소정의 중계 서버를 통해서 연결될 수 있는지를 미리 자체적으로 확인하여 P2P 서버 시스템에 등록하도록 하는 통신 단말기 및 그 제어방법을 제공하는 것이다. It is another object of the present invention to check whether each communication terminal can be directly connected to a counterpart communication terminal or to be connected through a predetermined relay server in P2P communication with other communication terminals so as to register itself in the P2P server system. It is to provide a communication terminal and a control method thereof.

상기한 목적을 달성하기 위해 본 발명에 따른 P2P(Peer-To-Peer) 통신을 수행하는 다수의 통신 단말기들 간의 연결을 제어하는 P2P 서버 시스템의 제어방법은, 상기 다수의 통신 단말기들 중 각 통신 단말기와 최초로 연결되는 시점에 해당 통신 단말기로부터 전송되는 통신 단말기 정보를 저장하는 단계와; 상기 다수의 통신 단말기들 중 소정의 요청 통신 단말기로부터 소정의 목적지 통신 단말기로의 연결 요청을 수신한 경우, 기 저장된 목적지 통신 단말기 정보에 따라 상기 요청 통신 단말기 및 상기 목적지 통신 단말기 간의 연결이 직접 연결과 소정의 중계 처리를 통한 간접 연결 중 어느 하나의 방식에 의해 이루어지도록 제어하는 단계를 포함하여 이루어진다.In order to achieve the above object, a control method of a P2P server system for controlling a connection between a plurality of communication terminals performing peer-to-peer communication according to the present invention includes: each communication among the plurality of communication terminals; Storing communication terminal information transmitted from the corresponding communication terminal at the time of first connection with the terminal; When a connection request is received from a predetermined request communication terminal among the plurality of communication terminals to a predetermined destination communication terminal, the connection between the request communication terminal and the destination communication terminal is directly connected according to the stored destination communication terminal information. And controlling to be made by any one of indirect connection through a predetermined relay process.

또, 상기한 목적을 달성하기 위해 본 발명에 따른 중계 서버를 거치거나 거치지 않는 방법으로 다른 통신 단말기와 P2P(peer-to-peer) 통신을 수행하기 위해 P2P(peer-to-peer) 서버 시스템에 자신의 정보를 등록하는 통신 단말기의 제어방법은, 네트워크 관련 설정 데이터를 저장하는 단계와; 통신 연결 형태를 정하기 위한 연결 형태 선정 기준을 저장하는 단계와; 다른 통신 단말기와 P2P 통신을 수행하는 P2P 통신 기능을 활성화시키는 단계와; 상기 P2P 통신 기능이 활성화되는 시점에, 상기 저장된 네트워크 관련 설정 데이터와 상기 저장부에 저장된 연결 형태 선정 기준을 비교하여 상기 다른 통신 단말기와 P2P 통신을 수행할 때 직접 통신이 가능한지 상기 중계 서버를 거쳐 통신을 해야 하는지 여부를 판단하는 단계와; 상기 판단된 판단 결과를 포함하는 통신 단말기 정보를 상기 P2P 서버 시스템에 등록하는 단계를 포함하여 이루어진다.In addition, a peer-to-peer (P2P) server system for performing peer-to-peer (P2P) communication with other communication terminals in a manner that does not go through or without the relay server according to the present invention to achieve the above object. A control method of a communication terminal for registering its information includes storing network-related setting data; Storing a connection type selection criterion for determining a communication connection type; Activating a P2P communication function for performing P2P communication with another communication terminal; At the time when the P2P communication function is activated, communication is performed via the relay server whether direct communication is possible when performing P2P communication with the other communication terminal by comparing the stored network-related setting data and the connection type selection criteria stored in the storage unit. Determining whether or not to; And registering the communication terminal information including the determined determination result in the P2P server system.

또, 상기한 목적을 달성하기 위해 본 발명에 따른 P2P(Peer-To-Peer) 통신을 수행하는 다수의 통신 단말기들 간의 연결을 제어하는 P2P 서버 시스템은, 상기 다수의 통신 단말기들 간의 P2P 통신을 중계하는 중계 서버와; 다수의 통신 단말기들 중 각 통신 단말기와 최초로 연결되는 시점에 상기 각 통신 단말기로부터 전송되는 통신 단말기 정보를 저장하고, 상기 다수의 통신 단말기들 중 소정의 요청 통신 단말기로부터 소정의 목적지 통신 단말기로의 연결 요청을 수신한 경우, 기 저장된 목적지 통신 단말기 정보에 따라 상기 요청 통신 단말기 및 상기 목적지 통신 단말기 간의 연결이 직접 연결과 소정의 중계 처리를 통한 간접 연결 중 어느 하나의 방식에 의해 이루어지도록 제어하는 통신 단말기 관리 서버를 포함하여 구성된다.In addition, a P2P server system for controlling a connection between a plurality of communication terminals for performing peer-to-peer (P2P) communication in accordance with the present invention to achieve the above object, P2P communication between the plurality of communication terminals A relay server for relaying; Stores communication terminal information transmitted from each communication terminal at the time of first connection with each communication terminal among a plurality of communication terminals, and connects from a predetermined request communication terminal to a predetermined destination communication terminal among the plurality of communication terminals. Upon receiving the request, the communication terminal controlling the connection between the request communication terminal and the destination communication terminal to be made by one of a direct connection and an indirect connection through a predetermined relay process according to previously stored destination communication terminal information. It is configured to include a management server.

또, 상기한 목적을 달성하기 위해 본 발명에 따른 중계 서버를 거치거나 거치지 않는 방법으로 다른 통신 단말기와 P2P(peer-to-peer) 통신을 수행하기 위해 P2P(peer-to-peer) 서버 시스템에 자신의 정보를 등록하는 통신 단말기는, 네트워크 관련 설정 데이터가 저장되는 설정 저장부와; 외부 통신 단말기와 P2P 통신을 수행하는 P2P 통신부와; 상기 P2P 통신부를 실행시키는 실행 제어부를 포함하여 구성되고, 상기 P2P 통신부는, 통신 연결 형태를 정하기 위한 연결 형태 선정 기준이 저장된 저장부와; 상기 실행 제어부에 의해 상기 P2P 통신부가 실행되는 시점에, 상기 설정 저장부에 저장된 네트워크 관련 설정 데이터와 상기 저장부에 저장된 연결 형태 선정 기준을 비교하여, 다른 통신 단말기와 P2P 통신을 수행할 때 직접 통신이 가능한지 상기 중계 서버를 거쳐 통신을 해야 하는지 여부를 판단하는 통신 방식 판단부와; 상기 통신 방식 판단부에서 판단된 판단 결과를 포함하는 통신 단 말기 정보를 상기 P2P 서버 시스템에 등록하는 단말 정보 등록부를 포함하여 구성된다.In addition, a peer-to-peer (P2P) server system for performing peer-to-peer (P2P) communication with other communication terminals in a manner that does not go through or without the relay server according to the present invention to achieve the above object. The communication terminal for registering its information includes a setting storage unit for storing network-related setting data; A P2P communication unit performing P2P communication with an external communication terminal; And a execution controller configured to execute the P2P communication unit, wherein the P2P communication unit includes: a storage unit storing connection type selection criteria for determining a communication connection type; When the P2P communication unit is executed by the execution control unit, direct communication is performed when performing P2P communication with another communication terminal by comparing network-related setting data stored in the setting storage unit with a connection type selection criterion stored in the storage unit. A communication method determination unit determining whether communication is possible via the relay server or not; And a terminal information registration unit that registers communication terminal information including the determination result determined by the communication method determination unit in the P2P server system.

이상 설명한 바와 같이 본 발명에 따르면, 통신 단말기들 간의 P2P 통신을 위해 직접 연결 가능한지 혹은 소정의 중계 서버를 통한 간접 연결이 가능한지를 각 통신 단말기들이 미리 파악하여 P2P 서버 시스템에 등록해 놓음으로써, 통신 단말기로부터 다른 통신 단말기로의 연결 요청이 있는 경우 P2P 서버 시스템의 그 연결 방법 판단을 위한 부하를 경감시킴과 동시에 해당 연결이 신속히 이루어질 수 있다.As described above, according to the present invention, each communication terminal knows in advance whether P2P communication is possible for P2P communication between communication terminals or indirect connection through a predetermined relay server, and registers them in the P2P server system. When the connection request from the communication terminal to the other to reduce the load for determining the connection method of the P2P server system, the connection can be made quickly.

또한, 중계 서버를 통해 통신 단말기들 간의 P2P 통신이 이루어지는 경우, 네트워크 상황에 따라서 중계 서버와 각 통신 단말기들간의 연결 방식이 능동적으로 변경될 수 있어, 빠른 연결에 따른 사용자의 만족과 서버 자원 활용의 극대화를 꾀할 수 있다.In addition, when P2P communication is performed between communication terminals through a relay server, the connection method between the relay server and each communication terminal may be actively changed according to a network situation, so that user satisfaction and quick use of server resources may be achieved. Maximize.

즉, 중계 서버의 부하가 적은 경우에는 중계 서버와 각 통신 단말기들간의 연결을 계속 유지하여 어느 통신 단말기로부터 다른 통신 단말기로의 접속 요청이 있는 경우 그 계속 유지된 연결을 통해 신속히 통신 단말기들 간 통신이 이루어질 수 있도록 하여 빠른 연결에 따른 사용자 만족도를 상승시키고, 중계 서버의 부하가 큰 경우에는 일부 또는 모든 통신 단말기들과 중계 서버간의 연결이 비지속적 즉, 간헐적으로만 연결될 수 있도록 하여 보다 많은 통신 단말기들이 중계 서버를 거쳐 다른 통신 단말기와 연결될 수 있도록 할 수 있다.That is, when the load of the relay server is light, the connection between the relay server and each communication terminal is maintained, and when there is a request for connection from one communication terminal to another communication terminal, the communication between the communication terminals is rapidly performed through the continued connection. This can be achieved by increasing the user satisfaction according to the fast connection, and if the load of the relay server is heavy, the connection between some or all communication terminals and the relay server can be connected non-persistently, only intermittently, more communication terminals Can be connected to other communication terminals via a relay server.

특히 중계 서버와 각 통신 단말기 간의 연결이 지속적인지 간헐적인지에 대한 판단은 각 단말기 및 해당 단말기의 사용자의 P2P 통신 사용량을 고려하여 이루어짐으로써, P2P 통신 사용량이 많은 고객에게 실질적인 혜택이 돌아갈 수 있도록 할 수 있다.In particular, the determination of whether the connection between the relay server and each communication terminal is continuous or intermittent is made in consideration of the P2P communication usage of each terminal and the user of the terminal, so that a substantial benefit can be provided to customers with high P2P communication usage. have.

이하에서는 첨부도면을 참조하여 본 발명에 대해 상세히 설명한다.Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.

본 발명의 일 실시예에 따른 P2P 통신 시스템은 도 1에 도시된 바와 같이 각 통신 단말기(200)와 P2P 서버 시스템(100)으로 이루어져 있다.P2P communication system according to an embodiment of the present invention is composed of each communication terminal 200 and the P2P server system 100 as shown in FIG.

통신 단말기(200)는 상대 통신 단말기(200)와 P2P 통신을 수행하는 단말기로서, 각 통신 단말기(200)는 컴퓨터는 물론 휴대폰, PDA(Personal Digital Assistants) 등 개인용 휴대 무선 통신장치, 소정의 디스플레이장치와 연결되는 셋탑박스 등을 모두 포함한다.The communication terminal 200 is a terminal that performs P2P communication with the counterpart communication terminal 200. Each communication terminal 200 is a personal mobile wireless communication device such as a mobile phone, a personal digital assistant (PDA), a predetermined display device as well as a computer. Includes all set-top boxes and the like connected to.

본 실시예에서 통신 단말기(200)는 편의상 요청 통신 단말기(200')와 목적지 통신 단말기(200")로 구분한다.In this embodiment, the communication terminal 200 is divided into a request communication terminal 200 ′ and a destination communication terminal 200 ″ for convenience.

요청 통신 단말기(200')는 P2P 통신을 통해 상대 통신 단말기(200)로부터 소정의 데이터를 요청하는 단말기이고, 목적지 통신 단말기(200")는 그 요청 통신 단말기(200')가 데이터를 요청하는 대상이 되는 단말기이다.The request communication terminal 200 'is a terminal for requesting predetermined data from the counterpart communication terminal 200 through P2P communication, and the destination communication terminal 200 "is a target for which the request communication terminal 200' requests data. This is the terminal.

통신 단말기(200)는 상대 통신 단말기(200)와 직접 또는 후술하는 바와 같이 중계 서버(130)를 통해 P2P 통신을 수행할 수 있고, 더 나아가 다른 통신 단말기들(200) 간의 P2P 통신의 중계 처리를 수행할 수도 있다. 물론, 다른 통신 단말기들(200) 간의 P2P 통신 중계 처리를 위해서는 해당 통신 단말기(200)는 공인 아이피 주소를 갖고 있어야 함이 바람직하다.The communication terminal 200 may perform P2P communication with the counterpart communication terminal 200 directly or through the relay server 130 as described later, and further, relay processing of P2P communication between other communication terminals 200. It can also be done. Of course, for the P2P communication relay process between the other communication terminals 200, it is preferable that the communication terminal 200 should have a public IP address.

이러한 통신 단말기들(200)은 상대 통신 단말기(200)와 P2P 통신을 하기 위해서 P2P 서버 시스템(100)에 접속하여 상대 통신 단말기(200)의 정보를 요청해야 하는데, 이를 위해 각 통신 단말기들(200)은 각각 P2P 서버 시스템(100)에 먼저 자신의 정보를 등록해 놓아야한다. 그래야 다른 통신 단말기들(200)이 자신에게 접속할 수 있기 때문이다.The communication terminals 200 need to access the P2P server system 100 and request information of the counterpart communication terminal 200 in order to perform P2P communication with the counterpart communication terminal 200. ) Must first register their information in the P2P server system 100. This is because other communication terminals 200 can access them.

본 실시예에서 요청 통신 단말기(200')는 휴대폰 등의 무선 통신 장치인 것으로, 목적지 통신 단말기(200")는 컴퓨터로 구성된 것을 일 예로 하였지만 이러한 통신 단말기들(200)이 이에 한정되는 것은 아니다.In the present embodiment, the request communication terminal 200 'is a wireless communication device such as a mobile phone, and the destination communication terminal 200 "is configured as a computer as an example. However, the communication terminals 200 are not limited thereto.

통신 단말기(200)의 기능 블록의 일 예가 도 2에 도시되었다.An example of a functional block of the communication terminal 200 is shown in FIG. 2.

동 도면에 도시된 바와 같이 통신 단말기(200)는 설정 저장부(220), P2P 통신부(230), 실행 제어부(210)를 포함하여 구성된다.As shown in the figure, the communication terminal 200 includes a setting storage unit 220, a P2P communication unit 230, and an execution control unit 210.

설정 저장부(220)는 네트워크 관련 설정 데이터가 저장되는 것으로서, 예를 들어 네트워크 통신을 위해 필수적인 기 할당된 아이피 주소가 네트워크 관련 설정 데이터에 포함될 수 있다.The configuration storage unit 220 stores network-related configuration data. For example, a predetermined IP address essential for network communication may be included in network-related configuration data.

P2P 통신부(230)는 외부의 다른 통신 단말기와 P2P 통신을 수행하는 기능을 수행한다. 즉, 통신 단말기(200)에는 여러 가지 기능들이 포함될 수 있는데, P2P 통신부(230)는 그 중 외부 통신 단말기와의 P2P 통신을 수행하는 기능을 수행한다.The P2P communication unit 230 performs a function of performing P2P communication with another external communication terminal. That is, the communication terminal 200 may include various functions, and the P2P communication unit 230 performs a function of performing P2P communication with an external communication terminal.

예를 들어 통신 단말기(200)가 이동통신 단말기(200)인 경우 P2P 통신부(230)는 사용자의 메뉴 선택에 따라 특정 P2P 서버 시스템(100)과 연결하는 기능과, P2P 서버 시스템(100)으로부터 수신되는 상대 통신 단말기(200)의 정보에 기초하여 해당 상대 통신 단말기(200)와 연결하는 기능을 모두 수행할 수 있다.For example, when the communication terminal 200 is the mobile communication terminal 200, the P2P communication unit 230 has a function of connecting with a specific P2P server system 100 according to a user's menu selection, and receives from the P2P server system 100. Based on the information of the counterpart communication terminal 200, all the functions of connecting to the counterpart communication terminal 200 may be performed.

실행 제어부(210)는 앞서 설명한 P2P 통신부(230)를 실행시키는 기능을 수행 한다.The execution control unit 210 performs a function of executing the P2P communication unit 230 described above.

예를 들어 P2P 통신을 원하는 사용자가 입력부(미 도시함)를 통해 P2P 통신 명령을 입력하면, 실행 제어부(210)는 P2P 통신부(230)를 실행시키는데 이때 소정의 P2P 서버 시스템(100)의 주소를 P2P 통신부(230)에 전달할 수 있다.For example, when a user who wants P2P communication inputs a P2P communication command through an input unit (not shown), the execution control unit 210 executes the P2P communication unit 230, and at this time, an address of a predetermined P2P server system 100 is input. The P2P communication unit 230 may transmit the P2P communication unit 230.

P2P 통신부(230)는 저장부(231), 통신 방식 판단부(233), 단말 정보 등록부(235)를 포함하여 구성될 수 있다.The P2P communication unit 230 may include a storage unit 231, a communication method determination unit 233, and a terminal information registration unit 235.

여기서 저장부(231)에는 통신 연결 형태를 정하기 위한 연결 형태 선정 기준이 저장되어 있다.Here, the storage unit 231 stores the connection type selection criteria for determining the communication connection type.

통신 방식 판단부(233)는 실행 제어부(210)에 의해 P2P 통신부(230)가 실행되는 시점에, 설정 저장부(220)에 저장된 네트워크 관련 설정 데이터와 저장부(231)에 저장된 연결 형태 선정 기준을 비교하여, 다른 단말기와 P2P 통신을 수행할 때 직접 통신이 가능한지 중계 서버(130)를 거쳐 통신을 해야 하는지 여부를 판단한다.When the P2P communication unit 230 is executed by the execution control unit 210, the communication method determination unit 233 selects network-related setting data stored in the setting storage unit 220 and connection type selection criteria stored in the storage unit 231. By comparing this, it is determined whether direct communication is possible or not through the relay server 130 when performing P2P communication with another terminal.

예를 들어 저장부(231)에 저장된 연결 형태 선정 기준에 아이피 주소 대역별 구분 정보가 포함되어 있고, 설정 저장부(220)에는 사설 아이피 대역에 해당하는 아이피 주소가 등록 저장되어 있는 경우, 통신 방식 판단부(233)는 다른 단말기와 통신할 때 중계 서버(130)를 거쳐 통신을 해야 한다고 판단할 수 있다.For example, when the connection type selection criteria stored in the storage unit 231 includes IP address band-specific information, and the setting storage unit 220 registers and stores an IP address corresponding to a private IP band, a communication method. The determination unit 233 may determine that communication should be performed via the relay server 130 when communicating with other terminals.

단말 정보 등록부(235)는 통신 방식 판단부(233)에서 판단된 판단 결과를 포함하는 단말기 정보를 P2P 서버 시스템(100)에 전송하여 등록하는 기능을 수행한다. 여기서 단말기 정보에는 통신 방식 판단부(233)에서 판단된 판단 결과뿐만 아 니라 통신 단말기(200)에 할당된 아이피 주소 및 게이트웨이 주소 등이 더 포함될 수 있다.The terminal information registration unit 235 transmits and registers terminal information including the determination result determined by the communication method determination unit 233 to the P2P server system 100. The terminal information may further include an IP address and a gateway address assigned to the communication terminal 200 as well as the determination result determined by the communication method determination unit 233.

이와 같은 구성에 의해, 예를 들어 통신 단말기(200)에 전원이 공급된 후 처음으로 P2P 서버에 접속하는 경우, 통신 단말기(200)는 자신이 직접 판단한 다른 통신 단말기(200)와의 통신 연결 방식을 P2P 서버 시스템(100)에 미리 등록해 놓을 수 있고, 이는 P2P 서버 시스템(100)이 각 통신 단말기(200)가 다른 통신 단말기와 직접 연결이 가능한지 여부를 판단할 필요가 없어 P2P 서버 시스템(100)의 부하를 경감시킬 수 있고, 더 나아가 통신 단말기들(200) 간의 P2P 통신을 위한 연결이 신속히 이루어질 수 있다. 이에 관한 보다 상세한 설명은 후술토록 한다.By such a configuration, for example, when connecting to the P2P server for the first time after the power is supplied to the communication terminal 200, the communication terminal 200 determines the communication connection method with the other communication terminal 200 directly determined by itself. The P2P server system 100 may be registered in advance, which means that the P2P server system 100 does not need to determine whether each communication terminal 200 can directly connect with another communication terminal. Can reduce the load, and furthermore, the connection for P2P communication between the communication terminals 200 can be made quickly. A more detailed description thereof will be provided later.

한편, P2P 서버 시스템(100)은 통신 단말기 관리 서버(110), 메타 정보 생성 서버(120), 중계 서버(130)를 포함하여 구성될 수 있다.The P2P server system 100 may include a communication terminal management server 110, a meta information generating server 120, and a relay server 130.

통신 단말기 관리 서버(110)는 각 통신 단말기(200)와 연결되는 시점에 해당 통신 단말기(200)로부터 전송되는 단말기 정보를 저장하고, 어느 하나의 통신 단말기로부터 다른 통신 단말기로의 연결 요청을 수신한 경우, 상기 저장된 단말기 정보에 따라 해당 단말기들(200) 간의 연결이 직접 연결과 중계 서버(130)를 통한 간접 연결 중 어느 하나에 의해 이루어지도록 제어하는 기능을 수행한다.The communication terminal management server 110 stores the terminal information transmitted from the communication terminal 200 at the time of connection with each communication terminal 200, and receives a connection request from one communication terminal to another communication terminal. In this case, according to the stored terminal information, the connection between the terminals 200 is controlled by either one of a direct connection and an indirect connection through the relay server 130.

즉, 각 통신 단말기(200)로부터 수신된 단말기 정보에는 해당 통신 단말기(200)가 다른 통신 단말기와 직접 연결될 수 있을지 또는 중계 서버(130)를 통해 간접 연결될 수 있을지에 대한 판단 정보가 들어 있을 수 있고, 이러한 판단 정보에 따라 통신 단말기 관리 서버(110)는 각 통신 단말기들(200) 간의 P2P 통신에 있 어서의 연결 방식을 제어할 수 있는 것이다.That is, the terminal information received from each communication terminal 200 may include determination information on whether the corresponding communication terminal 200 can be directly connected to another communication terminal or indirectly through the relay server 130. In accordance with the determination information, the communication terminal management server 110 may control a connection method in P2P communication between each communication terminal 200.

다른 예로써 각 통신 단말기(200)로부터 수신된 단말기 정보에 각 통신 단말기들(200)의 아이피 주소 정보 등만이 포함되어 있고 상기한 예에서와 같은 판단 정보(즉, 직접 연결 또는 간접 연결 여부에 대한 판단)가 포함되어 있지 않은 경우에는, 통신 단말기 관리 서버(110)는 통신 단말기(200)의 아이피 주소로 더미(dummy) 커넥션 신호를 전송하고, 해당 더미 커넥션 신호에 대한 통신 단말기(200)의 응답에 따라 해당 통신 단말기(200)가 P2P 통신 시 다른 통신 단말기(200)와의 직접 연결이 가능한지 여부를 판단하고, 판단 결과를 해당 통신 단말기(200)의 통신 단말기 정보에 포함시켜 저장할 수도 있다.As another example, the terminal information received from each communication terminal 200 includes only the IP address information of each communication terminal 200, and the like as in the above example. Is not included), the communication terminal management server 110 transmits a dummy connection signal to the IP address of the communication terminal 200, and the communication terminal 200 of the communication terminal 200 for the dummy connection signal. According to the response, the corresponding communication terminal 200 may determine whether direct connection with another communication terminal 200 is possible during P2P communication, and may include the result of the determination in the communication terminal information of the corresponding communication terminal 200.

여기서 더미 커넥션 신호는 통신 단말기(200)가 다른 통신 단말기(200)의 요청에 직접 응답할 수 있는지를 미리 확인하기 위해 전송하는 신호이고, 이러한 더미 커넥션 신호에 대해 해당 통신 단말기(200)가 응답이 없는 경우 통신 단말기 관리 서버(110)는 그 통신 단말기(200)가 목적이 단말기로써 다른 통신 단말기(200)와 직접 연결될 수는 없고 중계 서버(130)를 통해 간접 연결될 수밖에 없다고 판단하는 것이다.Here, the dummy connection signal is a signal transmitted by the communication terminal 200 to confirm in advance whether the communication terminal 200 can directly respond to the request of the other communication terminal 200, and the corresponding communication terminal 200 responds to the dummy connection signal. If not, the communication terminal management server 110 determines that the communication terminal 200 cannot be directly connected to another communication terminal 200 as an intended terminal, but indirectly connected through the relay server 130.

이러한 판단 결과가 통신 단말기 정보에 함께 포함되어 저장되고, 통신 단말기 관리 서버(110)는 이 저장된 통신 단말기 정보를 이용하여 직접 연결 또는 중계 서버(130)를 통한 간접 연결 중 어느 하나의 방식으로 통신 단말기들(200) 간의 통신 연결을 제어하는 것이다.The result of the determination is included together with the communication terminal information and stored, and the communication terminal management server 110 uses the stored communication terminal information to directly communicate with the communication terminal through either of the direct connection or the indirect connection through the relay server 130. Control the communication connection between the two.

물론, 상기한 실시예에서는 통신 단말기(200)로부터 수신되는 통신 단말기 정보에 직접 연결과 간접 연결에 대한 판단 정보가 포함되어 있지 않은 경우에만 통신 단말기 관리 서버(110)가 각 통신 단말기(200)에 더미 커넥션을 전송하는 것을 일 예로 하였지만, 통신 단말기 정보에 P2P 통신 연결과 관련한 판단 정보가 포함되어 있는 경우에도 통신 단말기 관리 서버(110)는 확인을 위해 더미 커넥션 신호를 각 통신 단말기(200)로 전송할 수도 있음은 물론이다.Of course, in the above-described embodiment, the communication terminal management server 110 is connected to each communication terminal 200 only when the communication terminal information received from the communication terminal 200 does not include the determination information about the direct connection and the indirect connection. Although transmitting the dummy connection as an example, even if the communication terminal information includes the determination information related to the P2P communication connection, the communication terminal management server 110 transmits a dummy connection signal to each communication terminal 200 for confirmation. Of course you can.

메타 정보 생성 서버(120)는 중계 서버(130)와 각 통신 단말기들(200) 간의 통신 연결 정책을 설정하기 위한 룰 정보를 저장하고 있고, 각 통신 단말기들(200)의 P2P 통신 로그를 수집하여 수집된 통신 로그를 기초로 각 통신 단말기(200)에 대한 사용자 등급을 포함하는 메타 정보를 생성하는 기능을 수행한다.The meta information generation server 120 stores rule information for setting a communication connection policy between the relay server 130 and the communication terminals 200, and collects P2P communication logs of each communication terminal 200. It performs a function of generating meta information including the user level for each communication terminal 200 based on the collected communication log.

여기서 통신 연결 정책은 각 통신 단말기(200)가 중계 서버(130)와 어떻게 연결될 것인지를 정하기 위해 필요한 것으로서, 후술하는 바와 같이 중계 서버(130)는 설정된 통신 연결 정책에 따라 각 통신 단말기(200)와의 통신 연결 형태를 설정하게 된다. 이에 대한 보다 상세한 설명은 후술토록 한다.Here, the communication connection policy is necessary to determine how each communication terminal 200 will be connected with the relay server 130, and as described later, the relay server 130 may communicate with each communication terminal 200 according to the established communication connection policy. Set the communication connection type. A more detailed description thereof will be described later.

이러한 통신 연결 정책을 설정하기 위한 데이터가 포함된 룰 정보는 관리자에 의해 설정되어 메타 정보 생성 서버(120)에 저장될 수 있다. 이를 위해 메타 정보 생성 서버(120)는 관리자의 입력을 수신할 수 있는 인터페이스를 구비할 수 있다.Rule information including data for setting such a communication connection policy may be set by the administrator and stored in the meta information generation server 120. To this end, the meta information generation server 120 may be provided with an interface for receiving input from the administrator.

메타 정보 생성 서버(120)가 수집하는 P2P 통신 로그는 각 통신 단말기(200) 또는 해당 통신 단말기(200) 사용자가 얼마나 자주 P2P 통신을 이용하였는지, 소정의 자료를 얼마나 다른 통신 단말기(200)에 제공하였는지, 소정의 자료를 얼마나 많이 다른 통신 단말기(200)에 요청하였는지에 관한 정보들을 포함할 수 있다. 이를 위해 메타 정보 생성 서버(120)는 본 실시예에 포함된 각종 장치들로부터 필요한 정보들을 수신할 수 있다.The P2P communication log collected by the meta-information generating server 120 provides a predetermined data to the other communication terminal 200 and how often each user of the communication terminal 200 or the corresponding user of the communication terminal 200 used the P2P communication. Information about how many times the predetermined data is requested to the other communication terminal 200. To this end, the meta information generation server 120 may receive necessary information from various devices included in the present embodiment.

메타 정보 생성 서버(120)는 이렇게 수집된 P2P 통신 로그를 이용하여 메타 정보를 생성하는데, 메타 정보에는 예를 들어 각 사용자(또는 단말기) 별 P2P 통신 사용량에 따른 등급을 포함하는 것이다.The meta information generation server 120 generates meta information using the collected P2P communication logs. The meta information includes, for example, a grade according to P2P communication usage for each user (or terminal).

이러한 메타 정보에 의해 후술하는 바와 같이 P2P 통신을 수행하는 사용자(또는 단말기)에 대해서 우량 고객에 따라 차등 혜택(연결 방법에 대한 혜택)을 줄 수 있다. 이에 대한 보다 상세한 설명은 후술토록 한다.As described below, the meta information may provide a differential benefit (benefits for a connection method) to a user (or terminal) performing P2P communication according to a superior customer. A more detailed description thereof will be described later.

한편, 중계 서버(130)는 통신 단말기들(200) 간의 P2P 통신을 중계하는 기능을 수행하는 것으로서, 예를 들어 통신 단말기들(200) 간에 직접 연결이 불가능하거나 어려운 경우 중계 서버(130)는 해당 통신 단말기들(200) 간에 P2P 통신이 가능하도록 신호를 중계한다.Meanwhile, the relay server 130 performs a function of relaying P2P communication between the communication terminals 200. For example, when the direct connection between the communication terminals 200 is impossible or difficult, the relay server 130 may correspond to the relay server 130. The signal is relayed to enable P2P communication between the communication terminals 200.

이때 중계 서버(130)와 각 통신 단말기(200)는 다양한 방식으로 연결 형태를 유지할 수 있는데, 이러한 연결 형태에는 통신 단말기(200)와 중계 서버(130)가 지속적으로 연결을 유지하는 연속 연결 형태와, 통신 단말기(200)가 중계 서버(130)에 주기적으로 폴링 신호를 전송함으로써 간헐적으로 연결을 유지하는 주기 연결 형태가 포함될 수 있다.At this time, the relay server 130 and each communication terminal 200 may maintain a connection form in various ways, such a connection form includes a continuous connection form in which the communication terminal 200 and the relay server 130 continuously maintain the connection. In addition, the communication terminal 200 may include a periodic connection form in which the communication server 200 periodically maintains the connection by transmitting a polling signal to the relay server 130.

즉, 중계 서버(130)는 소정의 통신 단말기(200)와는 한번 연결된 정보를 저장하여 그 연결 상태를 계속 유지할 수 있고(예를 들어 해당 연결에 대한 소켓 정 보를 계속 저장하고 있음), 다른 통신 단말기(200)와는 해당 통신 단말기(200)가 주기적으로 연결을 확인하는 폴링 신호를 전송할 때만 그 연결을 유지할 수 있다.That is, the relay server 130 may store the information once connected to the predetermined communication terminal 200 to maintain the connection state (for example, continue to store socket information for the connection), and other communication terminals. The connection can be maintained only when the corresponding communication terminal 200 transmits a polling signal periodically confirming the connection.

이처럼 중계 서버(130)가 각 통신 단말기(200)와 어떠한 방식으로 연결 형태를 유지할지는 중계 서버(130)에서 소정의 통신 연결 정책에 의해 결정된다.As such, the relay server 130 determines how the relay server 130 maintains the connection type with each communication terminal 200 by a predetermined communication connection policy.

이하 통신 연결 정책이 설정되고 그에 따라 통신 연결 형태가 결정되는 과정을 살펴보면 다음과 같다.A process of establishing a communication connection policy and determining a communication connection type according to the following will be described below.

중계 서버(130)는 메타 정보 생성 서버(120)로부터 룰 정보와 메타 정보를 수신하는데, 통신 단말기들(200) 간의 중계 서버(130)의 부하 상태 즉, 중계 서버(130)를 통한 P2P 통신 현황에 대응되는 통신 연결 정책을 그 수신된 룰 정보에서 추출하여 설정하고, 그 수신된 메타 정보에 포함된 각 통신 단말기(200)의 사용자 등급과 상기 설정된 통신 연결 정책을 기초로 각 통신 단말기(200)와의 통신 연결 형태를 설정한다.The relay server 130 receives rule information and meta information from the meta information generation server 120, and the load state of the relay server 130 between the communication terminals 200, that is, the P2P communication status through the relay server 130. Extracts and sets a communication connection policy corresponding to the received rule information from the received rule information and based on the user class of each communication terminal 200 included in the received meta information and the set communication connection policy. Set communication connection type with.

즉, 앞서 설명한 바와 같이 룰 정보에는 중계 서버(130)의 처리 부하 즉, 중계 서버(130)에서 처리하는 통신 단말기들(200) 간의 중계 처리량에 따른 통신 연결 정책들이 복수 개 포함되어 있을 수 있고, 중계 서버(130)는 자신의 중계 처리 부하에 대응되는 통신 연결 정책을 룰 정보에서 추출하여 설정하고, 그 설정된 통신 연결 정책에 따라 각 통신 단말기(200)와의 연결 형태를 결정하는 것이다.That is, as described above, the rule information may include a plurality of communication connection policies according to the processing load of the relay server 130, that is, the relay throughput between the communication terminals 200 processed by the relay server 130. The relay server 130 extracts and sets a communication connection policy corresponding to its own relay processing load from the rule information, and determines a connection type with each communication terminal 200 according to the set communication connection policy.

여기서, 룰 정보에 포함된 각 통신 연결 정책에는 사용자 등급에 따른 연결 형태가 정의되어 있다.Here, each communication connection policy included in the rule information defines a connection type according to the user class.

따라서 중계 서버(130)는 메타 정보 생성 서버(120)로부터 수신된 메타 정보 에서 각 통신 단말기(200)(또는 그 사용자)에 대한 사용자 등급을 추출하고, 그 추출된 등급에 따라 각 통신 단말기(200)에 대해서 룰 정보에서 추출되어 설정된 통신 연결 정책을 기초로 통신 연결 형태를 결정하는 것이다.Accordingly, the relay server 130 extracts a user class for each communication terminal 200 (or a user thereof) from the meta information received from the meta information generation server 120, and according to the extracted class, each communication terminal 200. ) Determines the communication connection type based on the communication connection policy extracted from the rule information.

그런데 상술한 바와 같이 중계 서버(130)의 부하(즉, 처리량)의 변동에 따라 중계 서버(130)는 다른 통신 연결 정책을 설정할 수 있고, 다른 통신 연결 정책이 설정됨에 따라 중계 서버(130)와 각 통신 단말기(200)와의 통신 연결 형태는 변경될 수 있다.However, as described above, the relay server 130 may set another communication connection policy according to a change in the load (that is, throughput) of the relay server 130, and as the other communication connection policy is set, the relay server 130 may be different from the relay server 130. The communication connection type with each communication terminal 200 may be changed.

중계 서버(130)가 통신 연결 형태에 따라 통신 단말기들(200) 간의 P2P 통신 연결을 수행하는 과정은 다음과 같다.The relay server 130 performs a P2P communication connection between the communication terminals 200 according to the communication connection type as follows.

우선, 중계 서버(130)와 목적지 통신 단말기(200")가 연속 연결 형태를 유지하고 있다고 가정하면 중계 서버(130)는 목적지 통신 단말기(200")와의 통신 연결 정보를 저장하여 보관하고 있고, 이 상태에서 요청 통신 단말기(200')가 그 목적지 통신 단말기(200")로의 접속 요청 신호를 중계 서버(130)에 전송하면, 중계 서버(130)는 요청 통신 단말기(200')의 접속 요청을 이미 연속 연결 형태를 유지하고 있는 목적지 통신 단말기(200")와의 통신 채널을 이용하여 전송한다.First, assuming that the relay server 130 and the destination communication terminal 200 "maintain a continuous connection form, the relay server 130 stores and stores communication connection information with the destination communication terminal 200". In the state, when the request communication terminal 200 'transmits a connection request signal to the destination communication terminal 200 "to the relay server 130, the relay server 130 has already received the connection request of the request communication terminal 200'. Transmit using a communication channel with the destination communication terminal 200 "maintaining the continuous connection form.

즉, 중계 서버(130)는 저장/보관하고 있는 목적지 통신 단말기(200")의 통신 연결 정보(예를 들어 소켓 정보)와 요청 통신 단말기(200')의 접속 정보(예를 들어 소켓 정보)를 이용하여 세션 매핑과정을 통해 상호 연결시키고, 요청 통신 단말기(200')와 목적지 통신 단말기(200") 간의 P2P 통신을 중계처리 한다.That is, the relay server 130 stores the communication connection information (eg socket information) of the destination communication terminal 200 ″ stored and stored, and the connection information (eg socket information) of the request communication terminal 200 ′. By using the session mapping process to interconnect with each other, the P2P communication between the request communication terminal 200 'and the destination communication terminal 200 "is relayed.

다른 예로써, 중계 서버(130)와 목적지 통신 단말기(200")가 주기 연결 형태 를 유지하고 있다고 가정하면 중계 서버(130)는 목적지 통신 단말기(200")가 폴링 신호를 간헐적으로 전송할 때만 해당 목적지 통신 단말기(200")와 통신 상태를 유지하게 되므로 미리 목적지 통신 단말기(200")의 통신 연결 정보를 저장하고 있지 않다.As another example, assuming that the relay server 130 and the destination communication terminal 200 "maintain a periodic connection type, the relay server 130 may transmit a destination signal only when the destination communication terminal 200" transmits a polling signal intermittently. Since the communication state is maintained with the communication terminal 200 ", communication connection information of the destination communication terminal 200" is not stored in advance.

이 상태에서 요청 통신 단말기(200')가 그 목적지 통신 단말기(200")로의 접속 요청 신호를 중계 서버(130)에 전송하면, 중계 서버(130)는 요청 통신 단말기(200')와의 연결을 유지한 채로 목적지 통신 단말기(200")로부터 폴링 신호가 수신되기를 기다린다.In this state, when the request communication terminal 200 'transmits a connection request signal to the destination communication terminal 200 "to the relay server 130, the relay server 130 maintains a connection with the request communication terminal 200'. It waits for a polling signal to be received from the destination communication terminal 200 ".

폴링 신호가 수신되면 중계 서버(130)는 요청 통신 단말기(200')와 목적지 통신 단말기(200")를 세션 매핑 과정을 통해 상호 연결시키고 요청 통신 단말기(200')와 목적지 통신 단말기(200") 간의 P2P 통신을 중계한다.When the polling signal is received, the relay server 130 interconnects the request communication terminal 200 'and the destination communication terminal 200 "through a session mapping process, and the request communication terminal 200' and the destination communication terminal 200". Relay P2P communication between

상술한 설명에서는 중계 서버(130)가 단일 형태로 구비되는 것을 일 예로 하였지만, 중계 서버(130)에는 각각 통신 단말기(200) 간의 P2P 통신에 대한 중계 처리를 수행할 수 있는 복수 개의 중계 모듈들이 구비될 수 있고, 이 경우 중계 서버(130)는 각각의 통신 단말기(200)로부터의 P2P 연결 요청에 대해 특정 중계 모듈을 할당(이때 중계 모듈 간의 부하가 균등하도록 할당할 수 있음)하여 처리하도록 할 수 있다. 이때 중계 서버(130)는 할당된 중계 모듈의 아이피 주소 등을 통신 단말기(200)로 전송하여 알려주면 된다.In the above description, the relay server 130 is provided as a single form, but the relay server 130 includes a plurality of relay modules capable of performing relay processing for P2P communication between the communication terminals 200, respectively. In this case, the relay server 130 may allocate a specific relay module for the P2P connection request from each communication terminal 200 (in this case, the load between the relay modules may be allocated to be equalized) to be processed. have. In this case, the relay server 130 may transmit the IP address of the allocated relay module to the communication terminal 200 and inform the communication terminal 200.

상기한 경우에 대해 보다 구체적인 예를 들어 설명하면 다음과 같다.The above-described case will be described with more specific examples as follows.

즉, 중계 서버(130)에는 각 통신 단말기(200)들에 대한 정보와 중계 처리와 관련한 정보들을 포함하는 일종의 메모리 맵이 저장되어 있는데 메모리 맵에는 특히 각 통신 단말기(200)들이 어떠한 중계 모듈을 통해 연결되고 있는지 등에 대한 정보가 포함되어 있다.That is, the relay server 130 stores a kind of memory map including information about each communication terminal 200 and information related to relay processing, and in particular, each communication terminal 200 uses some relay module. Information about the connection is included.

이 상태에서 요청 통신 단말기(200')가 목적지 통신 단말기(200")로의 접속을 요청하면, 중계 서버(130)는 요청 통신 단말기(200')에 특정 중계 모듈로 연결하라는 명령을 전송함과 동시에 메모리맵에 요청 통신 단말기(200')가 특정 중계 모듈에서 대기중이라는 정보를 저장해 놓는다.In this state, when the request communication terminal 200 'requests a connection to the destination communication terminal 200 ", the relay server 130 transmits a command to connect to the request communication terminal 200' with a specific relay module. The request communication terminal 200 ′ stores information indicating that the request communication terminal 200 ′ is waiting in a specific relay module.

중계 서버(130)로부터 명령을 받은 요청 통신 단말기(200')는 해당 중계 모듈과 연속 연결 형태를 유지하며 목적지 통신 단말기(200")와 통신할 수 있을 때까지 대기한다.The request communication terminal 200 ′ receiving the command from the relay server 130 maintains a continuous connection form with the corresponding relay module and waits until it can communicate with the destination communication terminal 200 ″.

한편, 중계 서버(130)는 주기 연결 형태를 유지하고 있던 목적지 통신 단말기(200")가 해당 주기에 도달하여 접속하는 경우 메모리맵 정보를 기초로 요청 통신 단말기(200')가 소정의 중계 모듈과 접속하여 대기하고 있음을 알린다.On the other hand, the relay server 130, when the destination communication terminal 200 ", which maintains the periodic connection type, reaches and accesses the corresponding period, the request communication terminal 200 'is connected to a predetermined relay module based on the memory map information. Notifies you that you are connected and waiting.

목적지 통신 단말기(200")는 중계 서버(130)로부터 수신되는 정보를 기초로 요청 통신 단말기(200')가 이미 접속해 있는 중계 모듈로 접속하고, 해당 중계 모듈은 세션 매핑을 통해 요청 통신 단말기(200')와 목적지 통신 단말기(200") 간에 P2P 통신이 이루어지도록 중계 처리한다. 이 경우 목적지 통신 단말기(200")는 해당 중계 모듈과 주기 연결 형태로 연결을 유지할 수 있다.The destination communication terminal 200 "connects to a relay module to which the request communication terminal 200 'is already connected based on the information received from the relay server 130, and the relay module connects to the request communication terminal through session mapping. 200 ′) and the destination communication terminal 200 ″ to perform P2P communication. In this case, the destination communication terminal 200 ″ may maintain the connection with the corresponding relay module in a periodic connection form.

이처럼 중계 서버(130)에 복수 개의 중계 모듈이 구비되어 있는 경우에는 각 중계 모듈 간의 통신 처리 부하를 균등하게 조정할 부하 조정부(미 도시함)가 중계 서버에 포함되어 있을 수 있다.As such, when the relay server 130 is provided with a plurality of relay modules, a load adjuster (not shown) to equally adjust the communication processing load between the relay modules may be included in the relay server.

한편, 중계 서버(130)는 중계 처리를 다른 통신 단말기(200)에서 수행하도록 하는 제어신호를 전송할 수도 있다. 상술한 바와 같이 각 통신 단말기(200) 특히, 공인 아이피 주소를 갖고 있는 통신 단말기(200)는 다른 통신 단말기들(200) 간의 P2P 통신에 대한 중계 처리 기능을 수행할 수 있고, 이 경우 중계 처리를 위해 필요한 정보들-각 통신 단말기에 관한 정보, 통신 연결 정책에 관한 정보, 메타 정보 등-은 필요시 중계 서버(130)로부터 전송받을 수 있다.Meanwhile, the relay server 130 may transmit a control signal for performing the relay process in another communication terminal 200. As described above, each communication terminal 200, in particular, a communication terminal 200 having an authorized IP address may perform a relay processing function for P2P communication between other communication terminals 200, and in this case, relay processing may be performed. Information necessary for information, such as information on each communication terminal, information on a communication connection policy, meta information, and the like, may be transmitted from the relay server 130 when necessary.

이처럼 다른 통신 단말기가 중계 처리 기능을 수행하는 것은 후술하는 예와 같이 통신 연결 정책 중에서도 제4 정책에 해당하는 것으로 제일 마지막으로 선택될 가능성이 있는 방식에 해당한다.As described above, the other communication terminal performing the relay processing function corresponds to a method in which a communication policy may be finally selected as the fourth policy among the communication connection policies.

그 과정을 보다 구체적으로 설명하면 다음과 같다.The process is described in more detail as follows.

우선, 목적지 통신 단말기(200")가 중계 서버(130)에 주기적으로 폴링 신호를 전송하는 상태라고 가정한다. 이러한 상태에서 요청 통신 단말기(200')가 중계 서버(130)에 접속하면, 중계 서버(130)는 상술한 바와 같이 소정의 중계 모듈을 그 요청 통신 단말기(200')에 할당하여야 하는데, 예를 들어 모든 중계 모듈들이 과부하 상태로서 추가적인 중계 처리를 할 수 없는 상태인 경우에는 중계 서버(130)는 외부의 다른 통신 단말기가 중계 처리를 수행할 수 있도록 제어한다.First, it is assumed that the destination communication terminal 200 "periodically transmits a polling signal to the relay server 130. When the request communication terminal 200 'is connected to the relay server 130 in this state, the relay server 130 As described above, the predetermined relay module should be allocated to the request communication terminal 200 '. For example, if all the relay modules are overloaded and additional relay processing cannot be performed, the relay server ( 130 controls other external communication terminals to perform relay processing.

즉, 외부의 통신 단말기로 하여금 일종의 중계 모듈로써 기능토록 하는 것이다.That is, the external communication terminal to function as a kind of relay module.

여기서, 중계 처리를 수행할 외부 통신 단말기를 산정하기 위해 중계 서 버(130)는 상술한 메모리맵의 정보를 이용할 수 있다. 즉, 메모리맵에는 각 통신 단말기들에 대한 정보가 저장되어 있는데, 중계 서버(130)는 메모리맵을 검토하여 중계 서버(130)로 사용될 수 있는 통신 단말기를 선정하게 된다.Here, the relay server 130 may use the above-described information of the memory map to calculate the external communication terminal to perform the relay process. That is, the memory map stores information on each communication terminal, and the relay server 130 selects a communication terminal that can be used as the relay server 130 by examining the memory map.

예를 들어 중계 서버(130)는 공인 아이피를 가지고 있으면서 외부의 장치로부터 접속이 가능한 통신 단말기를 중계 모듈로써 선정할 수 있다. 이때 중계 서버(130)는 메모리맵에 저장되어 있는 정보를 기초로 해당 통신 단말기가 중계 처리를 하기에 적당한 하드웨어 및 운영체제를 갖고 있는 것인지를 추가적으로 판단할 수도 있다.For example, the relay server 130 may select a communication terminal that can be connected from an external device while having an authorized IP as a relay module. In this case, the relay server 130 may additionally determine whether the corresponding communication terminal has a hardware and an operating system suitable for relay processing based on the information stored in the memory map.

이렇게 중계 모듈로 이용할 통신 단말기가 선정되면 중계 서버(130)는 그 선정된 통신 단말기의 아이피 주소 등의 정보를 요청 통신 단말기(200')에 전송하고, 요청 통신 단말기(200')는 중계 모듈 즉, 중계 처리를 수행하는 통신 단말기에 접속하여 대기한다.When the communication terminal to be used as the relay module is selected, the relay server 130 transmits information such as an IP address of the selected communication terminal to the request communication terminal 200 ', and the request communication terminal 200' is a relay module, It connects to the communication terminal performing the relay process and waits.

이때, 중계 서버(130)는 이러한 요청 통신 단말기(200')의 상태를 메모리맵에 저장한다.At this time, the relay server 130 stores the state of the request communication terminal 200 'in the memory map.

그리고 중계 서버(130)는 목적지 통신 단말기(200")에서 폴링 신호를 수신하면, 메모리맵을 참조하여 목적지 통신 단말기(200")에 요청 통신 단말기(200')의 상태 정보를 전송한다. 즉, 중계 서버(130)는 요청 통신 단말기(200')가 현재 접속하여 대기 중인 외부의 통신 단말기 아이피 주소 등의 정보를 목적지 통신 단말기(200")에 전송한다.When the relay server 130 receives the polling signal from the destination communication terminal 200 ", the relay server 130 transmits state information of the request communication terminal 200 'to the destination communication terminal 200" with reference to the memory map. That is, the relay server 130 transmits information, such as an external communication terminal IP address, to which the request communication terminal 200 ′ is currently connected and waiting to the destination communication terminal 200 ″.

그러면 목적지 통신 단말기(200")는 중계 처리를 수행하는 통신 단말기에 접 속하게 되고, 중계 처리를 수행하는 통신 단말기는 요청 통신 단말기(200')와 목적지 통신 단말기(200") 간의 세션 매핑 과정을 통해 상호간 P2P 통신이 가능하도록 중계 처리를 수행한다.Then, the destination communication terminal 200 "is connected to the communication terminal which performs the relay process, and the communication terminal which performs the relay process through the session mapping process between the request communication terminal 200 'and the destination communication terminal 200". Relay processing is performed to enable P2P communication with each other.

이때 요청 통신 단말기(200')와 목적지 통신 단말기(200")는 모두 중계 처리를 수행하는 통신 단말기에 연속 연결 형태로 그 연결 상태를 유지할 수도 있다.At this time, both the request communication terminal 200 'and the destination communication terminal 200 "may maintain their connection state in the form of a continuous connection to the communication terminal performing relay processing.

그런데, 이처럼 외부의 통신 단말기가 일종의 중계 모듈로써 기능하는 경우에, 그 중계 모듈로써 기능하는 통신 단말기가 사용자의 명령 또는 기타 다른 이유로 인해 셧 다운 되거나 하여 중계 처리를 수행하지 못하는 경우가 발생할 수 있다.However, in the case where the external communication terminal functions as a kind of relay module, the communication terminal functioning as the relay module may be shut down due to a user's command or other reasons, thereby failing to perform relay processing.

이 경우, 요청 통신 단말기(200') 및 목적지 통신 단말기(200")는 에러 검출 기능을 내장하여 예를 들어 일정 시간 P2P 통신의 중계 처리가 이루어지지 않는 경우에는 이를 감지하고, 중계 서버(130)에 소정의 에러 메시지를 전송할 수도 있다.In this case, the request communication terminal 200 ′ and the destination communication terminal 200 ″ include an error detection function and detect, for example, when the P2P communication is not relayed for a predetermined time, and the relay server 130. It may also send a predetermined error message.

요청 통신 단말기(200') 또는 목적지 통신 단말기(200")로부터 에러 메시지를 수신한 중계 서버(130)는 중계 모듈로써 기능하는 통신 단말기의 상태를 확인하고, 해당 통신 단말기에 문제가 발생하였다고 판단하는 경우에는 다른 외부의 통신 단말기, 즉 중계 처리를 수행할 수 있는 또 다른 통신 단말기의 정보를 요청 통신 단말기(200') 및 목적지 통신 단말기(200")에 전송하여 상호간 P2P 통신을 수행할 수 있도록 하거나, 자체 중계 모듈에 중계 처리의 여유가 있는 경우에는 해당 중계 모듈을 요청 통신 단말기(200') 및 목적지 통신 단말기(200")에 할당할 수도 있다.The relay server 130 receiving the error message from the request communication terminal 200 'or the destination communication terminal 200 "checks the status of the communication terminal functioning as a relay module and determines that a problem has occurred in the corresponding communication terminal. In this case, information of another external communication terminal, that is, another communication terminal capable of performing relay processing, may be transmitted to the request communication terminal 200 'and the destination communication terminal 200 "to perform P2P communication with each other. In case that the relay module can afford the relay processing, the relay module may be allocated to the request communication terminal 200 'and the destination communication terminal 200 ".

이하에서는 도 3a 내지 도 6b를 참조하여 본 발명의 일 실시예에 따른 P2P 서버 시스템(100) 및 그 P2P 서버 시스템(100)과 통신하는 통신 단말기(200) 간의 각 제어흐름에 대해 상세히 설명한다.Hereinafter, each control flow between the P2P server system 100 and the communication terminal 200 communicating with the P2P server system 100 will be described in detail with reference to FIGS. 3A to 6B.

우선 도 3a를 참조하여 통신 단말기(200)의 단말 정보가 통신 단말기 관리 서버(110)에 등록 저장되는 과정에 대해서 설명한다.First, a process in which terminal information of the communication terminal 200 is registered and stored in the communication terminal management server 110 will be described with reference to FIG. 3A.

우선, 통신 단말기(200)는 통신 단말기(200) 사용자의 명령 등에 의해 다른 통신 단말기(200)와 P2P 통신을 수행하는 P2P 통신부(230)를 실행시킨다(단계 S1). P2P 통신부(230)는 자신의 아이피 주소를 포함하는 단말 정보를 추출 또는 생성하여(단계 S3) 통신 단말기 관리 서버(110)에 전송하며 그 등록을 요청한다(단계 S5).First, the communication terminal 200 executes the P2P communication unit 230 which performs P2P communication with another communication terminal 200 by a command of the user of the communication terminal 200 (step S1). The P2P communication unit 230 extracts or generates terminal information including its IP address (step S3), transmits it to the communication terminal management server 110, and requests registration thereof (step S5).

통신 단말기 관리 서버(110)는 수신된 아이피 주소에 대한 더미 커넥션 신호를 생성하여(단계 S7) 통신 단말기(200)로 전송한다(단계 S9).The communication terminal management server 110 generates a dummy connection signal for the received IP address (step S7) and transmits it to the communication terminal 200 (step S9).

통신 단말기(200)의 P2P 통신부(230)는 이러한 통신 단말기 관리 서버(110)의 더미커넥션 신호에 대해 자신의 네트워크 상황에 따라 응답할 수도 있고, 응답하지 못할 수도 있다.The P2P communication unit 230 of the communication terminal 200 may or may not respond to the dummy connection signal of the communication terminal management server 110 according to its network situation.

예를 들어 방화벽으로 막혀 있거나, 사설 아이피가 할당된 상태에서 포트 포워딩 기능이 방화벽 등에 구비되어 있지 않은 경우에는 P2P 통신부(230)는 통신 단말기 관리 서버(110)의 더미 커넥션 신호를 수신하지 못할 수도 있는 것이다.For example, when a port is blocked by a firewall or a port forwarding function is not provided in a state in which a private IP is assigned, the P2P communication unit 230 may not receive a dummy connection signal of the communication terminal management server 110. will be.

통신 단말기 관리 서버(110)는 통신 단말기(200)로부터의 더미 커넥션 신호에 대한 응답이 수신된 경우에는(단계 S11) 해당 통신 단말기(200)가 다른 통신 단말기(200)와 직접 연결이 가능하다고 판단하고(단계 S13), 더미 커넥션 신호가 수 신되지 않은 경우에는 중계 서버(130)를 통해 간접 연결이 가능하다고 판단하고(단계 S15), 그 판단된 정보를 포함하는 단말 정보를 등록한다(단계 S17).When a response to the dummy connection signal from the communication terminal 200 is received (step S11), the communication terminal management server 110 determines that the corresponding communication terminal 200 can directly connect with another communication terminal 200. If the dummy connection signal is not received (step S13), it is determined that indirect connection is possible through the relay server 130 (step S15), and the terminal information including the determined information is registered (step S17). ).

여기서 직접 연결이 가능한 경우에는 각 통신 단말기(200)가 P2P 통신을 직접 수행할 수 있는 것을 의미하고, 간접 연결이 가능한 경우에는 중계 서버(130)를 통해서 상호간 P2P 통신을 수행할 수 있는 것을 의미한다.In this case, when the direct connection is possible, each communication terminal 200 may directly perform P2P communication, and when indirect connection is possible, it means that P2P communication may be performed through the relay server 130. .

본 발명 중 P2P 서버 시스템(100)은 특히 중계 서버(130)를 이용하는 경우에 각 통신 단말기(200)와 중계 서버(130) 간의 연결 형태의 변화에 관한 것을 그 주요 특징으로 한다.P2P server system 100 of the present invention is characterized in that the change in the connection type between each communication terminal 200 and the relay server 130, especially when using the relay server 130.

한편, 도 3b에는 통신 단말기(200)가 다른 통신 단말기(200)와 직접 연결이 가능한지 여부를 스스로 판단하여 통신 단말기 관리 서버(110)에 등록하는 과정이 나타나 있다.Meanwhile, FIG. 3B illustrates a process in which the communication terminal 200 determines whether the communication terminal 200 can directly connect with another communication terminal 200 and registers the same in the communication terminal management server 110.

즉, 통신 단말기(200)는 P2P 통신부(230)가 실행되는 시점에(단계 S21) 다른 통신 단말기(200)와 직접 연결 가능한지를 자체 네트워크 정보 등을 고려하여 판단한다(단계 S23).That is, the communication terminal 200 determines whether direct connection with another communication terminal 200 is possible at the time when the P2P communication unit 230 is executed (step S21) in consideration of its own network information (step S23).

예를 들어 자신에게 할당된 아이피 주소가 사설 아이피인지, 또는 통신 단말기(200) 자체에 방화벽이 활성화되어 있는지 해당 방화벽의 설정이 변경 가능한지 여부 등을 고려하여 다른 통신 단말기(200)가 직접 자신(즉, P2P 통신부(230))에게 접속 가능한 것인지를 판단하는 것이다.For example, in consideration of whether the IP address assigned to the user is a private IP, whether the firewall is activated on the communication terminal 200 itself, or whether the setting of the corresponding firewall can be changed, the other communication terminal 200 directly (i.e., To determine whether the P2P communication unit 230 is accessible.

이렇게 판단된 정보와 아이피 주소 등을 포함하는 단말 정보를 추출 및 생성하여(단계 S25) 통신 단말기(200)의 P2P 통신부(230)는 통신 단말기 관리 서 버(110)에 단말 정보를 전송하며 그 등록을 요청한다(단계 S27).By extracting and generating the terminal information including the determined information and IP address (step S25), the P2P communication unit 230 of the communication terminal 200 transmits the terminal information to the communication terminal management server 110 and registers the information. Request (step S27).

여기서 단말 정보의 추출은 기 저장되어 있던 아이피 주소를 추출하는 것을 의미하고, 단말 정보의 생성은 다른 단말기와 직접 연결이 가능한지에 대한 판단 정보를 생성하는 것을 의미한다.In this case, the extraction of the terminal information means the extraction of the previously stored IP address, and the generation of the terminal information means the generation of determination information on whether direct connection with other terminals is possible.

이에 통신 단말기(200)는 통신 단말기(200)의 단말 정보를 등록하고(단계 S29), 그 등록된 단말 정보에 따라 통신 단말기들(200) 간에 P2P 통신시 직접 연결 또는 중계 서버(130)를 이용한 간접 연결을 제어하게 된다.Accordingly, the communication terminal 200 registers terminal information of the communication terminal 200 (step S29), and uses the direct connection or relay server 130 during P2P communication between the communication terminals 200 according to the registered terminal information. Indirect connection will be controlled.

물론, 도 3b에서도 도 3a의 경우에 언급된 더미 커넥션 신호를 통신 단말기 관리 서버(110)가 추가적인 확인을 위해 통신 단말기(200)에 전송할 수도 있다.Of course, in FIG. 3B, the communication terminal management server 110 may transmit the dummy connection signal mentioned in the case of FIG. 3A to the communication terminal 200 for further confirmation.

이하에서는 도 4를 참조하여 본 발명의 일 실시예에 따른 P2P 서버 시스템(100)의 각 구성 요소들 간에 통신 흐름 및 그 각 구성 요소들의 제어 과정에 대해서 설명한다.Hereinafter, a communication flow between components of the P2P server system 100 and a control process of the components will be described with reference to FIG. 4.

우선, 앞선 도 3a 및 도 3b에 도시된 바와 같이 통신 단말기 관리 서버(110)는 단말 정보를 등록해 놓고 있다(단계 S31).First, as shown in FIGS. 3A and 3B, the communication terminal management server 110 registers terminal information (step S31).

한편, 메타 정보 생성 서버(120)는 관리자 등의 입력에 따라 각 통신 단말기들(200) 간의 통신 연결 정책을 설정하기 위한 소정의 룰 정보를 등록 저장하고 있다(단계 S33).Meanwhile, the meta information generation server 120 registers and stores predetermined rule information for setting a communication connection policy between the communication terminals 200 according to an input of an administrator (step S33).

룰 정보는 크게 사용자 등급을 결정하는 룰 정보와 중계 서버(130)의 서비스 형태를 구분하는 룰 정보로 구분될 수 있다.The rule information may be largely divided into rule information for determining a user grade and rule information for distinguishing a service type of the relay server 130.

사용자 등급을 결정하는 룰 정보는 예를 들어 일 평균 접속률을 기준으로 상 위 10%에 해당하는 사용자를 1등급 유저, 그 외 고객을 2등급 유저 즉, 일반 유저로 구분할 수 있다. 물론 일반 유저는 더 세부적 기준으로 구분될 수도 있다.For example, the rule information for determining the user class may be divided into a first-class user and a second-class user, that is, a general user, based on a daily average access rate. Of course, the general user may be divided into more detailed criteria.

중계 서버(130)의 서비스 형태를 구분하는 룰 정보는 예를 들어 다음과 같이 구분된 통신 연결 정책 정보를 포함할 수 있다.Rule information for distinguishing a service type of the relay server 130 may include, for example, communication connection policy information divided as follows.

1. 연속 연결 형태 유지 정책 : 즉, 중계 서버(130)를 이용하는 통신 단말기(200)가 접속할 때, 그 접속한 통신 단말기(200)와 중계 서버(130)간 영구 TCP(Transmission Control Protocol) 세션을 유지하는 정책이다. 예를 들어 목적지 통신 단말기(200")가 대기상태일 경우에도 중계 서버(130)는 해당 통신 단말기(200")와의 세션을 지속적으로 유지하며, 요청 통신 단말기(200')가 접속할 때 목적지 통신 단말기(200")와 즉시 세션 매핑을 수행하여 요청 통신 단말기(200')와 목적지 통신 단말기(200")가 상호간 P2P 통신을 할 수 있도록 하는 정책(이하 제1 정책 이라 함)이다.1. Continuous connection type maintenance policy: That is, when the communication terminal 200 using the relay server 130 is connected, a permanent Transmission Control Protocol (TCP) session between the connected communication terminal 200 and the relay server 130 is established. It is a policy to maintain. For example, even when the destination communication terminal 200 "is in a standby state, the relay server 130 continuously maintains a session with the communication terminal 200", and when the request communication terminal 200 'is connected, the destination communication terminal. It is a policy (hereinafter, referred to as a first policy) that enables the request communication terminal 200 'and the destination communication terminal 200 "

2. 연속 연결 및 주기 연결 형태 혼합 정책 : 예를 들어 제1 정책 하에서 운영되다 중계 서버(130)를 이용하는 통신 단말기(200) 수가 증가하는 경우 1 등급 유저의 통신 단말기에게는 제1 정책과 같이 연속 연결 형태가 유지되도록 하고, 2 등급 유저에 해당하는 통신 단말기에는 해당 통신 단말기가 주기적으로 폴링 신호를 중계 서버(130)에 전송하는 시점에만 통신 단말기와 중계 서버(130)가 연결되도록 하는 정책(이하 제2 정책 이라 함)이다.2. Mixing policy of continuous connection and periodic connection type: For example, when the number of communication terminals 200 using the relay server 130 increases while operating under the first policy, continuous connection is performed to the communication terminals of a first-class user as in the first policy. The form is maintained and the communication terminal corresponding to the second-class user is connected to the communication terminal and the relay server 130 only when the communication terminal periodically transmits a polling signal to the relay server 130 (hereinafter, referred to as a policy). 2 policy).

3. 주기 연결 형태 정책 : 모든 유저 즉, 모든 통신 단말기(200)에 대해서 해당 통신 단말기(200)의 주기적 폴링 신호 전송에 의해서 통신 단말기(200)와 중 계 서버(130)가 연결을 유지할 수 있도록 하되 1등급 유저는 2등급 유저보다 더 빠른 주기로 폴링 신호를 중계 서버(130)에 전송하도록 하는 정책(이하 제3 정책 이라 함)이다.3. Periodic connection type policy: so that the communication terminal 200 and the relay server 130 can maintain a connection by transmitting a periodic polling signal of the communication terminal 200 to all users, that is, all communication terminals 200. However, the first-class user is a policy (hereinafter referred to as a third policy) for transmitting a polling signal to the relay server 130 at a faster interval than the second-class user.

4. 외부 목적지 통신 단말기(200") 이용 정책 : 제일 낮은 등급의 유저부터 순차적으로 외부 목적지 통신 단말기(200")를 통해 중계 되도록 제어하는 정책(이하 제4 정책이라 함)이다. 특히 이 제4 정책은 중계 서버(130)에서 중계 처리를 위한 리소스 부족 발생 시 이용될 수 있는 유용한 방법이다. 이때 중계 서버(130) 소정의 중계 기능 전환 신호를 전송하여 특정 통신 단말기들 간의 P2P 중계 처리를 수행하도록 제어한다.4. External destination communication terminal 200 " use policy: This is a policy for controlling relaying through the external destination communication terminal 200 " In particular, the fourth policy is a useful method that can be used when a shortage of resources for relay processing occurs in the relay server 130. At this time, the relay server 130 transmits a predetermined relay function switching signal to control P2P relay processing between specific communication terminals.

룰 정보에는 상기한 각각의 정책에 필요한 각 정책별 및 각 등급별 폴링 주기 정보가 포함될 수 있다.The rule information may include polling period information for each policy and each grade required for each of the above policies.

통신 단말기 관리 서버(110)와 메타 정보 생성 서버(120), 중계 서버(130)는 서로 정보 공유를 위한 각종 신호들을 송수신 한다(단계 S35). 예를 들어 통신 단말기 관리 서버(110) 및 중계 서버(130)는 소정의 통신 처리에 따른 각종 로그를 메타 정보 생성 서버(120)로 전송하여 메타 정보 생성 서버(120)가 메타 정보를 생성할 수 있도록 한다(단계 S37).The communication terminal management server 110, the meta information generation server 120, and the relay server 130 transmit and receive various signals for sharing information (step S35). For example, the communication terminal management server 110 and the relay server 130 may transmit various logs according to a predetermined communication process to the meta information generation server 120 so that the meta information generation server 120 may generate meta information. (Step S37).

즉, 메타 정보 생성 서버(120)는 각 통신 단말기들(200)에 대한 P2P 통신 로그를 기초로 각 통신 단말기(200)에 대한 사용자 등급을 포함하는 메타 정보를 생성한다.That is, the meta information generation server 120 generates meta information including a user class for each communication terminal 200 based on the P2P communication log for each communication terminal 200.

예를 들어 메타 정보 생성 서버(120)는 P2P 통신을 많이 한 통신 단말 기(200) 또는 보다 많은 데이터를 다른 통신 단말기(200)에 제공한 통신 단말기(200)에 대해서는 사용자 등급을 높게 설정한 메타 정보를 생성할 수 있다.For example, the meta information generation server 120 may set a user class with a high user level for the communication terminal 200 that has performed much P2P communication or the communication terminal 200 that provided more data to the other communication terminal 200. Information can be generated.

메타 정보 생성 서버(120)는 이렇게 생성한 메타 정보와 기 등록된 룰 정보를 중계 서버(130)에 전송한다(단계 S39).The meta information generation server 120 transmits the generated meta information and the pre-registered rule information to the relay server 130 (step S39).

룰 정보와 메타 정보는 이처럼 메타 정보 생성 서버(120)가 직접 중계 서버(130)에 전송할 수도 있지만, 소정의 공유 저장 공간(미 도시함)이 있는 경우 해당 공유 저장 공간을 통해 메타 정보 생성 서버(120)와 중계 서버(130)의 각종 데이터들(메타 정보 및 룰 정보 포함)이 공유될 수도 있음은 물론이다.The rule information and meta information may be directly transmitted to the relay server 130 by the meta information generating server 120, but if there is a predetermined shared storage space (not shown), the meta information generating server ( Of course, various data (including meta information and rule information) of the 120 and the relay server 130 may be shared.

중계 서버(130)는 자신의 P2P 통신 중계 처리와 관련된 부하 상태 즉, P2P 통신 중계 현황에 대응되는 통신 연결 정책을 룰 정보에서 추출하여 설정한다(단계 S41).The relay server 130 extracts and sets a communication connection policy corresponding to the load state associated with its own P2P communication relay processing, that is, the P2P communication relay status from the rule information (step S41).

여기서 P2P 통신 중계 현황은 통신 중계 처리 부하가 얼마나 되는지 등에 대한 정보는 나타내는 것으로서, P2P 통신 중계 처리를 많이 하고 있는 경우와 P2P 통신 중계 처리를 많이 하고 있지 않은 경우, 또는 각 통신 단말기(200)와의 연결 형태는 얼마나 어떻게 구성하고 있는지에 관한 정보를 모두 포함할 수 있다.Here, the P2P communication relay status indicates information on the load of the communication relay processing, and the like, when the P2P communication relay processing is performed a lot and the P2P communication relay processing is not performed a lot, or the connection with each communication terminal 200 is performed. A form can contain all the information about how it is constructed.

예를 들어 중계 서버(130)는 통신량이 적은 경우에는 통신 연결 정책을 제1 정책으로 설정할 수 있고, 통신량이 증가함에 따라 순서대로 제2 정책, 제3 정책, 제4 정책으로 변경 설정할 수 있다.For example, if the traffic volume is small, the relay server 130 may set the communication connection policy as the first policy, and change the setting to the second policy, the third policy, and the fourth policy in order as the traffic volume increases.

중계 서버(130)는 설정된 통신 연결 정책에 기초하여 요청 통신 단말기(200')의 사용자 등급과 목적지 통신 단말기(200")의 사용자 등급 중 적어도 어 느 하나에 따라 해당 통신 단말기(200)와의 통신 연결 형태를 결정한다(단계 S43).The relay server 130 communicates with the communication terminal 200 according to at least one of a user class of the request communication terminal 200 ′ and a user class of the destination communication terminal 200 ″ based on the set communication connection policy. The shape is determined (step S43).

예를 들어 현재 설정된 통신 연결 정책이 제2 정책인 경우 중계 서버(130)는 '1등급 유저'의 통신 단말기(200)는 중계 서버(130)와 연속 연결 형태를 유지하도록 하고, '2등급 유저'의 통신 단말기(200)는 중계 서버(130)와 주기 연결 형태를 유지하도록 할 수 있다.For example, if the currently established communication connection policy is the second policy, the relay server 130 maintains the communication terminal 200 of the 'first-class user' with the relay server 130 and maintains a continuous connection form. The communication terminal 200 may maintain a periodic connection form with the relay server 130.

다른 예로써 중계 서버(130)은 설정된 통신 연결 정책과 요청 통신 단말기(200')의 사용자 등급에 기초하여 목적지 통신 단말기(200")의 중계 서버(130)와의 연결 형태를 변경시킬 수도 있다.As another example, the relay server 130 may change the connection type with the relay server 130 of the destination communication terminal 200 ″ based on the set communication connection policy and the user level of the request communication terminal 200 ′.

중계 서버(130)에서 설정된 각 통신 단말기들(200)과의 통신 연결 형태는 중계 서버(130)를 통한 P2P 통신 현황의 변화와 메타 정보 서버로부터 수신되는 룰 정보 및 메타 정보의 변경에 따라 주기적 또는 비 주기적으로 변경될 수 있다.The communication connection type with each communication terminal 200 set in the relay server 130 may be periodically or in accordance with the change of P2P communication status through the relay server 130 and the rule information and meta information received from the meta information server. Can change aperiodically.

이처럼 중계 서버(130)는 각 통신 단말기들(200)과 등급별 각기 다른 방식으로 연결하여 중계 처리를 수행한다(단계 S45).In this way, the relay server 130 connects with the communication terminals 200 in different ways for each grade to perform the relay process (step S45).

이하에서는 도 5를 참조하여 통신 단말기(200)가 통신 단말기 관리 서버(110)를 거쳐 중계 서버(130)와 연결되는 과정을 설명한다.Hereinafter, a process in which the communication terminal 200 is connected to the relay server 130 via the communication terminal management server 110 will be described with reference to FIG. 5.

우선, 통신 단말기(200)가 통신 단말기 관리 서버(110)에 P2P 통신 연결을 요청하면(단계 S51), 통신 단말기 관리 서버(110)는 그 요청한 통신 단말기(200)의 정보를 추출하고(단계 S53), 추출한 단말기 정보에 따라 직접 연결 가능한지 여부를 판단한다(단계 S55).First, when the communication terminal 200 requests the P2P communication connection to the communication terminal management server 110 (step S51), the communication terminal management server 110 extracts information of the requested communication terminal 200 (step S53). In step S55, it is determined whether direct connection is possible according to the extracted terminal information.

예를 들어 통신 단말기(200)가 다른 통신 단말기(200)와 직접 연결 가능한 경우에는 해당 통신 단말기(200)의 정보 예를 들어 공인 아이피 주소를 저장 관리하여 다른 통신 단말기(200)의 요청이 있는 경우 직접 연결 되도록 처리한다(단계 S57).For example, when the communication terminal 200 can be directly connected to another communication terminal 200, when there is a request of another communication terminal 200 by storing and managing information of the corresponding communication terminal 200, for example, an authorized IP address. Processing is made so as to connect directly (step S57).

만일 판단결과 해당 통신 단말기(200)가 사설 아이피 주소를 가지고 있는 등 다른 통신 단말기(200)와 직접 연결이 불가능한 경우에는 통신 단말기 관리 서버(110)는 해당 통신 단말기(200)에 중계 서버(130)로의 연결을 명령한다(단계 S59). 이때 통신 단말기 관리 서버(110)는 통신 단말기(200)에 연결할 중계 서버(130)의 아이피 주소를 알려준다.If it is determined that the communication terminal 200 cannot directly connect with another communication terminal 200 such as having a private IP address, the communication terminal management server 110 relays the communication server 130 to the communication terminal 200. Command to the network (step S59). At this time, the communication terminal management server 110 informs the IP address of the relay server 130 to be connected to the communication terminal 200.

이에 따라 통신 단말기(200)는 P2P 통신을 위한 연결 요청 신호를 중계 서버(130)에 전송한다(단계 S63).Accordingly, the communication terminal 200 transmits a connection request signal for P2P communication to the relay server 130 (step S63).

한편, 중계 서버(130)는 도 4를 참조하여 설명한 바와 같이 통신 연결 정책을 설정하고(단계 S61), 메타 정보를 수신하여 저장하고 있는데(단계 S62), 저장된 메타 정보에서 통신 요청한 통신 단말기(200)의 사용자 등급을 추출한다(단계 S65).Meanwhile, the relay server 130 sets a communication connection policy as described with reference to FIG. 4 (step S61), and receives and stores meta information (step S62). The communication terminal 200 requests communication from the stored meta information. ) Is extracted (step S65).

그리고 중계 서버(130)는 추출한 사용자 등급과 설정된 통신 연결 정책에 따라 해당 통신 단말기(200)의 통신 연결 형태를 판단한다(단계 S67). 판단된 통신 연결 형태는 예를 들어 연속 연결 형태 또는 주기 연결 형태일 수 있다.In addition, the relay server 130 determines the communication connection type of the corresponding communication terminal 200 according to the extracted user class and the set communication connection policy (step S67). The determined communication connection type may be, for example, a continuous connection type or a periodic connection type.

중계 서버(130)는 판단된 통신 연결 형태 정보를 통신 단말기(200)에 전송하고(단계 S69), 통신 단말기(200)는 자신에게 할당된 통신 연결 형태가 연속 연결 형태인 경우에는(단계 S71) 중계 서버(130)와 통신 연결을 지속적으로 유지하고(단 계 S73), 주기 연결 형태인 경우에는 주기적으로 중계 서버(130)에 폴링 신호를 전송하여 간헐적으로 통신 상태를 유지한다(단계 S75).The relay server 130 transmits the determined communication connection type information to the communication terminal 200 (step S69), and when the communication connection type allocated to the communication terminal 200 is a continuous connection type (step S71). The communication connection with the relay server 130 is continuously maintained (step S73), and in the case of the periodic connection type, a polling signal is periodically transmitted to the relay server 130 to maintain an intermittent communication state (step S75).

여기서 통신 단말기(200)가 중계 서버(130)에 폴링 신호를 전송하는 주기는 중계 서버(130)로부터 전송된 제어 신호에 따라 변경될 수 있다.Here, the period in which the communication terminal 200 transmits a polling signal to the relay server 130 may be changed according to a control signal transmitted from the relay server 130.

이하에서는 도 6a를 참조하여 목적지 통신 단말기(200")가 중계 서버(130)와 연속 연결 형태를 유지한 상태에서 요청 통신 단말기(200')와 연결되는 과정에 대해서 설명한다.Hereinafter, a process in which the destination communication terminal 200 ″ is connected to the request communication terminal 200 ′ while maintaining a continuous connection form with the relay server 130 will be described with reference to FIG. 6A.

우선, 목적지 통신 단말기(200")는 중계 서버(130)의 제어에 따라 연속 연결 형태를 유지하고 있다(단계 S81).First, the destination communication terminal 200 "maintains a continuous connection form under the control of the relay server 130 (step S81).

이 상태에서 요청 통신 단말기(200')가 목적지 통신 단말기(200")로의 연결을 중계 서버(130)에 요청하면(단계 S83), 중계 서버(130)는 이미 목적지 통신 단말기(200")와 연결을 유지하고 있으므로 즉, 해당 목적지 통신 단말기(200")의 TCP 세션 정보를 보관/ 관리하고 있으므로 곧바로 요청 통신 단말기(200')와 목적지 통신 단말기(200")가 세션 매핑을 수행할 수 있다(단계 S85).In this state, when the request communication terminal 200 'requests the relay server 130 to connect to the destination communication terminal 200 "(step S83), the relay server 130 is already connected to the destination communication terminal 200". That is, since the TCP session information of the corresponding destination communication terminal 200 "is stored / managed, the request communication terminal 200 'and the destination communication terminal 200" can perform session mapping immediately (step S85).

세션 매핑이 수행된 이후 중계 서버(130)는 P2P 통신 연결 확립 신호를 요청 통신 단말기(200')와 목적지 통신 단말기(200")에 전송하여(단계 S87) 요청 통신 단말기(200')와 목적지 통신 단말기(200")가 상호간 P2P 통신을 수행할 수 있도록 한다(단계 S89).After the session mapping is performed, the relay server 130 transmits a P2P communication connection establishment signal to the request communication terminal 200 'and the destination communication terminal 200 "(step S87) to communicate with the request communication terminal 200'. The terminal 200 "may perform P2P communication with each other (step S89).

물론, 요청 통신 단말기(200')와 목적지 통신 단말기(200") 간의 통신은 중계 서버(130)의 세션 매핑에 의해 데이터 바이패스(중계)를 통해 이루어질 수 있는 것이지 양 통신 단말기(200) 간에 직접적으로 통신이 이루어지는 것은 아니다.Of course, the communication between the request communication terminal 200 ′ and the destination communication terminal 200 ″ may be achieved through data bypass (relay) by session mapping of the relay server 130, but may be directly between the both communication terminals 200. Communication does not occur.

이하에서는 도 6b를 참조하여 목적지 통신 단말기(200")가 중계 서버(130)와 주기 연결 형태를 유지한 상태에서 요청 통신 단말기(200')와 연결되는 과정에 대해서 설명한다.Hereinafter, a process in which the destination communication terminal 200 ″ is connected to the request communication terminal 200 ′ while maintaining a periodic connection form with the relay server 130 will be described with reference to FIG. 6B.

요청 통신 단말기(200')가 중계 서버(130)에 목적지 통신 단말기(200")로의 연결을 요청하면(단계 S91), 중계 서버(130)는 우선 요청 통신 단말기(200')와의 연결을 유지한 상태에서 목적지 통신 단말기(200")로부터 폴링 신호가 수신될 때까지 대기한다(단계 S92).When the request communication terminal 200 'requests the relay server 130 to connect to the destination communication terminal 200 "(step S91), the relay server 130 first maintains the connection with the request communication terminal 200'. It waits until a polling signal is received from the destination communication terminal 200 "in the state (step S92).

본 실시예에서 목적지 통신 단말기(200")는 중계 서버(130)와 주기 연결 형태를 유지하고 있으므로 주기적으로 중계 서버(130)의 제어에 따른 주기 간격으로 폴링 신호를 전송한다(단계 S93).In this embodiment, since the destination communication terminal 200 ″ maintains a periodic connection form with the relay server 130, the destination communication terminal 200 ″ periodically transmits a polling signal at periodic intervals under the control of the relay server 130 (step S93).

목적지 통신 단말기(200")로부터 폴링 신호가 수신되면 중계 서버(130)는 연결을 유지하고 있던 요청 통신 단말기(200')의 연결 정보가 폴링 신호에 의해 연결된 목적지 통신 단말기(200")의 연결 정보를 이용하여 세션 매핑을 수행한다(단계 S95).When the polling signal is received from the destination communication terminal 200 ", the relay server 130 connects the connection information of the destination communication terminal 200" connected by the polling signal to the connection information of the request communication terminal 200 'which was maintaining the connection. Session mapping is performed using (step S95).

이렇게 세션 매핑이 이루어진 후, 중계 서버(130)는 요청 통신 단말기(200')와 목적지 통신 단말기(200")로 P2P 통신 연결 확립 신호를 전송하고(단계 S96,S97), 요청 통신 단말기(200')와 목적지 통신 단말기(200") 간에 P2P 통신이 이루어지도록 한다(단계 S99).After the session mapping is performed, the relay server 130 transmits a P2P communication connection establishment signal to the request communication terminal 200 'and the destination communication terminal 200 "(steps S96 and S97) and the request communication terminal 200'. ) And P2P communication between the destination communication terminal 200 "(step S99).

한편, 본 발명은 상기한 특정 실시예에 한정되는 것이 아니라 본 발명의 요 지를 벗어나지 않는 범위 내에서 여러 가지로 변형 및 수정하여 실시할 수 있는 것이다. 이러한 변형 및 수정이 첨부되는 특허청구범위에 속한다면 본 발명에 포함된다는 것은 자명할 것이다. On the other hand, the present invention is not limited to the above-described specific embodiments and can be carried out by variously modified and modified within the scope not departing from the gist of the present invention. It is to be understood that such variations and modifications are intended to be included in the scope of the appended claims.

도 1은 본 발명의 일 실시예에 따른 P2P 서버 시스템과 통신 단말기를 포함하는 전체 구성도이고,1 is an overall configuration diagram including a P2P server system and a communication terminal according to an embodiment of the present invention,

도 2는 도 1의 통신 단말기의 기능 블록도이고,2 is a functional block diagram of the communication terminal of FIG. 1;

도 3a 내지 도 6b는 본 발명의 일 실시예에 따른 P2P 서버 시스템과 통신 단말기간의 통신 제어 흐름도이다.3A to 6B are flowcharts of communication control between a P2P server system and a communication terminal according to an embodiment of the present invention.

* 도면의 주요 부분에 대한 부호의 설명* Explanation of symbols for the main parts of the drawings

100 : P2P 통신 서버 시스템 200 : 통신 단말기100: P2P communication server system 200: communication terminal

200' : 요청 통신 단말기 200" : 목적지 통신 단말기200 ': request communication terminal 200 ": destination communication terminal

110 : 통신 단말기 관리 서버 120 : 메타 정보 생성 서버110: communication terminal management server 120: meta information generation server

130 : 중계 서버 210 : 실행 제어부130: relay server 210: execution control unit

220 : 설정 저장부 230 : P2P 통신부220: setting storage unit 230: P2P communication unit

231 : 저장부 233 : 통신 방식 판단부231: storage unit 233: communication method determination unit

235 : 단말 정보 등록부235: terminal information register

Claims (20)

P2P(Peer-To-Peer) 통신을 수행하는 다수의 통신 단말기들 간의 연결을 제어하는 P2P 서버 시스템의 제어방법에 있어서,In a control method of a P2P server system for controlling a connection between a plurality of communication terminals performing peer-to-peer communication, (a) 상기 다수의 통신 단말기들 중 각 통신 단말기와 최초로 연결되는 시점에 해당 통신 단말기로부터 전송되는 통신 단말기 정보를 저장하는 단계와;(a) storing communication terminal information transmitted from a corresponding communication terminal at a time of first connection with each communication terminal among the plurality of communication terminals; (b) 상기 다수의 통신 단말기들 중 소정의 요청 통신 단말기로부터 소정의 목적지 통신 단말기로의 연결 요청을 수신한 경우, 기 저장된 목적지 통신 단말기 정보에 따라 상기 요청 통신 단말기 및 상기 목적지 통신 단말기 간의 연결이 직접 연결과 소정의 중계 처리를 통한 간접 연결 중 어느 하나의 방식에 의해 이루어지도록 제어하는 단계를 포함하는 것을 특징으로 하는 P2P 서버 시스템의 제어방법.(b) when a connection request to a predetermined destination communication terminal is received from a predetermined request communication terminal among the plurality of communication terminals, the connection between the requesting communication terminal and the destination communication terminal is disconnected according to previously stored destination communication terminal information. A control method of a P2P server system comprising the step of controlling to be made by any one of a direct connection and an indirect connection through a predetermined relay process. 제1항에 있어서,The method of claim 1, 상기 (a) 단계는,In step (a), (a1) 상기 다수의 통신 단말기들 중 각 통신 단말기로부터 수신되는 통신 단말기 정보를 기초로 해당 통신 단말기에 더미(dummy) 커넥션 신호를 전송하는 단계와;(a1) transmitting a dummy connection signal to a corresponding communication terminal based on communication terminal information received from each communication terminal among the plurality of communication terminals; (a2) 상기 더미 커넥션 신호에 대한 통신 단말기의 응답에 따라 해당 통신 단말기가 P2P 통신 시 다른 통신 단말기와 직접 연결이 가능한지 여부를 판단하는 단계와;(a2) determining whether a corresponding communication terminal can directly connect with another communication terminal during P2P communication according to a response of the communication terminal to the dummy connection signal; (a3) 상기 판단 결과를 해당 통신 단말기의 통신 단말기 정보에 포함시켜 저장하는 단계를 더 포함하는 것을 특징으로 하는 P2P 서버 시스템의 제어방법.and (a3) including the result of the determination in communication terminal information of the corresponding communication terminal and storing the result of the determination. 제1항에 있어서,The method of claim 1, 상기 다수의 통신 단말기들 중 각 통신 단말기와의 통신 연결 정책을 설정하기 위한 룰 정보를 저장하는 단계와;Storing rule information for setting a communication connection policy with each communication terminal of the plurality of communication terminals; 상기 각 통신 단말기의 P2P 통신에 따른 로그를 기초로 상기 각 통신 단말기에 대한 사용자 등급을 포함하는 메타 정보를 생성하는 단계를 더 포함하고,Generating meta information including a user level for each communication terminal based on a log according to P2P communication of each communication terminal, 상기 (b) 단계에서 상기 요청 통신 단말기와 상기 목적지 통신 단말기 간의 연결이 중계 처리를 통한 간접 연결에 의해 이루어지는 경우,In the step (b), when the connection between the request communication terminal and the destination communication terminal is made by an indirect connection through a relay process, (b1) 상기 중계 처리를 함에 있어서의 부하 상태에 대응되는 통신 연결 정책을 상기 저장된 룰 정보에서 추출하여 설정하는 단계와;(b1) extracting and setting a communication connection policy from the stored rule information corresponding to the load condition in the relaying process; (b2) 상기 메타 정보에 포함된 상기 요청 통신 단말기의 사용자 등급과 상기 목적지 통신 단말기의 사용자 등급 중 적어도 어느 하나와 상기 설정된 통신 연결 정책을 기초로, 중계 처리를 위한 상기 각 요청 통신 단말기 및 목적지 통신 단말기와의 통신 연결 형태를 설정하는 단계를 포함하는 것을 특징으로 하는 P2P 서버 시스템의 제어방법.(b2) each of the request communication terminals and the destination communication for the relay process based on at least one of a user class of the request communication terminal and a user class of the destination communication terminal included in the meta information and the set communication connection policy; Control method of the P2P server system comprising the step of setting the communication connection type with the terminal. 제3항에 있어서,The method of claim 3, 상기 (b2) 단계에서 설정되는 상기 각 요청 통신 단말기 및 목적지 통신 단 말기와의 통신 연결 형태는 상기 중계 처리 부하 상태, 상기 저장되는 룰 정보, 및 상기 생성되는 메타 정보 중 적어도 어느 하나가 변경됨에 따라 함께 변경 설정되는 것을 특징으로 하는 P2P 서버 시스템의 제어방법.The communication connection type between the request communication terminal and the destination communication terminal set in the step (b2) may be changed as at least one of the relay processing load state, the stored rule information, and the generated meta information changes. Control method of a P2P server system characterized in that the change is set together. 제3항에 있어서,The method of claim 3, 상기 (b2) 단계에서 설정되는 상기 각 요청 통신 단말기 및 목적지 통신 단말기와의 통신 연결 형태는 통신 단말기와 지속적으로 연결을 유지하는 연속 연결 형태와, 통신 단말기의 주기적 폴링 신호에 의해 해당 통신 단말기와 간헐적으로 연결을 유지하는 주기 연결 형태 중 적어도 어느 하나를 포함하는 것을 특징으로 하는 P2P 서버 시스템의 제어방법.The communication connection form between each requesting communication terminal and the destination communication terminal set in the step (b2) is a continuous connection form that continuously maintains a connection with the communication terminal, and intermittent with the corresponding communication terminal by a periodic polling signal of the communication terminal. Control method of a P2P server system, characterized in that it comprises at least one of the form of periodic connection to maintain the connection. 제5항에 있어서,The method of claim 5, 상기 (b2) 단계에서 상기 목적지 통신 단말기와의 통신 연결 형태가 설정된 상태에서, 중계 처리를 함에 있어서의 부하 상태 변화에 의한 통신 연결 정책 변화에 따라 기 접속된 상기 목적지 통신 단말기에 통신 연결 형태의 변경을 위한 제어신호를 전송하는 단계를 더 포함하는 것을 특징으로 하는 P2P 서버 시스템의 제어방법.In the step (b2), when the communication connection form with the destination communication terminal is set, the communication connection form is changed to the previously connected destination communication terminal according to the change of the communication connection policy due to the load state change in the relay process. The control method of the P2P server system, characterized in that it further comprises the step of transmitting a control signal for. 제5항에 있어서,The method of claim 5, 상기 (b) 단계는, 상기 목적지 통신 단말기와 상기 연속 연결 형태로 연결된 상태에서 상기 요청 통신 단말기로부터 상기 목적지 통신 단말기로의 접속 요청이 수신된 경우, 즉시 상기 요청 통신 단말기와 상기 목적지 통신 단말기를 세션 매핑 과정을 통해 상호 연결시키고 상기 요청 통신 단말기와 상기 목적지 통신 단말기간의 P2P 통신을 중계하는 단계를 더 포함하는 것을 특징으로 하는 P2P 서버 시스템의 제어방법.In the step (b), when a connection request is received from the request communication terminal to the destination communication terminal in a state of being connected to the destination communication terminal in the continuous connection form, the session is immediately connected to the request communication terminal and the destination communication terminal. And connecting to each other through a mapping process and relaying P2P communication between the request communication terminal and the destination communication terminal. 제5항에 있어서,The method of claim 5, 상기 (b) 단계는, In step (b), (b3) 상기 목적지 통신 단말기와 상기 주기 연결 형태로 연결된 상태에서 상기 요청 통신 단말기로부터 상기 목적지 통신 단말기로의 접속 요청이 수신된 경우, 상기 목적지 통신 단말기로부터 폴링 신호가 수신되는 시점까지 대기하는 단계와;(b3) if a connection request is received from the request communication terminal to the destination communication terminal while connected to the destination communication terminal in the periodic connection form, waiting until a polling signal is received from the destination communication terminal; ; (b4) 상기 요청 통신 단말기와 상기 목적지 통신 단말기를 세션 매핑 과정을 통해 상호 연결시키고 상기 요청 통신 단말기와 상기 목적지 통신 단말기 간의 P2P 통신을 중계하는 단계를 더 포함하는 것을 특징으로 하는 P2P 서버 시스템의 제어방법.(b4) controlling the P2P server system further comprising connecting the requesting communication terminal with the destination communication terminal through a session mapping process and relaying P2P communication between the requesting communication terminal and the destination communication terminal. Way. 제1항 내지 제8항 중 어느 한 항에 있어서,The method according to any one of claims 1 to 8, 상기 다수의 통신 단말기들 간의 중계 처리를 위한 리소스 부족 발생 시 상기 저장된 통신 단말기 정보를 기초로 중계 기능 제공이 가능한 통신 단말기를 선 택하는 단계와;Selecting a communication terminal capable of providing a relay function based on the stored communication terminal information when a resource shortage for relay processing between the plurality of communication terminals occurs; 상기 선택된 통신 단말기에 중계 기능 전환 신호를 전송하여 특정 통신 단말기들 간의 P2P 중계 처리를 수행하도록 제어하는 단계를 더 포함하는 것을 특징으로 하는 P2P 서버 시스템의 제어방법.And transmitting a relay function switch signal to the selected communication terminal to perform P2P relay processing between specific communication terminals. 중계 서버를 거치거나 거치지 않는 방법으로 다른 통신 단말기와 P2P(peer-to-peer) 통신을 수행하기 위해 P2P(peer-to-peer) 서버 시스템에 자신의 정보를 등록하는 통신 단말기의 제어방법에 있어서,In a control method of a communication terminal that registers its information in a peer-to-peer server system to perform peer-to-peer communication with other communication terminals by way of a relay server or not. , 네트워크 관련 설정 데이터를 저장하는 단계와;Storing network related setting data; 통신 연결 형태를 정하기 위한 연결 형태 선정 기준을 저장하는 단계와;Storing a connection type selection criterion for determining a communication connection type; 다른 통신 단말기와 P2P 통신을 수행하는 P2P 통신 기능을 활성화시키는 단계와;Activating a P2P communication function for performing P2P communication with another communication terminal; 상기 P2P 통신 기능이 활성화되는 시점에, 상기 저장된 네트워크 관련 설정 데이터와 상기 저장부에 저장된 연결 형태 선정 기준을 비교하여 상기 다른 통신 단말기와 P2P 통신을 수행할 때 직접 통신이 가능한지 중계 처리를 거쳐 통신을 해야 하는지 여부를 판단하는 단계와;At the time when the P2P communication function is activated, communication is performed through a relay process whether direct communication is possible when performing P2P communication with the other communication terminal by comparing the stored network-related setting data and the connection type selection criteria stored in the storage unit. Determining whether it should; 상기 판단된 판단 결과를 포함하는 통신 단말기 정보를 상기 P2P 서버 시스템에 등록하는 단계를 포함하는 것을 특징으로 하는 실행 시점에 판단된 통신 방식 정보를 P2P 서버 시스템에 등록하는 통신 단말기의 제어방법.And registering the communication terminal information including the determined determination result in the P2P server system. P2P(Peer-To-Peer) 통신을 수행하는 다수의 통신 단말기들 간의 연결을 제어하는 P2P 서버 시스템에 있어서,In the P2P server system for controlling the connection between a plurality of communication terminals performing peer-to-peer communication, 상기 다수의 통신 단말기들 간의 P2P 통신을 중계하는 중계 서버와;A relay server for relaying P2P communication between the plurality of communication terminals; 다수의 통신 단말기들 중 각 통신 단말기와 최초로 연결되는 시점에 상기 각 통신 단말기로부터 전송되는 통신 단말기 정보를 저장하고, 상기 다수의 통신 단말기들 중 소정의 요청 통신 단말기로부터 소정의 목적지 통신 단말기로의 연결 요청을 수신한 경우, 기 저장된 목적지 통신 단말기 정보에 따라 상기 요청 통신 단말기 및 상기 목적지 통신 단말기 간의 연결이 직접 연결과 소정의 중계 처리를 통한 간접 연결 중 어느 하나의 방식에 의해 이루어지도록 제어하는 통신 단말기 관리 서버를 포함하여 구성되는 것을 특징으로 하는 P2P 서버 시스템.Stores communication terminal information transmitted from each communication terminal at the time of first connection with each communication terminal among a plurality of communication terminals, and connects from a predetermined request communication terminal to a predetermined destination communication terminal among the plurality of communication terminals. Upon receiving the request, the communication terminal controlling the connection between the request communication terminal and the destination communication terminal to be made by one of a direct connection and an indirect connection through a predetermined relay process according to previously stored destination communication terminal information. P2P server system comprising a management server. 제11항에 있어서,The method of claim 11, 상기 통신 단말기 정보 관리 서버는 상기 다수의 통신 단말기들 중 각 통신 단말기로부터 수신되는 통신 단말기 정보를 기초로 해당 통신 단말기에 더미(dummy) 커넥션 신호를 전송하고, 해당 더미 커넥션 신호에 대한 통신 단말기의 응답에 따라 해당 통신 단말기가 P2P 통신 시 다른 통신 단말기와의 직접 연결이 가능한지 여부를 판단하고, 판단 결과를 해당 통신 단말기의 통신 단말기 정보에 포함시켜 저장하는 것을 특징으로 하는 P2P 서버 시스템.The communication terminal information management server transmits a dummy connection signal to the corresponding communication terminal based on the communication terminal information received from each communication terminal among the plurality of communication terminals, and responds to the communication terminal's response to the corresponding dummy connection signal. The P2P server system according to claim 2, characterized in that the communication terminal determines whether the direct connection with the other communication terminal is possible during P2P communication, and stores the result of the determination in the communication terminal information of the communication terminal. 제11항에 있어서,The method of claim 11, 상기 중계 서버와 상기 각 통신 단말기 간의 통신 연결 정책을 설정하기 위한 룰 정보를 저장하고, 상기 각 통신 단말기의 P2P 통신 로그를 기초로 상기 각 통신 단말기에 대한 사용자 등급을 포함하는 메타 정보를 생성하며, 상기 저장된 룰 정보와 상기 생성된 메타 정보를 상기 중계 서버에 전송하는 메타 정보 생성 서버를 더 포함하고,Storing rule information for setting a communication connection policy between the relay server and each communication terminal, generating meta information including a user class for each communication terminal based on a P2P communication log of each communication terminal, And a meta information generation server for transmitting the stored rule information and the generated meta information to the relay server. 상기 중계 서버는 상기 각 통신 단말기 간의 P2P 통신을 위한 중계 처리를 함에 있어서의 부하 상태에 대응되는 통신 연결 정책을 상기 수신되는 룰 정보에서 추출하여 설정하고, 상기 수신되는 메타 정보에 포함된 각 통신 단말기의 사용자 등급과 상기 설정된 통신 연결 정책을 기초로 상기 각 통신 단말기와의 통신 연결 형태를 설정하는 것을 특징으로 하는 P2P 서버 시스템.The relay server extracts and sets, from the received rule information, a communication connection policy corresponding to a load condition in performing relay processing for P2P communication between each communication terminal, and each communication terminal included in the received meta information. P2P server system, characterized in that for setting the communication connection type with each communication terminal based on the user class of the and the set communication connection policy. 제13항에 있어서,The method of claim 13, 상기 중계 서버에서 설정되는 상기 각 통신 단말기와의 통신 연결 형태는 상기 중계 서버에서의 중계 처리에 따른 부하 상태, 상기 수신되는 룰 정보, 및 상기 수신되는 메타 정보 중 적어도 어느 하나가 변경됨에 따라 함께 변경 설정되는 것을 특징으로 하는 P2P 서버 시스템.The communication connection type with each communication terminal set in the relay server is changed together as at least one of the load state according to the relay processing in the relay server, the received rule information, and the received meta information is changed. P2P server system, characterized in that set. 제13항에 있어서,The method of claim 13, 상기 중계 서버가 설정하는 통신 연결 형태는 소정의 통신 단말기와 지속적으로 연결을 유지하는 연속 연결 형태와, 소정의 통신 단말기의 상기 중계 서버에 대한 주기적 폴링 신호에 의해 해당 통신 단말기와 간헐적으로 연결을 유지하는 주기 연결 형태 중 적어도 어느 하나를 포함하는 것을 특징으로 하는 P2P 서버 시스템.The communication connection type set by the relay server is continuously connected to a corresponding communication terminal by a continuous connection type continuously maintaining a connection with a predetermined communication terminal and a periodic polling signal of the relay server of the predetermined communication terminal. P2P server system comprising at least one of the form of periodic connection. 제15항에 있어서,The method of claim 15, 상기 중계 서버는 상기 목적지 통신 단말기와 상기 연속 연결 형태로 연결된 상태에서 상기 요청 통신 단말기로부터 상기 목적지 통신 단말기로의 접속 요청이 수신된 경우, 즉시 상기 요청 통신 단말기와 상기 목적지 통신 단말기를 세션 매핑 과정을 통해 상호 연결시키고 상기 요청 통신 단말기와 상기 목적지 통신 단말기간의 P2P 통신을 중계하는 것을 특징으로 하는 P2P 서버 시스템.When the relay server receives a connection request from the request communication terminal to the destination communication terminal while connected to the destination communication terminal in the continuous connection form, the relay server immediately performs a session mapping process between the request communication terminal and the destination communication terminal. Interconnecting each other and relaying P2P communication between the requesting communication terminal and the destination communication terminal. 제15항에 있어서,The method of claim 15, 상기 중계 서버는 상기 목적지 통신 단말기와 상기 주기 연결 형태로 연결된 상태에서 상기 요청 통신 단말기로부터 상기 목적지 통신 단말기로의 접속 요청이 수신된 경우, 상기 목적지 통신 단말기로부터 폴링 신호가 수신되는 시점까지 기다린 후 상기 요청 통신 단말기와 상기 목적지 통신 단말기를 세션 매핑 과정을 통해 상호 연결시키고 상기 요청 통신 단말기와 상기 목적지 통신 단말기 간의 P2P 통신을 중계하는 것을 특징으로 하는 P2P 서버 시스템.The relay server waits until a polling signal is received from the destination communication terminal when a connection request is received from the request communication terminal to the destination communication terminal in a state of being connected to the destination communication terminal in the periodic connection form. And connecting the request communication terminal and the destination communication terminal through a session mapping process and relaying P2P communication between the request communication terminal and the destination communication terminal. 제11항 내지 제17항 중 어느 한 항에 있어서,The method according to any one of claims 11 to 17, 상기 중계 서버는 상기 통신 단말기 관리 서버로부터 상기 각 통신 단말기의 통신 단말기 정보를 수신하고, 상기 각 통신 단말기 간의 중계 처리를 위한 리소스 부족 발생 시 상기 수신된 통신 단말기 정보를 기초로 중계 기능 제공이 가능한 통신 단말기를 선택하고, 선택된 통신 단말기에 중계 기능 전환 신호를 전송하여 특정 통신 단말기들 간의 P2P 중계 처리를 수행하도록 제어하는 것을 특징으로 하는 P2P 서버 시스템.The relay server may receive communication terminal information of each communication terminal from the communication terminal management server, and may provide a relay function based on the received communication terminal information when a resource shortage for relay processing between the communication terminals occurs. Selecting a terminal, and transmitting a relay function switch signal to the selected communication terminal to control to perform P2P relay processing between specific communication terminals. 중계 서버를 거치거나 거치지 않는 방법으로 다른 통신 단말기와 P2P(peer-to-peer) 통신을 수행하기 위해 P2P(peer-to-peer) 서버 시스템에 자신의 정보를 등록하는 통신 단말기에 있어서,In a communication terminal that registers its information in a peer-to-peer server system to perform peer-to-peer communication with other communication terminals in a way that does not go through a relay server, 네트워크 관련 설정 데이터가 저장되는 설정 저장부와; A setting storage unit for storing network-related setting data; 외부 통신 단말기와 P2P 통신을 수행하는 P2P 통신부와;A P2P communication unit performing P2P communication with an external communication terminal; 상기 P2P 통신부를 실행시키는 실행 제어부를 포함하여 구성되고,It includes an execution control unit for executing the P2P communication unit, 상기 P2P 통신부는,The P2P communication unit, 통신 연결 형태를 정하기 위한 연결 형태 선정 기준이 저장된 저장부와;A storage unit for storing connection type selection criteria for determining a communication connection type; 상기 실행 제어부에 의해 상기 P2P 통신부가 실행되는 시점에, 상기 설정 저장부에 저장된 네트워크 관련 설정 데이터와 상기 저장부에 저장된 연결 형태 선정 기준을 비교하여, 다른 통신 단말기와 P2P 통신을 수행할 때 직접 통신이 가능한지 상기 중계 서버를 거쳐 통신을 해야 하는지 여부를 판단하는 통신 방식 판단부와;When the P2P communication unit is executed by the execution control unit, direct communication is performed when performing P2P communication with another communication terminal by comparing network-related setting data stored in the setting storage unit with a connection type selection criterion stored in the storage unit. A communication method determination unit determining whether communication is possible via the relay server or not; 상기 통신 방식 판단부에서 판단된 판단 결과를 포함하는 통신 단말기 정보 를 상기 P2P 서버 시스템에 등록하는 단말 정보 등록부를 포함하여 구성되는 것을 특징으로 하는 실행 시점에 판단된 통신 방식 정보를 P2P 서버 시스템에 등록하는 통신 단말기.And a communication terminal information registration unit configured to register communication terminal information including the determination result determined by the communication method determination unit in the P2P server system. Communication terminal. 제19항에 있어서,The method of claim 19, 상기 통신 방식 판단부는 상기 설정 저장부에 저장된 네트워크 관련 설정 데이터에 포함된 아이피 주소가 사설 아이피 주소인 경우에 다른 통신 단말기와 P2P 통신을 수행할 때 상기 중계 서버를 거쳐 통신을 해야 한다고 판단하는 것을 특징으로 하는 실행 시점에 판단된 통신 방식 정보를 P2P 서버 시스템에 등록하는 통신 단말기.The communication method determining unit determines that the P2P communication with another communication terminal should be communicated via the relay server when the IP address included in the network-related configuration data stored in the setting storage unit is a private IP address. And a communication terminal that registers the communication method information determined at the execution time to the P2P server system.
KR1020090074054A 2009-08-12 2009-08-12 Communication terminal and its control method, P2P server system and its control method KR101058275B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090074054A KR101058275B1 (en) 2009-08-12 2009-08-12 Communication terminal and its control method, P2P server system and its control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090074054A KR101058275B1 (en) 2009-08-12 2009-08-12 Communication terminal and its control method, P2P server system and its control method

Publications (2)

Publication Number Publication Date
KR20110016525A true KR20110016525A (en) 2011-02-18
KR101058275B1 KR101058275B1 (en) 2011-08-22

Family

ID=43774841

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090074054A KR101058275B1 (en) 2009-08-12 2009-08-12 Communication terminal and its control method, P2P server system and its control method

Country Status (1)

Country Link
KR (1) KR101058275B1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013105717A1 (en) * 2012-01-13 2013-07-18 에스케이플래닛 주식회사 System for managing meta cloud computing-based data, method and device for same
KR101518853B1 (en) * 2014-02-12 2015-05-21 정성윤 Apparatus and method for controlling vehicles based Machine-to-Machine
KR20150143260A (en) * 2014-06-13 2015-12-23 쓰루텍 테크놀로지(센젠) 코., 엘티디. Method, Server and Apparatus For P2P Connection
KR20170075516A (en) * 2015-12-23 2017-07-03 삼성전자주식회사 Method of operating electric device and relay device and method of operating the same

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7227864B2 (en) 2001-12-17 2007-06-05 Microsoft Corporation Methods and systems for establishing communications through firewalls and network address translators

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013105717A1 (en) * 2012-01-13 2013-07-18 에스케이플래닛 주식회사 System for managing meta cloud computing-based data, method and device for same
KR101518853B1 (en) * 2014-02-12 2015-05-21 정성윤 Apparatus and method for controlling vehicles based Machine-to-Machine
KR20150143260A (en) * 2014-06-13 2015-12-23 쓰루텍 테크놀로지(센젠) 코., 엘티디. Method, Server and Apparatus For P2P Connection
KR20170075516A (en) * 2015-12-23 2017-07-03 삼성전자주식회사 Method of operating electric device and relay device and method of operating the same

Also Published As

Publication number Publication date
KR101058275B1 (en) 2011-08-22

Similar Documents

Publication Publication Date Title
US7260599B2 (en) Supporting the exchange of data by distributed applications
US9609587B2 (en) System and method for host and OS agnostic management of connected devices through network controlled state alteration
KR101602760B1 (en) Method and apparatus for reducing cloud service traffic using p2p connection
US8537709B2 (en) Network device, and multi-wide area network interface selection module and method
US20120331156A1 (en) Wireless control system, methods and apparatus
KR101458368B1 (en) Session establishment method using relay server active connection of mobile terminal
CN105228128A (en) Surfing flow shares processing method, device and terminal
CN110557327A (en) Independent IoT gateway capable of directly linking with user terminal by using short-range communication technology
CN104683435A (en) Network System, Constant Connection Method, Electronic Device, Server, And Program
CN110505712A (en) A kind of method and terminal for transmitting file
KR101058275B1 (en) Communication terminal and its control method, P2P server system and its control method
CN106657259A (en) Route server and route service method used for server cluster
JPWO2007039942A1 (en) Terminal device, server device, and command device
KR102001103B1 (en) Electronic apparatus, server, and control method of system
CN105072148B (en) Method and device for establishing connection with terminal
CN108632355B (en) Routing method for household appliance network, control terminal, readable storage medium and equipment
CN111193778B (en) Method and device for balancing WEB service load
CN112134744A (en) Management method of nodes in distributed management system
JP2005182702A (en) Access control system in ip network
CN109983734A (en) The subgroup of remote computing device with trunking
US11310310B2 (en) Communication device for peer-to-peer communication and a communication network using the same
CN106533802B (en) Network mode of operation switching method and device
KR20090070022A (en) A system for and a method of providing instant messanger services, an apparatus for and a method of controlling connection of a server and terminal units in the system, and computer-readable media in which programs for executing the methods are recorded
EP2905999B1 (en) Data transmission method, multi-medium access point and multi-medium client
CN108243101B (en) Data transmission system and method

Legal Events

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

Payment date: 20140724

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170705

Year of fee payment: 9