KR101641689B1 - Server and method for transmitting acceleration data and recording medium thereof - Google Patents

Server and method for transmitting acceleration data and recording medium thereof Download PDF

Info

Publication number
KR101641689B1
KR101641689B1 KR1020140177731A KR20140177731A KR101641689B1 KR 101641689 B1 KR101641689 B1 KR 101641689B1 KR 1020140177731 A KR1020140177731 A KR 1020140177731A KR 20140177731 A KR20140177731 A KR 20140177731A KR 101641689 B1 KR101641689 B1 KR 101641689B1
Authority
KR
South Korea
Prior art keywords
data
server
acceleration
client
application
Prior art date
Application number
KR1020140177731A
Other languages
Korean (ko)
Other versions
KR20160070581A (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 KR1020140177731A priority Critical patent/KR101641689B1/en
Publication of KR20160070581A publication Critical patent/KR20160070581A/en
Application granted granted Critical
Publication of KR101641689B1 publication Critical patent/KR101641689B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/161Computing infrastructure, e.g. computer clusters, blade chassis or hardware partitioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 데이터를 가속하여 전송하는 데이터 가속 방법 및 시스템과 그를 구현하기 위한 프로그램이 기록된 기록매체에 관한 것이다. 이와 같은 본 발명 데이터 가속 방법은, 클라이언트(100)와 서버(200)간에는 데이터 전송을 위한 통신링크(300)로 연결되어 있고, 상기 서버(200)측에는 상기 클라이언트(100)와 상기 서버(200)간 가속 데이터를 송수신하는 중계 서버(400)가 형성된 경우의 데이터 가속 전송 방법에 있어서, 상기 클라이언트(100)에는 데이터 생성을 위한 어플리케이션(110)과 생성된 데이터를 가속하기 위한 가속 어플리케이션(120)이 설치되는 단계(S100); 상기 클라이언트(100)가 상기 어플리케이션(110)을 이용하여 송신하고자 하는 데이터를 생성한 후 상기 서버(200)로 전송을 요청하는 단계(S110); 상기 송신하고자 하는 데이터가 가속이 필요한 데이터라면(S120), 상기 가속 어플리케이션(120)이 상기 어플리케이션(110)에서 생성되어 송신하고자 하는 데이터에 가속 알고리즘 적용하여 가속 프로토콜로 변환하고, 상기 중계 서버(400)를 착신측으로 우선 지정하여 송신하는 단계(S150); 및 상기 중계 서버(400)는 송신된 데이터를 수신하여 상기 서버(200)의 주소로 해당 데이터를 전송하는 단계(S160);를 포함하여 이루어지는 것을 특징으로 한다.The present invention relates to a data acceleration method and system for accelerating and transmitting data, and a recording medium on which a program for implementing the method is recorded. The data acceleration method of the present invention is connected to the server 200 through a communication link 300 for data transmission between the client 100 and the server 200. The server 200 is connected to the client 100 and the server 200, (100), an application (110) for generating data and an acceleration application (120) for accelerating the generated data are provided in the client (100) (S100); A step S110 of the client 100 to transmit data to the server 200 after generating data to be transmitted using the application 110; If the data to be transmitted is data requiring acceleration (S120), the acceleration application 120 applies an acceleration algorithm to the data to be transmitted generated by the application 110 and converts the data into an acceleration protocol, and the relay server 400 ) To the called party (S150); And the relay server 400 receives the transmitted data and transmits the corresponding data to the address of the server 200 (S160).

Description

데이터 가속 전송 방법, 서버 및 그를 구현하기 위한 프로그램이 기록된 기록매체{Server and method for transmitting acceleration data and recording medium thereof}TECHNICAL FIELD [0001] The present invention relates to a data transmission method, a data acceleration transmission method, a server, and a recording medium on which a program for implementing the same is recorded.

본 발명은 데이터 가속 전송에 관한 것으로, 더욱 상세하게는 데이터를 가속하여 전송하는 데이터 가속 전송 방법, 서버 및 그를 구현하기 위한 프로그램이 기록된 기록매체에 관한 것이다.
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to data acceleration transmission, and more particularly, to a data acceleration transmission method for accelerating and transmitting data, a server, and a recording medium on which a program for implementing the same is recorded.

데이터 패킷은 WAN(wide area network; 광역 네트워크) 및 LAN(local area network; 근거리 네트워크)을 통해 통신될 수 있다. Data packets may be communicated over a wide area network (WAN) and a local area network (LAN).

장치들은 하나의 네트워크를 다른 네트워크로 접속되기 위해 사용될 수 있고, 또는 하나의 네트워크를 하나 이상의 다른 장치들로 접속하기 위해 사용될 수 있다. 예를 들면, 컴퓨터 네트워크 내의 장치 또는 컴퓨팅 네트워크 시스템은 접속을 개시 또는 종료할 수 있는 엔드 노드(end node)일 수 있다. Devices may be used to connect one network to another, or may be used to connect one network to one or more other devices. For example, a device in a computer network or a computing network system may be an end node that can initiate or terminate a connection.

컴퓨터 네트워크 내의 장치, 또는 컴퓨터 네트워킹 시스템은 컴퓨터 네트워크의 다른 노드로 데이터를 전달하기 위한 역할을 가질 수 있는 중간 노드일 수 있다. 데이터 패킷들은 중간 노드들과 같은 기능을 하는 장치들을 통해 통신될 수 있다.
A device within a computer network, or a computer networking system, may be an intermediate node that may have a role for delivering data to other nodes of the computer network. The data packets may be communicated through devices functioning as intermediate nodes.

이하에서는 종래 기술에 따른 데이터 전송 방법을 설명하기로 한다.Hereinafter, a conventional data transmission method will be described.

도 1은 종래 기술의 일 예에 따른 데이터 전송 방법을 설명하기 위한 도면이다.1 is a diagram for explaining a data transmission method according to an example of the prior art.

종래 기술에 따른 데이터 전송 방법은 도 1에 나타낸 바와 같이, 클라이언트(10)와 서버(20)간 데이터를 송수신함에 있어 통신 링크(30)가 이용된다. 이러한 통신 링크는 LAN, WAN 등일 수 있다.As shown in FIG. 1, a data transmission method according to the related art uses a communication link 30 to transmit and receive data between the client 10 and the server 20. Such a communication link may be a LAN, a WAN, or the like.

이러한 통신 링크(30)을 통해 클라이언트(10)는 자신의 어플리케이션(11)을 이용하여 전송하고자 하는 데이터를 생성한 후 서버(20)로 송신한다. 그리고 서버(20) 측에서 송신한 데이터는 클라이언트(10)에서 수신하여 어플리케이션(11)을 통해 처리된다.Through the communication link 30, the client 10 generates data to be transmitted using its own application 11 and then transmits the generated data to the server 20. The data transmitted from the server 20 side is received by the client 10 and processed through the application 11.

그러나 이와 같은 통신 링크(30)가 LAN인 경우에는 특별한 문제가 발생하지 않을 수도 있지만, 국가간 또는 국가내 도시간 거리가 먼 경우(예를 들면, 미국, 러시아 등)에 이용되는 WAN의 경우에는 문제가 발생될 수 있었다.However, if such a communication link 30 is a LAN, there may be no particular problem. However, in the case of a WAN used for a country or a country where the distance between cities is long (for example, the United States, Russia, etc.) The problem could have occurred.

다시 말하면 일반적으로 데이터 전송시 발생하는 지연의 종류는 크게 4가지로 구분할 수 있는데, 전파지연, 전송지연, 처리지연 및 큐잉 지연 등이 있다.In other words, there are generally four types of delay that occur when data is transmitted: propagation delay, transmission delay, processing delay, and queuing delay.

여기서 거리가 먼경우 발생되는 지연을 전파 지연(Propagation Delay)라 하는데, 전파 지연은 한 노드에서 다른 노드로 데이터가 전송될 때 통신 링크 상에서 걸리는 시간을 의미한다. 즉 한 노드에서 전송을 하기 시작해서 다른 노드에 도착하기 까지 걸리는 시간으로 '전파지연 = 두 노드간의 물리적 거리/전파 속도'로 구해진다.The propagation delay is defined as the propagation delay when data is transmitted from one node to another node. In other words, the propagation delay is the physical distance between two nodes / propagation speed, which is the time it takes for one node to start transmitting and arrive at another node.

이와 같은 물리적 거리에 따른 지연을 해소하기 위한 방법을 도 2에서 설명하기로 한다.
A method for eliminating the delay due to such a physical distance will be described with reference to FIG.

도 2는 종래 기술의 다른 예에 따른 데이터 전송 방법을 설명하기 위한 도면이다.2 is a diagram for explaining a data transmission method according to another example of the prior art.

종래 기술의 다른 예에 따른 데이터 전송 방법은 도 2에 나타낸 바와 같이, 클라이언트(10)와 서버(20)간에 각각 전용서버(41)(42)가 통신링크(30)에 형성되어 전용서버(41)(42)를 통해 클라이언트(10)와 서버(20)간 데이터를 송수신한다.2, a dedicated server 41 (42) is formed in the communication link 30 between the client 10 and the server 20, and a dedicated server 41 ) 42 for transmitting and receiving data between the client 10 and the server 20.

다시 말하면 송신측과 수신측간 각각 별도의 전송 서버를 이용하여 데이터를 송수신하였다.In other words, data is transmitted and received between the transmitting side and the receiving side by using a separate transmission server.

이러한 전용서버(41)(42)는 미들웨어라 불리기도 한다.
These dedicated servers 41 and 42 are also referred to as middleware.

그러나 이러한 종래 기술에 있어서는 다음과 같은 문제가 있었다.However, such conventional techniques have the following problems.

첫째, 클라이언트와 서버간 각각 별도의 전용서버를 두어야 함으로써 비용이 상승하는 문제가 있었다.First, there is a problem in that the cost increases due to having a separate dedicated server between the client and the server.

둘째, 클라이언트가 복수인 경우 복수의 클라이언트와 연결되는 전용서버의 개수를 일정시간마다 계속해서 늘려야 하는 문제가 있었고 이는 결국 비용 상승 문제와 연결된다.
Second, when there are a plurality of clients, there is a problem that the number of dedicated servers connected to a plurality of clients must be continuously increased at a predetermined time, which leads to a problem of cost increase.

본 발명은 상기와 같은 종래 기술의 문제점을 해결하기 위한 것으로, 본 발명은 데이터를 전송함에 있어서 송신측에서 가속이 필요한 데이터에 대하여 가속알고리즘을 적용하여 가속 처리하는 가속 어플리케이션으로 전달하고, 가속 어플리케이션은 이를 중계 서버로 전송하며, 중계 서버는 수신된 데이터를 서버로 전송함으로써 전송하고자 하는 데이터를 가속하여 빠르게 전송할 수 있는 데이터 가속 전송 방법, 서버 및 그를 구현하기 위한 프로그램이 기록된 기록매체를 제공하는데 그 목적이 있다.SUMMARY OF THE INVENTION The present invention has been made to solve the above problems of the prior art, and it is an object of the present invention to provide an acceleration application for accelerating data by applying an acceleration algorithm to data, And transmits the data to the relay server. The relay server transmits the received data to the server, thereby accelerating and accelerating the data to be transmitted, and a recording medium on which a program for implementing the same is recorded. There is a purpose.

상기한 목적을 달성하기 위한 본 발명 데이터 가속 전송 방법은 클라이언트(100)와 서버(200)간에는 데이터 전송을 위한 통신링크(300)로 연결되어 있고, 상기 서버(200)측에는 상기 클라이언트(100)와 상기 서버(200)간 가속 데이터를 송수신하는 중계 서버(400)가 형성된 데이터 가속 전송 방법에 있어서, 상기 클라이언트(100)에는 데이터 생성을 위한 어플리케이션(110)과 생성된 데이터를 가속하기 위한 가속 어플리케이션(120)이 설치되는 단계(S100); 상기 클라이언트(100)가 상기 어플리케이션(110)을 이용하여 송신하고자 하는 데이터를 생성한 후 상기 서버(200)로 전송을 요청하는 단계(S110); 상기 가속 어플리케이션(120)이 상기 어플리케이션(110)에서 생성되어 송신하고자 하는 데이터가 가속이 필요한 데이터라면(S120), 그 데이터를 가로채기(인터셉트)하는 단계(S130); 상기 가속 어플리케이션(120)은 상기 어플리케이션(110)에서 생성된 데이터에 가속 알고리즘 적용하여 가속 프로토콜로 변환하고, 상기 중계 서버(400)를 착신측으로 우선 지정하여 송신하는 단계(S150); 및 상기 중계 서버(400)는 송신된 데이터를 수신하여 상기 서버(200)의 주소로 해당 데이터를 전송하는 단계(S160);를 포함하여 이루어지는 것을 특징으로 한다.
In order to accomplish the above object, the data acceleration transmission method of the present invention is connected to a client (100) and a server (200) through a communication link (300) for data transmission, and the server (200) And a relay server 400 for transmitting and receiving acceleration data between the server 200 and the server 200. The client 100 includes an application 110 for generating data and an acceleration application 120) is installed (S100); A step S110 of the client 100 to transmit data to the server 200 after generating data to be transmitted using the application 110; If the acceleration application 120 generates data to be transmitted from the application 110 and the data to be transmitted is data requiring acceleration (S120), intercepting the data (S130); The acceleration application 120 applies an acceleration algorithm to the data generated by the application 110, converts the data into an acceleration protocol, and assigns the relay server 400 to the called party first and transmits the accelerated protocol to the destination (S 150). And the relay server 400 receives the transmitted data and transmits the corresponding data to the address of the server 200 (S160).

여기서 클라이언트(100)는 일반 PC나 스마트폰과 스마트 패드를 포함하는 스마트 단말기인 것이 바람직하다.
Here, the client 100 is preferably a smart terminal including a general PC, a smart phone, and a smart pad.

그리고 가속 어플리케이션(120)은 가속 알고리즘이 적용되어 상기 서버(200)로부터 수신된 데이터는 가속 알고리즘이 적용되기 이전의 원 데이터 형식으로 변환하여 어플리케이션(110)으로 송신하는 것이 바람직하다.
The acceleration application 120 is preferably adapted to apply an acceleration algorithm and convert the data received from the server 200 into a raw data format before the acceleration algorithm is applied and transmit the data to the application 110.

한편 가속이 필요한 데이터를 가로채기(인터셉터)하는 방법은 데이터 필터링이거나, API 후킹 및 라우팅 설정을 이용하는 것이 바람직하다.
On the other hand, it is preferable to use data filtering or API hooking and routing settings as a way of intercepting data that requires acceleration.

또한 가속 알고리즘이 필요한 데이터는 상기 클라이언트(100)와 상기 서버(200)의 주소에 따른 거리를 참조하는 것이 바람직하다.
Also, it is preferable that the data requiring the acceleration algorithm refer to the distance according to the address of the client 100 and the server 200.

한편 가속 알고리즘은 어플리케이션(110)의 성격에 따라 원 프로토콜이 TCP인 경우 최적의 CC(Congestion Control)알고리즘을 채택하고 최적의 TCP 파라미터를 적용해서 UDP를 기반으로한 가속 프로토콜로 전송하고, UDP인 경우이면서 중계서버가 다중인 경우에는 최적의 경로를 채택하여 전송하는 것이 바람직하다.Meanwhile, according to the nature of the application 110, the acceleration algorithm adopts the optimal CC (Congestion Control) algorithm when the original protocol is TCP, transmits the UDP-based acceleration protocol by applying the optimal TCP parameter, It is preferable to adopt an optimal path for transmission.

여기서 중계 서버(400)는 복수개로 구성됨이 바람직하다.
Here, the relay server 400 is preferably composed of a plurality of relay servers.

그리고 중계 서버(400)를 복수개로 구성하는 경우 상기 중계 서버(400)의 유휴/비지에 따른 상기 클라이언트(100)와 서버(200)간 데이터 송수신을 상기 복수개의 중계 서버(400 : 401, 402, 403)의 트래픽 상태에 따라 가장 유휴한 상태의 중계 서버(400)를 통해 클라이언트(100)와 서버(200)간 데이터 송수신을 설정하는 것이 바람직하다.
When a plurality of relay servers 400 are configured, data transmission / reception between the client 100 and the server 200 according to the idle / busy of the relay server 400 is performed by the plurality of relay servers 400: 401, 402, It is preferable to set up data transmission / reception between the client 100 and the server 200 through the relay server 400 in the idle state according to the traffic state of the client 100 and the server 403.

한편 중계 서버(400)를 복수개의 중계 서버군(400 : 401, 402, 403)(410 : 411, 412, 413)으로 구성하는 경우 복수개의 중계 서버군(400 : 401, 402, 403), (410 : 411, 412, 413)을 그룹화(400, 410)하여 상기 클라이언트(100)와 서버(200)간 가속 데이터를 최적의 경로로 중계하는 것이 바람직하다.
Meanwhile, when the relay server 400 is composed of a plurality of relay server groups 400: 401, 402, 403 (410: 411, 412, 413), a plurality of relay server groups 400: 401, 402, 403, It is preferable that the acceleration data between the client 100 and the server 200 is relayed through an optimal path by grouping 400 and 410 of 410, 411, 412, and 413.

또한 중계 서버 관리서버(500)는 상기 클라이언트(100)로부터 상기 서버(200)로 송신될 데이터를 받아 상기 복수의 중계 서버(401, 402, 403) 중 가장 유휴한 상태의 중계 서버(400)로 송신하되, 상기 복수의 중계 서버(401, 402, 403)가 모두 임계값 이하로 유휴한 경우를 대비하여 상기 복수의 중계 서버(401, 402, 403)에 대하여는 설정된 우선 순위를 부여하거나, 상기 임계값을 유휴/비지의 설정된 % 단위의 여러 단계로 설정하거나, 상기 클라이언트(100)가 복수의 클라이언트인 경우 상기 복수의 클라이언트로부터의 상기 서버(200)에 대한 데이터 송수신 요청을 상기 복수의 중계 서버(401, 402, 403)가 순차적으로 처리하도록 설정하는 것이 바람직하다.
The relay server management server 500 receives data to be transmitted from the client 100 to the server 200 and transmits the data to the relay server 400 in the idle state among the plurality of relay servers 401, 402, and 403 to the plurality of relay servers 401, 402, and 403 in a case where all of the plurality of relay servers 401, 402, and 403 are idle below the threshold value, Value to a plurality of steps of a predetermined unit of idle / busy, or, when the client 100 is a plurality of clients, transmits a data transmission / reception request to the server 200 from the plurality of clients to the plurality of relay servers 401, 402, and 403 are sequentially processed.

한편 중계 서버(400)는 가속 프로토콜이 적용되어 수신된 데이터를 원 프로토콜로 변환하여 상기 서버(200)로 송신하고, 상기 서버(200)로부터 수신된 데이터를 가속 프로토콜로 변환하여 상기 가속 어플리케이션(120)으로 송신하는 것이 바람직하다.
Meanwhile, the relay server 400 converts the received data into an original protocol by applying an acceleration protocol, transmits the data to the server 200, converts the data received from the server 200 into an acceleration protocol, ).

그리고 가속 알고리즘이 필요한 데이터는, 특별히 한정할 필요가 없지만 실시간 송수신이 요구되는 데이터가 바람직하며, 예를 들면 주식 거래 데이터, 경매 등의 입찰 데이터, 게임 데이터 등일 수 있다.
Data requiring an acceleration algorithm is not particularly limited, but data requiring real-time transmission and reception is preferable. For example, it may be stock transaction data, bid data such as auction, game data, and the like.

또한, 상기 클라이언트(100)와 상기 서버(200)는 거리가 멀어 RTT(round trip time)가 클수록 가속 효과가 더 좋다.
In addition, since the distance between the client 100 and the server 200 is large, the greater the round trip time (RTT), the better the acceleration effect.

또한 상기한 목적을 달성하기 위한 본 발명 중계 서버 관리서버는 클라이언트(100)와 서버(200)간 데이터 송수신 시 가속하여 송수신하도록 하는 복수의 중계 서버(400, 410)와 통신하여 복수의 중계 서버 각각의 동작상태 정보를 수신하고, 상기 클라이언트(100)와 데이터를 송수신할 중계 서버(400)(410)를 설정하기 위한 데이터를 송신하는 통신부(510); 상기 복수의 중계 서버(400, 410)의 각각의 성능정보(server performance)와 설치 위치 주소 정보가 저장되는 중계 서버 정보 데이터베이스(520); 상기 복수의 중계 서버(400, 410) 각각의 동작 상태 정보에 따라 상기 중계 서버(400, 410)의 유휴/비지를 측정하는 중계 서버 상태정보 측정부(530); 상기 복수의 중계 서버(400, 410)를 통해 상기 서버(200)와 통신 중인 상기 클라이언트(100)의 식별정보가 저장되는 클라이언트 정보 저장부(540); 상기 복수의 중계 서버(400, 410)의 상기 동작 상태정보에 따라 설정된 순서에 따라 상기 클라이언트(100)와 상기 복수의 중계 서버(400, 410)중 하나의 중계 서버가 데이터 송수신 설정을 위한 연결을 제어하는 클라이언트-중계 서버 연결부(550); 및 상기 통신부(510), 중계 서버 정보 데이터베이스(520), 중계 서버 상태정보 측정부(530), 클라이언트 정보 저장부(540) 및 클라이언트-중계 서버 연결부(550)를 제어하는 제어부(560);를 포함하여 구성됨을 특징으로 한다.
In order to achieve the above-mentioned object, the relay server management server of the present invention communicates with a plurality of relay servers (400, 410) that transmit and receive data at a time of data transmission / reception between a client (100) and a server (200) A communication unit 510 for receiving operation state information of the client 100 and transmitting data for setting up a relay server 400 (410) to transmit / receive data to / from the client 100; A relay server information database 520 storing the server performance and installation location address information of each of the plurality of relay servers 400 and 410; A relay server state information measuring unit 530 for measuring idle / busy of the relay servers 400 and 410 according to operation state information of each of the relay servers 400 and 410; A client information storage unit 540 for storing identification information of the client 100 communicating with the server 200 through the plurality of relay servers 400 and 410; The relay server of the client 100 and one of the relay servers 400 and 410 establishes a connection for setting data transmission and reception according to the set order according to the operation state information of the plurality of relay servers 400 and 410 A client-relay server connection unit 550 for controlling the client-relay server connection unit 550; And a controller 560 for controlling the communication unit 510, the relay server information database 520, the relay server status information measurement unit 530, the client information storage unit 540 and the client-relay server connection unit 550 And a control unit.

여기서 클라이언트 정보 저장부(540)에 저장된 클라이언트 정보는 클라이언트(100)가 복수개이고, 각각의 클라이언트(100)위치에 따른 이용시간, 이용주기에 따라 상기 중계 서버(400)의 증설에 이용되는 것이 바람직하다.
Here, it is preferable that the client information stored in the client information storage unit 540 includes a plurality of clients 100 and is used for the expansion of the relay server 400 according to the usage time and the usage period according to the location of each client 100 Do.

그리고 상기한 목적을 달성하기 위한 본 발명 데이터 가속 전송 방법은 클라이언트(100)와 서버(200)간에 가속 데이터를 송수신하는 중계 서버가 복수개의 중계 서버(400, 410)로 구성된 데이터 가속 전송 방법에 있어서, 상기 클라이언트(100)에는 데이터 생성을 위한 애플리케이션(110)과 생성된 데이터를 가속하기 위한 가속 애플리케이션(120)이 설치되는 단계(S200); 상기 클라이언트(100)가 상기 애플리케이션(110)을 이용하여 송신하고자 하는 데이터를 생성한 후 상기 서버(200)로 전송을 요청하는 단계(S210); 상기 가속 애플리케이션(120)이 상기 애플리케이션(110)에서 생성되어 송신하고자 하는 데이터가 가속이 필요한 데이터라면(S220) 가로채기(인터셉트)를 수행하는 단계(S230); 상기 가속 애플리케이션(120)은 상기 애플리케이션(110)에서 생성된 데이터에 가속 알고리즘 적용하여 가속 프로토콜로 변환하고, 상기 중계 서버(400)(410) 중 하나의 중계 서버를 착신측으로 우선 지정하여 송신하는 단계(S250); 및 설정된 중계 서버가 클라이언트-서버간 데이터 송수신을 수행하는 단계(S270);를 포함하여 이루어지는 것을 특징으로 한다.
According to another aspect of the present invention, there is provided a data acceleration transmission method in which a relay server for transmitting and receiving acceleration data between a client (100) and a server (200) comprises a plurality of relay servers (400, 410) , The client (100) is provided with an application (110) for generating data and an acceleration application (120) for accelerating the generated data (S200); A step S210 of the client 100 to transmit data to the server 200 after generating data to be transmitted using the application 110; If the acceleration application 120 generates data to be transmitted from the application 110 and the data to be transmitted is data requiring acceleration (S220), performing interception (step S230); The acceleration application 120 applies an acceleration algorithm to the data generated by the application 110 to convert it into an acceleration protocol and prioritizes and transmits one of the relay servers 400 and 410 to the called party (S250); And transmitting and receiving data between the client and the server (S270).

또한 상기한 목적을 달성하기 위한 본 발명 데이터 가속 전송 방법을 구현하기 위한 프로그램을 구현한 기록 매체는, 클라이언트(100)와 서버(200)간에는 데이터 전송을 위한 복수개의 중계 서버(400)(410)가 형성된 경우의 데이터 가속 전송 방법을 구현하기 위한 프로그램을 구현한 기록 매체에 있어서, 상기 클라이언트(100)에는 데이터 생성을 위한 어플리케이션(110)과 생성된 데이터를 가속하기 위한 가속 어플리케이션(120)이 설치되는 단계(S200); 상기 클라이언트(100)가 상기 어플리케이션(110)을 이용하여 송신하고자 하는 데이터를 생성한 후 상기 서버(200)로 전송을 요청하는 단계(S210); 상기 가속 어플리케이션(120)이 상기 어플리케이션(110)에서 생성되어 송신하고자 하는 데이터가 가속이 필요한 데이터라면(S220), 가로채기(인터셉트)를 수행하는 단계(S230); 상기 가속 어플리케이션(120)은 상기 어플리케이션(110)에서 생성된 데이터에 가속 알고리즘을 적용하여 가속 프로토콜로 변환하고, 상기 중계 서버(400)를 착신측으로 우선 지정하여 송신하는 단계(S150); 및 상기 중계 서버(400)는 송신된 데이터를 수신하여 상기 서버(200)의 주소로 해당 데이터를 전송하는 단계(S160);를 포함하여 상기 데이터를 상기 가속 알고리즘을 적용하여 전송하는 것을 특징으로 한다.
A plurality of relay servers 400 410 for transmitting data are provided between the client 100 and the server 200. The relay server 400 includes a plurality of relay servers 400, The application 100 for generating data and the acceleration application 120 for accelerating the generated data are installed in the client 100. In this case, (S200); The client 100 generates data to be transmitted using the application 110 and then requests transmission to the server 200 (S210); If the acceleration application 120 generates data to be transmitted from the application 110 and the data to be transmitted is data requiring acceleration (S220), performing interception (S230); The acceleration application 120 applies an acceleration algorithm to the data generated by the application 110 to convert it into an acceleration protocol, and assigns the relay server 400 to the called party first and transmits the acceleration protocol to the destination (S 150). And the relay server 400 receives the transmitted data and transmits the corresponding data to the address of the server 200 (S160), and transmits the data by applying the acceleration algorithm to the relay server 400 .

한편 상기한 목적을 달성하기 위한 본 발명 데이터 가속 전송 방법을 구현하기 위한 프로그램을 구현한 기록 매체는, 클라이언트(100)와 서버(200)간 가속 데이터를 송수신하는 중계서버가 복수개의 중계 서버(400)(410)로 형성된 경우의 데이터 가속 전송 방법을 구현하기 위한 프로그램을 구현한 기록 매체에 있어서, 상기 클라이언트(100)에는 데이터 생성을 위한 어플리케이션(110)과 생성된 데이터를 가속하기 위한 가속 어플리케이션(120)이 설치되는 단계(S200); 상기 클라이언트(100)가 상기 어플리케이션(110)을 이용하여 송신하고자 하는 데이터를 생성한 후 상기 서버(200)로 전송을 요청하는 단계(S210); 상기 가속 어플리케이션(120)이 상기 어플리케이션(110)에서 생성되어 송신하고자 하는 데이터가 가속이 필요한 데이터라면(S220), 가로채기(인터셉트)를 수행하는 단계(S230); 상기 가속 어플리케이션(120)은 상기 어플리케이션(110)에서 생성된 데이터에 가속 알고리즘을 적용하여 가속 프로토콜로 변환하고, 상기 중계 서버(400)(410) 중 하나를 착신측으로 우선 지정하여 송신하는 단계(S250); 및 상기 중계 서버(400)(410) 중 하나의 중계 서버가 클라이언트-서버간 데이터 송수신을 수행하는 단계(S270);를 포함하여 이루어지는 것을 특징으로 한다.
According to another aspect of the present invention, there is provided a recording medium on which a program for implementing a data acceleration transmission method of the present invention is implemented. The relay server for transmitting and receiving acceleration data between a client (100) (410), the client (100) is provided with an application (110) for generating data and an acceleration application for accelerating the generated data 120) is installed (S200); The client 100 generates data to be transmitted using the application 110 and then requests transmission to the server 200 (S210); If the acceleration application 120 generates data to be transmitted from the application 110 and the data to be transmitted is data requiring acceleration (S220), performing interception (S230); The acceleration application 120 applies an acceleration algorithm to the data generated by the application 110 and converts the data into an acceleration protocol and designates and transmits one of the relay servers 400 and 410 to the called party ); And transmitting and receiving data between the client and the server by one of the relay servers 400 and 410 in operation S270.

본 발명에 의하면 다음과 같은 효과가 있다.The present invention has the following effects.

첫째, 클라이언트와 서버간 데이터 송수신을 함에 있어 클라이언트의 처리 성능이 향상됨에 따라 빠른 송수신이 요구되는 데이터에 대하여 클라이언트에서 가속 알고리즘을 적용하여 서버와 연결된 중계 서버로 송신하도록 하고, 중계 서버에서는 이를 서버로 송신함으로써 데이터 전송 속도를 향상할 수 있다.First, since the processing performance of the client is improved in transmitting and receiving data between the client and the server, the client applies an acceleration algorithm to the data requiring fast transmission / reception and transmits the data to the relay server connected to the server. The transmission speed of the data can be improved.

둘째, 클라이언트를 구성하는 PC나 스마트 단말기의 성능이 향상됨에 따라 데이터 가속 전송을 위한 클라이언트측 전용서버가 불필요함으로서 클라이언트의 개수가 증가하더라도 클라이언트측 전용서버의 구축이 필요없어 클라이언트와 서버간 데이터 전송 속도 향상을 위한 시스템 구축 비용을 감소시킬 수 있다.
Second, since the performance of the PC or smart terminal constituting the client is improved, a client-side dedicated server for data acceleration transmission is unnecessary, so that it is not necessary to construct a dedicated server on the client side even if the number of clients increases, It is possible to reduce the system construction cost for improvement.

도 1은 종래 기술의 일 예에 따른 데이터 전송 방법을 설명하기 위한 도면이다.
도 2는 종래 기술의 다른 예에 따른 데이터 전송 방법을 설명하기 위한 도면이다.
도 3은 본 발명 제1실시예에 따른 데이터 가속 방법을 설명하기 위한 블록 구성도이다.
도 4는 본 발명 제2실시예에 따른 데이터 가속 방법을 설명하기 위한 블록 구성도이다.
도 5는 본 발명 제3실시예에 따른 데이터 가속 방법을 설명하기 위한 블록 구성도이다.
도 6은 도 4 및 도 5에 나타낸 중계 서버 관리서버를 상세히 설명하기 위한 블록 구성도이다.
도 7은 본 발명 제1실시예에 따른 데이터 가속 방법을 설명하기 위한 흐름도이다.
도 8은 본 발명 제2실시예에 따른 데이터 가속 방법을 설명하기 위한 흐름도이다.
1 is a diagram for explaining a data transmission method according to an example of the prior art.
2 is a diagram for explaining a data transmission method according to another example of the prior art.
3 is a block diagram for explaining a data acceleration method according to the first embodiment of the present invention.
4 is a block diagram illustrating a data acceleration method according to a second embodiment of the present invention.
5 is a block diagram illustrating a data acceleration method according to a third embodiment of the present invention.
FIG. 6 is a block diagram illustrating the relay server management server shown in FIG. 4 and FIG. 5 in detail.
7 is a flowchart for explaining a data acceleration method according to the first embodiment of the present invention.
FIG. 8 is a flowchart for explaining a data acceleration method according to the second embodiment of the present invention.

본 발명의 바람직한 실시 예를 첨부된 도면에 의하여 상세히 설명하면 다음과 같다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.

아울러, 본 발명에서 사용되는 용어는 가능한 한 현재 널리 사용되는 일반적인 용어를 선택하였으나, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며 이 경우는 해당되는 발명의 설명부분에서 상세히 그 의미를 기재하였으므로, 단순한 용어의 명칭이 아닌 용어가 가지는 의미로서 본 발명을 파악하여야 함을 밝혀두고자 한다. 또한 실시예를 설명함에 있어서 본 발명이 속하는 기술 분야에 익히 알려져 있고, 본 발명과 직접적으로 관련이 없는 기술 내용에 대해서는 설명을 생략한다. 이는 불필요한 설명을 생략함으로써 본 발명의 요지를 흐리지 않고 더욱 명확히 전달하기 위함이다.
In addition, although the term used in the present invention is selected as a general term that is widely used at present, there are some terms selected arbitrarily by the applicant in a specific case. In this case, since the meaning is described in detail in the description of the relevant invention, It is to be understood that the present invention should be grasped as a meaning of a term that is not a name of the present invention. Further, in describing the embodiments, descriptions of technical contents which are well known in the technical field to which the present invention belongs and which are not directly related to the present invention will be omitted. This is for the sake of clarity of the present invention without omitting the unnecessary explanation.

도 3은 본 발명 제1실시예에 따른 가속 데이터 전송 방법을 설명하기 위한 블록 구성도이다.3 is a block diagram illustrating an acceleration data transmission method according to the first embodiment of the present invention.

본 발명 제1실시예에 따른 가속 데이터 전송 방법은 도 3에 나타낸 바와 같이, 클라이언트(100)와 서버(200)간에는 데이터 전송을 위한 통신링크(300)로 연결되어 있고, 서버(200)측에는 클라이언트(100)와 서버(200)간 가속 데이터를 송수신하는 중계 서버(400)가 형성된 경우의 데이터 가속 전송 방법에 관한 것으로, 클라이언트(100)에는 데이터 생성을 위한 어플리케이션(110)과, 상기 생성된 데이터를 가속하기 위한 가속 어플리케이션(120)이 설치된다.3, the acceleration data transmission method according to the first embodiment of the present invention is connected between a client 100 and a server 200 via a communication link 300 for data transmission, And a relay server 400 for transmitting and receiving acceleration data between the server 100 and the server 200. The client 100 includes an application 110 for generating data, An acceleration application 120 is provided for accelerating the acceleration.

여기서 클라이언트(100)는 일반 PC나 스마트 단말기(스마트폰, 스마트 패드)이며, 서버(200)는 클라이언트(100)와 데이터를 송수신하는 일반적인 클라이언트-서버이다.Here, the client 100 is a general PC or a smart terminal (smart phone, smart pad), and the server 200 is a general client-server that transmits and receives data to and from the client 100.

또한 클라이언트(100)와 서버(200)간 통신 링크(300)는 유선이거나 무선 통신 링크(유선 네트워크)일 수 있다.The communication link 300 between the client 100 and the server 200 may be wired or a wireless communication link (wired network).

여기서 클라이언트(100)는 자신의 어플리케이션(110)을 이용하여 송신하고자 하는 데이터를, 미리 데이터를 송수신하기로 한 서버(200)와 송수신하는데 이때, 본 발명에서의 클라이언트(100)에는 데이터를 생성하는 어플리케이션(110) 외에, 송신하고자 하는 데이터를 가속하기 위한 가속 어플리케이션(120)이 설치된다. 또한 가속 어플리케이션(120)은 가속 알고리즘이 적용되어 수신된 데이터를 가속 알고리즘이 적용되기 이전의 원 데이터 형식으로 변환하여 어플리케이션(110)으로 송신한다. 이러한 가속 어플리케이션(120)은 서버(200)에 접속하여 다운로드 받거나, 앱스토어, 안드로이드 마켓 등을 통해 다운로드 받아 설치할 수 있다. Here, the client 100 transmits / receives data to be transmitted to / from the server 200 to transmit / receive data in advance using its own application 110. In this case, the client 100 generates data In addition to the application 110, an acceleration application 120 for accelerating data to be transmitted is provided. In addition, the acceleration application 120 converts the received data to an original data format before the acceleration algorithm is applied by applying the acceleration algorithm, and transmits the converted data to the application 110. The acceleration application 120 may be connected to the server 200 for downloading, or may be downloaded through an application store, an Android market, or the like.

이와 같은 가속 어플리케이션(120)의 클라이언트(100)를 구성하는 PC나 스마트 단말기의 성능이 향상됨에 따라 설치가 가능하다. 물론 사양이 낮거나 구형의 클라이언트에는 가속 어플리케이션(120)이 설치되지 않을 수도 있다. The performance of the PC or smart terminal constituting the client 100 of the acceleration application 120 can be improved. Of course, the acceleration application 120 may not be installed in a client having a low specification or a spherical specification.

이때, 가속 어플리케이션(120)은 클라이언트(100)의 어플리케이션(110)에서 실행되어 서버(200)를 목적지로 하여 송신하고자 하는 데이터가 가속 알고리즘이 필요한 데이터인가를 판단하고, 데이터에 대한 가로채기(인터셉트)를 수행하여, 데이터 가속 알고리즘을 적용하여 가속 프로토콜로 변환하고 서버(200)와 연결된 중계 서버(400)를 착신측으로 하여 송신되도록 추가지정하여 통신 링크(300)를 통해 중계 서버(400)로 송신한다. 즉 일반적으로 송신하고자 하는 데이터에는 착신측 주소가 붙게 되는데 가속 알고리즘을 이용하여 송신하고자 하는 데이터에는 중계 서버(400)의 주소를 추가하여 송신하는 것이다.At this time, the acceleration application 120 is executed in the application 110 of the client 100 to determine whether the data to be transmitted with the server 200 as the destination is data requiring the acceleration algorithm, and intercept ), Converts the data into an acceleration protocol by applying a data acceleration algorithm, and further specifies that the relay server 400 connected to the server 200 is to be transmitted as a called party, and transmits it to the relay server 400 via the communication link 300 do. That is, in general, data to be transmitted is accompanied by a destination address. An address of the relay server 400 is added to data to be transmitted using an acceleration algorithm, and the data is transmitted.

여기서 가속 알고리즘이 필요한 데이터는 서버(200) 주소에 따른 거리(distance)를 참조할 수 있다. 즉 가속 어플리케이션(120)은 클라이언트(100)의 위치(도시)와 서버(200)의 위치(도시)에 따른 거리를 참조한다. 이는 클라이언트(100)의 어플리케이션(110)에서 생성된 데이터를, 가속 어플리케이션(120)에서 가속 알고리즘을 적용하여 가속 프로토콜로 변환하고, 네트워크(300)와 중계서버(400)를 통해 서버(200)로 전송하는 시간과 클라이언트(100)에서 네트워크(300)를 통해 서버(200)로 직접 전송하는 시간보다 더 걸릴 수도 있기 때문이다. 이러한 이유 때문에 클라이언트(100)와 서버(200)간의 거리가 가속 알고리즘과 중계 서버가 필요한 경우인지 또는 그렇지 않은지를 클라이언트(100)의 요청에 의해 가속 어플리케이션(120)이 클라이언트(100)에 설치된 후, 가속 어플리케이션(120)을 통해 서버(200)와 클라이언트(100)간 테스트를 할 수도 있고, 서버(200)와 클라이언트(100)간 네트워크(300)를 통해 연결 시 서버(200) 측에서 클라이언트(100)와의 전송속도 테스트를 수행하거나, 서버(200)의 위치와 클라이언트(100) 설치 위치(도시)에 따른 거리를 계산하여 가속 어플리케이션 설치를 클라이언트(100)와 연결된 디스플레이 장치에 팝업형태로 유도할 수도 있다. Here, the data requiring the acceleration algorithm can refer to the distance according to the address of the server 200. That is, the acceleration application 120 refers to the distance between the location (city) of the client 100 and the location (city) of the server 200. This converts the data generated by the application 110 of the client 100 into the acceleration protocol by applying the acceleration algorithm in the acceleration application 120 and transmits the acceleration protocol to the server 200 through the network 300 and the relay server 400 And may take longer than the time to transmit data directly from the client 100 to the server 200 through the network 300. For this reason, after the acceleration application 120 is installed on the client 100 at the request of the client 100 whether the distance between the client 100 and the server 200 is an acceleration algorithm and whether or not a relay server is required, A test may be performed between the server 200 and the client 100 through the acceleration application 120 or may be performed between the server 200 and the client 100 through the network 300, ) Or calculate the distance according to the location of the server 200 and the installation location (city) of the client 100, thereby guiding the installation of the accelerated application to a display device connected to the client 100 in a pop-up form have.

클라이언트(100)와 서버(200)는 거리가 멀어 RTT(round trip time)가 클수록 가속 효과가 더 좋다.As the distance between the client 100 and the server 200 is large, the larger the round trip time (RTT), the better the acceleration effect.

한편 가속 알고리즘은 어플리케이션(110)의 성격에 따라 적용하되, 원 프로토콜이 TCP인 경우 최적의 CC(Congestion Control) 알고리즘을 채택하고, 최적의 TCP파라미터를 적용해서 UDP를 기반으로한 가속 프로토콜로 전송하고, UDP이면서 중계서버가 다중인 경우에는 최적의 경로를 채택하여 전송하는 것이 바람직하다.Meanwhile, the acceleration algorithm is applied according to the nature of the application 110, adopts the optimal CC (Congestion Control) algorithm when the original protocol is TCP, transmits the UDP-based acceleration protocol using the optimal TCP parameters , It is preferable to adopt an optimal path and transmit the UDP when the relay server is multiple.

다시 말하면 클라이언트(100)의 가속 어플리케이션(120)은 클라이언트(100)의 어플리케이션(110)에서 생성된 TCP 데이터에 대하여 클라이언트(100)와 중계 서버(400)간의 전송방식으로 최적의 TCP 알고리즘을 기반으로 한 가속 알고리즘에 의해 UDP 전송방식을 이용하는 것이다. 이때, UDP가 불가능한 경우에는 TCP를 이용할 수도 있다. 또한 가속 어플리케이션(120)은 서버(200)에서 중계 서버(400)를 통해 전송된 데이터가 가속 프로토콜로 전송된 경우 이를 원 프로토콜인 TCP 전송방식으로 변환하여 어플리케이션(110)으로 전달한다. 또한 클라이언트(100)의 어플리케이션(110)에서 생성된 UDP 데이터에 대하여 클라이언트(100)와 서버(200)사이의 중계 서버들(400, 401, 402)을 이용하여 그 중 최적의 경로를 찾아 데이터를 전달한다. 이에 대하여는 도 4를 참조하여 설명하기로 한다.In other words, the acceleration application 120 of the client 100 is configured to transmit the TCP data generated by the application 110 of the client 100 based on the optimal TCP algorithm as the transmission method between the client 100 and the relay server 400 The UDP transmission scheme is used by one acceleration algorithm. At this time, when UDP is impossible, TCP may be used. When the data transmitted from the server 200 through the relay server 400 is transmitted in the acceleration protocol, the acceleration application 120 converts the data into the TCP transmission method of the original protocol and transmits the data to the application 110. Also, by using the relay servers 400, 401, and 402 between the client 100 and the server 200 for the UDP data generated by the application 110 of the client 100, . This will be described with reference to FIG.

한편 중계 서버(400)는 클라이언트(100)로부터 송신된 데이터를 수신하여 서버(200)로 전송하고, 서버(200)에서 클라이언트(100)로 송신할 데이터를 수신하여 가속 알고리즘으로 가속하여 네트워크(300)를 통해 클라이언트(100)로 전송한다. 이때, 중계 서버(400)는 가속 프로토콜로 수신된 데이터를 원 프로토콜로 변환하여 서버(200)로 송신하고, 서버(200)로부터 수신된 데이터를 가속프로토콜로 변환하여 가속 어플리케이션(120)이 있는 클라이언트(100)로 송신한다.Meanwhile, the relay server 400 receives the data transmitted from the client 100 and transmits the data to the server 200. The relay server 400 receives the data to be transmitted from the server 200 to the client 100, To the client 100 via the network. At this time, the relay server 400 converts the data received by the acceleration protocol into the original protocol and transmits the data to the server 200. The relay server 400 converts the data received from the server 200 into an acceleration protocol, (100).

그리고 가속이 필요한 데이터를 가로채기(인터셉터)하는 방법은 데이터 필터링이거나, API 후킹 및 라우팅 설정을 이용할 수 있다.
The way to intercept (intercept) the data that needs acceleration is to use data filtering or API hooking and routing settings.

이러한 데이터는 특별히 한정할 필요가 없지만 실시간 송수신이 요구되는 데이터인데, 예를 들면 주식 거래 데이터, 경매 등의 입찰 데이터, 롤 플레잉 게임 데이터 등일 수 있다.
Such data is not particularly limited, but data requiring real-time transmission and reception may be, for example, stock transaction data, bid data such as auction, role-playing game data, and the like.

도 4는 본 발명 제2실시예에 따른 가속 데이터 전송 방법을 설명하기 위한 블록 구성도이다.4 is a block diagram illustrating an acceleration data transmission method according to a second embodiment of the present invention.

본 발명 제2실시예에 따른 가속 데이터 전송 방법은 도 4에 나타낸 바와 같이, 클라이언트(100), 서버(200), 통신 링크(300), 복수의 제1 내지 제 N 중계 서버(401, 402, 403 : 400) 및 중계 서버 관리서버(500)로 구성된다.4, the acceleration data transmission method according to the second embodiment of the present invention includes a client 100, a server 200, a communication link 300, a plurality of first to Nth relay servers 401, 402, 403: 400) and a relay server management server 500.

여기서 클라이언트(100)는 일반 PC나 스마트 단말기(스마트폰, 스마트 패드)이고, 서버(200) 역시 일반 PC나 스마트 단말기(스마트폰, 스마트 패드)또는 중 하나 일 수 있다.Here, the client 100 may be a general PC or a smart terminal (smart phone or smart pad), and the server 200 may be a general PC or a smart terminal (smart phone, smart pad) or the like.

또한 통신 링크(300)는 인터넷과 같은 유무선 통신 링크일 수 있다.The communication link 300 may also be a wired or wireless communication link, such as the Internet.

한편 제 1 내지 제 N 중계 서버(401, 402, 403)는 클라이언트(100)로부터 송신된 데이터를 수신하여 서버(200)로 전송해주는 서버이다. 이와 같은 제 1 내지 제 N 중계 서버(401, 402, 403)는 클라이언트(100)의 수가 늘어남에 따라 중계 서버(400)의 개수도 증가한 것을 나타내고 있다. 이와 같은 복수의 제 1 내지 제 N 중계 서버(401, 402, 403)는 국가별 또는 도시별로 하나 이상 복수개 설치될 수 있는데 그와 같은 기준은 클라이언트(100)와 서버(200)간의 거리가 참조되어 설치될 수 있다. 이와 같이 중계 서버를 복수개로 구성하는 경우 가속 어플리케이션(120)과 서버(200)사이에서 복수개의 중계 서버들 중 최적의 경로로 데이터를 전달할 수 있다.The first to Nth relay servers 401, 402, and 403 are servers that receive data transmitted from the client 100 and transmit the received data to the server 200. The first to Nth relay servers 401, 402, and 403 indicate that the number of the relay servers 400 increases as the number of the clients 100 increases. One or more of the first to Nth relay servers 401, 402, and 403 may be installed in each country or city. Such a reference may be made by referring to the distance between the client 100 and the server 200 Can be installed. When a plurality of relay servers are configured as described above, data can be transmitted between the acceleration application 120 and the server 200 through an optimal path among a plurality of relay servers.

중계 서버 관리서버(500)는 제 1 내지 제 N 중계 서버(401, 402, 403)의 상태(트래픽 등)에 따라 가장 유휴한 상태의 중계 서버(400)를 통해 클라이언트(100)와 서버(200)간 데이터 송수신을 수행하도록 관리한다.The relay server management server 500 manages the state of the client 100 and the server 200 through the relay server 400 in the idle state according to the states (traffic, etc.) of the first to Nth relay servers 401, ) To perform data transmission / reception between them.

클라이언트(100)는 자신의 어플리케이션(110)을 이용하여 전송하고자 하는 데이터를 생성한 후 서버(200)로 전송하는데 이때, 클라이언트(100)에는 가속 어플리케이션(120)을 설치한다. 이러한 가속 어플리케이션(120)은 어플리케이션(110)에서 생성된 데이터가 가속 알고리즘이 필요한 데이터인가를 판단하고, 가속이 필요한 데이터인 경우에는 송신하고자 생성된 상기 데이터에 대한 가로채기(인터셉트)를 수행하여, 데이터 가속 알고리즘을 이용하여 서버(200)를 착신측으로 추가지정하여 통신 링크(300)를 통해 송신한다. 또한 가속 어플리케이션(120)은 가속 알고리즘이 적용되어 서버(200)로부터 수신된 데이터는 가속 알고리즘이 적용되기 이전의 원 프로토콜 형식으로 변환하여 어플리케이션(110)으로 전송한다. The client 100 generates data to be transmitted using its own application 110 and transmits the generated data to the server 200. At this time, the client 100 installs the acceleration application 120 in the client 100. [ The acceleration application 120 determines whether the data generated by the application 110 is data requiring an acceleration algorithm and intercepts the data generated for transmission if it is data requiring acceleration, The server 200 is additionally designated to the called party using the data acceleration algorithm and transmitted via the communication link 300. [ In addition, the acceleration application 120 converts the data received from the server 200 to an original protocol format before the acceleration algorithm is applied, and transmits the converted data to the application 110 using an acceleration algorithm.

중계 서버 관리서버(500)는 클라이언트(100)로부터 서버(200)로 송신될 데이터를 받아 복수의 제 1 내지 제 N 중계 서버(401, 402, 403) 중 가장 유휴한 상태의 중계 서버(400)로 송신한다. 이때, 복수의 제 1 내지 제 N 중계 서버(401, 402, 403)가 모두 임계값 이하로 유휴한 경우를 대비하여 복수의 제 1 내지 제 N 중계 서버(401, 402, 403)에 대하여는 설정된 우선 순위를 부여할 수도 있고, 임계값을 유휴/비지의 설정된 %와 같은 여러 단계로 설정할 수도 있으며, 복수의 클라이언트(100)로부터 서버(200)에 대한 데이터 송수신 요청을 복수의 제 1 내지 제 N 중계 서버(401, 402, 403)가 순차적으로 처리하도록 할 수도 있다.
The relay server management server 500 receives the data to be transmitted from the client 100 to the server 200 and receives data to be transmitted to the relay server 400 in the idle state among the plurality of first to Nth relay servers 401, . At this time, in contrast to the case where all of the first to Nth relay servers 401, 402, 403 are idle below the threshold value, the first to Nth relay servers 401, 402, The threshold value may be set in various stages such as the percentage of idle / busy, or a plurality of clients 100 may transmit data transmission / reception requests to the server 200 to the first to Nth relay The servers 401, 402, and 403 may sequentially process them.

도 5는 본 발명 제3실시예에 따른 가속 데이터 전송 방법을 설명하기 위한 블록 구성도이다.5 is a block diagram for explaining an acceleration data transmission method according to the third embodiment of the present invention.

본 발명 제3실시예에 따른 가속 데이터 전송 방법은 도 4에 나타낸 본 발명 제2실시예에서의 복수의 제 1 내지 제 N 중계 서버(401, 402, 403)를 복수개의 중계 서버군(400 : 401, 402, 403)(410 : 411, 412, 413)으로 구성한 것이다.The acceleration data transmission method according to the third embodiment of the present invention includes a plurality of relay servers 400, 402, and 403 in the second embodiment of the present invention shown in FIG. 4, 401, 402, 403) 410 (411, 412, 413).

이와 같이 복수개의 중계 서버군(400)(410)으로 그룹화(410, 420)하여 상기 클라이언트(100)와 서버(200)간 가속 데이터를 중계할 때 최적의 경로로 중계한다.As described above, when the acceleration data is relayed between the client 100 and the server 200 by grouping 410 and 420 into a plurality of relay server groups 400 and 410, the relay is performed through an optimal path.

이와 같이 복수의 중계 서버를 복수의 중계 서버 군으로 구성하는 경우 중계 서버의 선택의 폭이 넓어지는 장점이 있고, 그에 따라 보다 최적의 경로로 중계하는 것이 가능해진다. As described above, when a plurality of relay servers are composed of a plurality of relay server groups, there is an advantage that a selection range of relay servers can be widened, and accordingly, it is possible to relay by a more optimal route.

그 외의 설명은 도 4와 동일하므로 상세한 설명은 생략한다.
Other details are the same as those in Fig. 4, and a detailed description thereof will be omitted.

도 6은 도 4 및 도 5에 나타낸 중계 서버 관리서버를 상세히 설명하기 위한 블록 구성도이다.FIG. 6 is a block diagram illustrating the relay server management server shown in FIG. 4 and FIG. 5 in detail.

도 6은 이와 같은 도 4 및 도 5에 나타낸 중계 서버 관리서버를 상세히 설명하기 위한 블록 구성도로써, 중계 서버 관리서버(500)는 통신부(510), 중계 서버 정보 데이터베이스(520), 중계 서버 상태정보 측정부(530), 클라이언트 정보 저장부(540), 클라이언트-중계 서버 연결부(550) 및 제어부(560)로 구성된다.FIG. 6 is a block diagram for describing the relay server management server shown in FIGS. 4 and 5 in detail. The relay server management server 500 includes a communication unit 510, a relay server information database 520, An information measuring unit 530, a client information storage unit 540, a client-relay server connection unit 550, and a control unit 560.

통신부(510)는 복수의 제 1 내지 제 N 중계 서버(401, 402, 403)나 복수개의 중계 서버군(400 : 401, 402, 403)(410 : 411, 412, 413)과 통신하여 복수의 제 1 내지 제 N 중계 서버(401, 402, 403) 또는 복수개의 중계 서버군(400 : 401, 402, 403)(410 : 411, 412, 413) 각각의 동작상태 정보를 수신하고, 클라이언트(100)와 데이터를 송수신할 중계 서버(400)를 설정하기 위한 데이터를 송신한다.The communication unit 510 communicates with a plurality of first through Nth relay servers 401, 402, and 403 and a plurality of relay server groups 400, 401, 402, and 403 (410: 411, 412, and 413) The first to Nth relay servers 401, 402, and 403 or the plurality of relay server groups 400: 401, 402, and 403 (410: 411, 412, and 413) And the relay server 400 for transmitting and receiving data.

중계 서버 정보 데이터베이스(520)는 복수의 제 1 내지 제 N 중계 서버(401, 402, 403)나 복수개의 중계 서버군(400 : 401, 402, 403)(410 : 411, 412, 413)의 정보를 저장하는데, 이와 같은 정보로는 중계 서버(400) 각각의 성능정보(server performance)와 중계 서버(400) 설치 위치 등이 포함된다. The relay server information database 520 stores information of a plurality of first to Nth relay servers 401, 402 and 403 and a plurality of relay server groups 400: 401, 402 and 403 (410: 411, 412 and 413) Such information includes the server performance of each of the relay servers 400 and the installation location of the relay server 400, and the like.

중계 서버 상태정보 측정부(530)는 복수의 제 1 내지 제 N 중계 서버(401, 402, 403)나 복수개의 중계 서버군(400 : 401, 402, 403)(410 : 411, 412, 413)각각의 동작 상태 정보에 따라 현재상태를 측정하는 것으로, 설정된 주기로 복수의 제 1 내지 제 N 중계 서버(401, 402, 403)나 복수개의 중계 서버군(400 : 401, 402, 403)(410 : 411, 412, 413)각각의 현재 상태를 측정하여 복수의 제 1 내지 제 N 중계 서버(401, 402, 403)나 복수개의 중계 서버군(400 : 401, 402, 403)(410 : 411, 412, 413)의 유휴/비지를 알 수 있다.The relay server state information measurement unit 530 includes a plurality of first to Nth relay servers 401, 402 and 403 and a plurality of relay server groups 400, 401, 402 and 403 (410: 411, 412 and 413) A plurality of first to Nth relay servers 401, 402, and 403 and a plurality of relay server groups 400: 401, 402, and 403 (410: 402, and 403 (410: 411, 412, 412, and 412) by measuring the current state of each of the first to Nth relay servers , 413 can be known.

클라이언트 정보 저장부(540)는 복수의 제 1 내지 제 N 중계 서버(401, 402, 403)나 복수개의 중계 서버군(400 : 401, 402, 403)(410 : 411, 412, 413)를 통해 서버(200)와 통신 중인 클라이언트(100)의 식별정보가 저장된다. 이와 같은 정보에 따라 복수의 클라이언트(100) 각각의 위치에 따른 이용시간, 이용주기 등을 알 수 있고 그에 따라 중계 서버(400)의 증설 등에 참조할 수 있다. 다시 말하면 특정 도시의 클라이언트(100)가 증가하면 해당 지역과 우선적으로 연결되는 중계 서버(400)의 증설 시 이용할 수 있다.The client information storage unit 540 stores the client information in the client information storage unit 540 through a plurality of first through Nth relay servers 401 402 and 403 and a plurality of relay server groups 400 401, 402, and 403 (410: 411, 412, and 413) The identification information of the client 100 in communication with the server 200 is stored. In accordance with such information, it is possible to know the use time, the use period and the like according to the location of each of the plurality of clients 100, and to refer to the expansion of the relay server 400 or the like. In other words, when the number of the clients 100 of a specific city increases, the relay server 400 can be used for the expansion of the relay server 400 that is preferentially connected to the corresponding region.

클라이언트-중계 서버 연결부(550)는 복수의 제 1 내지 제 N 중계 서버(401, 402, 403)나 복수개의 중계 서버군(400 : 401, 402, 403)(410 : 411, 412, 413)의 상태정보에 따라 설정된 순서에 따라 클라이언트(100)와 해당 중계 서버(400)를 연결한다.The client-relay server connection unit 550 includes a plurality of first to Nth relay servers 401, 402, and 403 and a plurality of relay server groups 400: 401, 402, and 403 (410: 411, 412, and 413) And connects the client 100 and the relay server 400 according to the set order according to the status information.

제어부(560)는 통신부(510), 중계 서버 정보 데이터베이스(520), 중계 서버 상태정보 측정부(530), 클라이언트 정보 저장부(540) 및 클라이언트-중계 서버 연결부(550)를 제어한다.The control unit 560 controls the communication unit 510, the relay server information database 520, the relay server status information measurement unit 530, the client information storage unit 540 and the client-relay server connection unit 550.

앞에서도 설명한 바와 같이 가속 알고리즘이 필요한 데이터는 착신측 주소에 따른 거리(위치)를 참조하며, 가속 알고리즘으로는 TCP인 경우에는 최적의 CC 알고리즘과 TCP 파라미터를 적용하여 UDP를 기반으로 하는 전송방식을 이용할 수 있다. 다시 말하면 클라이언트(100)와 제 1 내지 제 N 중계 서버(401, 402, 403)나 복수개의 중계 서버군(400 : 401, 402, 403)(410 : 411, 412, 413)간의 전송방식으로는 UDP 전송방식을 이용하는 것이다. 물론 UDP가 불가능한 상황에서는 선택적으로 TCP를 이용할 수 도 있다.As described above, the data required for the acceleration algorithm refers to the distance (position) according to the destination address, and in the case of TCP, the optimal CC algorithm and the TCP parameter are applied to the UDP-based transmission scheme Can be used. In other words, as a transmission method between the client 100 and the first to Nth relay servers 401, 402 and 403 and a plurality of relay server groups 400: 401, 402 and 403 (410: 411, 412 and 413) UDP transmission scheme. Of course, in situations where UDP is not possible, you can optionally use TCP.

제 1 내지 제 N 중계 서버(401, 402, 403)나 복수개의 중계 서버군(400 : 401, 402, 403)(410 : 411, 412, 413) 중 클라이언트(100)로부터 UDP 방식으로 전송된 데이터를 수신한 중계 서버(400)는 이를 원 프로토콜로 변환하여 서버(200)로 전송한다. 물론 서버(200)로부터 데이터를 수신한 중계 서버(400)는 이 데이터를 가속 프로토콜을 이용하여 통신 링크(300)를 통해 가속 어플리케이션(120)으로 송신한다.The data transmitted from the client 100 among the first to Nth relay servers 401, 402 and 403 and the plurality of relay server groups 400: 401, 402 and 403 (410: 411, 412 and 413) The relay server 400 converts it to the original protocol and transmits it to the server 200. Of course, the relay server 400 receiving the data from the server 200 transmits the data to the acceleration application 120 through the communication link 300 using the acceleration protocol.

한편 이러한 데이터는 특별히 한정할 필요가 없지만 실시간 전송이 요구되는 데이터, 예로써 주식 거래 데이터, 경매 등의 입찰 데이터 및 대규모 다중 사용자 온라인 롤 플레잉 게임을 포함하는 게임 데이터일 수 있다.On the other hand, such data is not particularly limited, but may be data requiring real-time transmission, for example, bid data such as stock transaction data, auction, and game data including a large-scale multi-user online role playing game.

이때 본 발명 제2실시예에서와 같이 중계 서버를 복수개로 구성하는 경우 클라이언트-서버간 데이터 송수신에 대하여 보다 안정적인 서비스 제공이 가능하다.
At this time, when a plurality of relay servers are configured as in the second embodiment of the present invention, it is possible to provide a more stable service for data transmission / reception between the client and the server.

도 7은 본 발명 제1실시예에 따른 데이터 가속 방법을 설명하기 위한 흐름도이다.7 is a flowchart for explaining a data acceleration method according to the first embodiment of the present invention.

본 발명 제1실시예에 따른 데이터 가속 방법은 도 7에 나타낸 바와 같이, 클라이언트(100)에는 데이터 생성을 위한 어플리케이션(110)과 생성된 데이터를 가속하기 위한 가속 어플리케이션(120)이 설치된다(S100).7, an application 110 for generating data and an acceleration application 120 for accelerating generated data are installed in the client 100 (S100 ).

클라이언트(100)는 자신의 어플리케이션(110)을 이용하여 전송하고자 하는 데이터를 생성한 후 서버(200)로 전송이 요청되면(S110), 클라이언트(100)의 가속 어플리케이션(120)은 상기 데이터가 가속 알고리즘이 필요한 데이터인가를 판단하고(S120), 어플리케이션(110)에서 생성되어 송신하고자 하는 데이터에 대한 가로채기(인터셉트)를 수행한다(S130).The client 100 generates data to be transmitted using the application 110 of the client 100 and then transmits the data to the server 200 in step S110 so that the acceleration application 120 of the client 100 (S120), and intercepts data that is generated by the application 110 and is to be transmitted (S130).

가로채기한 데이터는 데이터 가속 알고리즘을 적용하여 가속 프로토콜로 변환하여 중계 서버(400)를 착신측으로 우선 지정하여 송신한다(S150). 즉 일반적으로 송신하고자 하는 데이터에는 착신측 주소가 붙게 되는데 가속 알고리즘을 이용하여 전송하고자 하는 데이터에는 중계 서버(400)의 주소를 추가하여 송신하며 이때, 착신주소는 중계 서버(400)가 우선순위를 갖도록 한다. 여기서 가속 알고리즘이 필요한 데이터는 착신측 주소에 따른 거리(위치)를 참조할 수 있다. 또한 가속 프로토콜로는 UDP를 이용한 전송방식을 이용할 수 있다. 물론 UDP가 제한된 환경에서는 TCP로도 전송할 수도 있다. The intercepted data is converted into an acceleration protocol by applying a data acceleration algorithm, and the relay server 400 is first designated to the called party and transmitted (S150). That is, in general, the destination address is attached to the data to be transmitted. The address of the relay server 400 is added to the data to be transmitted using the acceleration algorithm, and the destination address is transmitted to the relay server 400 in the order of priority Respectively. Here, the data requiring the acceleration algorithm can refer to the distance (position) according to the destination address. As the acceleration protocol, a transmission method using UDP can be used. Of course, in a UDP-restricted environment, it can also be sent over TCP.

중계 서버(400)는 전송된 데이터를 수신하여 서버(200)의 주소로 해당 데이터를 전송한다(S160). 이와 같이 중계 서버를 복수개로 구성하는 경우 보다 안정적인 서비스 제공이 가능하다.
The relay server 400 receives the transmitted data and transmits the data to the address of the server 200 (S160). As described above, when a plurality of relay servers are provided, a more stable service can be provided.

도 8은 본 발명 제2실시예에 따른 데이터 가속 방법을 설명하기 위한 흐름도이다.FIG. 8 is a flowchart for explaining a data acceleration method according to the second embodiment of the present invention.

본 발명 제2실시예에 따른 데이터 가속 방법은 도 8에 나타낸 바와 같이, 클라이언트(100)에는 데이터 생성을 위한 어플리케이션(110)과 생성된 데이터를 가속하기 위한 가속 어플리케이션(120)이 설치된다(S200).As shown in FIG. 8, in the data acceleration method according to the second embodiment of the present invention, an application 110 for generating data and an acceleration application 120 for accelerating generated data are installed in the client 100 (S200 ).

클라이언트(100)는 자신의 어플리케이션(110)을 이용하여 전송하고자 하는 데이터를 생성한 후 서버(200)로 전송이 요청되면(S210), 클라이언트(100)의 가속 어플리케이션(120)은 어플리케이션(110)에서 생성되어 송신하고자 하는 데이터가 가속 알고리즘이 필요한 데이터인가를 판단하고(S220), 이에 대한 가로채기(인터셉트)를 수행한다(S230).The client 100 generates data to be transmitted using its own application 110 and then transmits the requested data to the server 200 at step S210. And determines whether the data to be transmitted is data requiring an acceleration algorithm (S220), and intercepts the data (S230).

가로채기된 데이터는 데이터 가속 알고리즘을 적용하여 가속 프로토콜로 변환하고 중계 서버(400)를 착신측으로 우선 지정하여 송신한다(S250). 즉 일반적으로 송신하고자 하는 데이터에는 착신측 주소가 붙게 되는데 가속 알고리즘을 이용하여 전송하고자 하는 데이터에는 중계 서버(400)의 주소를 추가하여 송신하며 이때, 착신주소는 중계 서버(400)가 우선순위를 갖도록 한다. 여기서 가속 알고리즘이 필요한 데이터는 착신측 주소에 따른 거리(위치)를 참조할 수 있다. 가속할 데이터가 TCP라면 어플리케이션(110) 성격에 따라 최적의 CC 알고리즘과 TCP 파라미터를 적용할 수 있다.The intercepted data is converted into an acceleration protocol by applying a data acceleration algorithm, and the relay server 400 is first designated to the called party and transmitted (S250). That is, in general, the destination address is attached to the data to be transmitted. The address of the relay server 400 is added to the data to be transmitted using the acceleration algorithm, and the destination address is transmitted to the relay server 400 in the order of priority Respectively. Here, the data requiring the acceleration algorithm can refer to the distance (position) according to the destination address. If the data to be accelerated is TCP, the optimal CC algorithm and TCP parameters can be applied according to the nature of the application 110.

이때, 중계 서버(400)가 복수개의 제1 내지 제N 중계 서버(401)(402)(403)로 구성된 경우 중계 서버 관리서버(500)는 제1 내지 제N 중계 서버(401)(402)(403) 중 하나의 중계 서버와 클라이언트(100)간 데이터가 송수신되도록 설정한다(S260). When the relay server 400 includes a plurality of first to Nth relay servers 401, 402, and 403, the relay server management server 500 includes first to Nth relay servers 401 and 402, (Step S260) so that data is transmitted and received between one of the relay servers 403 and 403.

그에 따라 설정된 중계 서버가 클라이언트-서버간 데이터 송수신을 수행한다(S270).
The relay server set up in this manner performs data transmission / reception between the client and the server (S270).

본 발명을 첨부된 도면과 함께 설명하였으나, 이는 본 발명의 요지를 포함하는 다양한 실시 형태 중의 하나의 실시예에 불과하며, 당업계에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 하는 데에 그 목적이 있는 것으로, 본 발명은 상기 설명된 실시예에만 국한되는 것이 아님은 명확하다. 따라서, 본 발명의 보호범위는 하기의 청구범위에 의해 해석되어야 하며, 본 발명의 요지를 벗어나지 않는 범위 내에서의 변경, 치환, 대체 등에 의해 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함될 것이다. 또한, 도면의 일부 구성은 구성을 보다 명확하게 설명하기 위한 것으로 실제보다 과장되거나 축소되어 제공된 것임을 명확히 한다.
While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it should be understood that various changes and modifications will be apparent to those skilled in the art. It is to be understood that the present invention is not limited to the above-described embodiments. Accordingly, the scope of protection of the present invention should be construed according to the following claims, and all technical ideas which fall within the scope of equivalence by alteration, substitution, substitution, Range. In addition, it should be clarified that some configurations of the drawings are intended to explain the configuration more clearly and are provided in an exaggerated or reduced size than the actual configuration.

100 : 클라이언트 단말 110 : 어플리케이션
120 : 가속 어플리케이션 200 : 서버
300 : 통신 링크 400, 401, 402, 403 : 중계 서버
500 : 중계 서버 관리서버 510 : 통신부
520 : 중계 서버 정보 DB 530 : 중계 서버 상태정보 측정부
540 : 클라이언트 정보 저장부 550 : 클라이언트-중계 서버 연결부
560 : 제어부
100: client terminal 110: application
120: Acceleration application 200:
300: communication link 400, 401, 402, 403: relay server
500: Relay server management server 510:
520: Relay server information DB 530: Relay server status information measuring section
540: Client information storage unit 550: Client-relay server connection unit
560:

Claims (16)

클라이언트(100)와 서버(200)간 가속 데이터를 송수신하는 중계 서버(400)가 형성된 경우의 데이터 가속 전송 방법에 있어서,
상기 클라이언트(100)에는 데이터 생성을 위한 어플리케이션(110)과, 상기 생성된 데이터를 가속하기 위한 가속 어플리케이션(120)이 설치되는 단계(S100);
상기 클라이언트(100)가 상기 어플리케이션(110)을 이용하여 생성된 데이터의 상기 서버(200)로의 전송을 요청하는 단계(S110);
상기 어플리케이션(110)에 의해 생성되어 서버(200)로 전송 요청된 데이터가 가속이 필요한 데이터라면(S120), 이 데이터를 가속 어플리케이션(120)이 가로채기(인터셉트)하는 단계(S130),
상기 가속 어플리케이션(120)은 상기 가로채기한 데이터를 가속 알고리즘에 의해 가속 프로토콜로 변환하고, 상기 중계 서버(400)를 착신측으로 우선 지정하여 송신하는 단계(S150); 및
상기 중계 서버(400)는 상기 가속 어플리케이션(120)으로부터 송신된 데이터를 수신하여 상기 서버(200)의 주소로 전송하는 단계(S160);를 포함하여 이루어지는 것을 특징으로 하는 데이터 가속 전송 방법.
A data acceleration transmission method in a case where a relay server (400) for transmitting and receiving acceleration data between a client (100) and a server (200) is formed,
An application 110 for generating data and an acceleration application 120 for accelerating the generated data are installed in the client 100 (S100);
(S110) the client (100) requesting transmission of data generated using the application (110) to the server (200);
If the data generated by the application 110 and requested to be transmitted to the server 200 is data requiring acceleration (S120), the acceleration application 120 intercepts the data (S130)
The acceleration application 120 converts the intercepted data into an acceleration protocol by an acceleration algorithm, assigns the relay server 400 to the called party first, and transmits the accelerated protocol (S150); And
Wherein the relay server (400) receives data transmitted from the acceleration application (120) and transmits the received data to the address of the server (200) (S160).
제1항에 있어서,
상기 클라이언트(100)는 일반 PC나 스마트폰과 스마트 패드를 포함하는 스마트 단말기인 것을 특징으로 하는 데이터 가속 전송 방법.
The method according to claim 1,
Wherein the client (100) is a smart terminal including a general PC, a smart phone, and a smart pad.
제1항에 있어서,
상기 가속 어플리케이션(120)은 상기 서버(200)로부터 수신된 데이터를, 가속 알고리즘에 의해 가속 프로토콜로 변환하기 이전의 원 프로토콜로 변환하여 어플리케이션(110)으로 송신하는 것을 특징으로 하는 데이터 가속 전송 방법
The method according to claim 1,
Wherein the acceleration application (120) converts the data received from the server (200) into an original protocol before conversion into an acceleration protocol by an acceleration algorithm and transmits the data to the application (110)
제1항에 있어서,
상기 가속 알고리즘이 적용되는 데이터는 상기 클라이언트(100)와 상기 서버(200)의 주소에 따른 거리를 참조하여 결정되는 것을 특징으로 하는 데이터 가속 전송 방법.
The method according to claim 1,
Wherein the data to which the acceleration algorithm is applied is determined by referring to a distance according to an address of the client (100) and the server (200).
제1항에 있어서,
상기 가속 알고리즘은 상기 어플리케이션(110)에 의해 생성된 데이터의 원 프로토콜이 TCP인 경우, 이 데이터를 CC(Congestion Control) 알고리즘과 TCP 파라미터를 적용한 UDP 프로토콜로 다중 중계서버 경로 중 하나의 경로를 통해 서버로 전송하는 것을 특징으로 하는 데이터 가속 전송 방법.
The method according to claim 1,
When the original protocol of the data generated by the application 110 is TCP, the acceleration algorithm uses the UDP protocol to which the CC (Congestion Control) algorithm and the TCP parameter are applied, and transmits the data through one of multiple relay server paths To the data transmission unit.
제1항에 있어서, 상기 가속이 필요한 데이터의 가로채기(인터셉터)는 데이터 필터링이거나, API 후킹 및 라우팅 설정을 이용하는 것을 특징으로 하는 데이터 가속 전송 방법. 2. The method of claim 1, wherein interception of data requiring acceleration is data filtering or using API hooking and routing settings. 제1항에 있어서,
상기 중계 서버(400)는 클라이언트(100)와 서버(200)간 데이터 송수신을 위하여 중계서버 관리서버(500)에 의해 선택되는 복수개의 중계 서버(400 : 401, 402, 403) 또는 복수개의 중계 서버를 그룹화한 중계 서버군(400, 410)으로 구성됨을 특징으로 하는 데이터 가속 전송 방법.
The method according to claim 1,
The relay server 400 includes a plurality of relay servers 400, 401, 402, and 403 selected by the relay server management server 500 for data transmission / reception between the client 100 and the server 200, And a relay server group (400, 410) grouped into a group of relay servers (400, 410).
삭제delete 제7항에 있어서,
상기 중계 서버 관리서버(500)는 상기 클라이언트(100)로부터 상기 서버(200)로 송신될 데이터를 받아 상기 복수의 중계 서버(401, 402, 403) 또는 복수개의 중계 서버군(400 : 401, 402, 403)(410 : 411, 412, 413)중 가장 유휴한 상태의 중계 서버(400)로 송신하되,
상기 복수의 중계 서버(401, 402, 403) 또는 복수개의 중계 서버군(400 : 401, 402, 403)(410 : 411, 412, 413)가 모두 임계값 이하로 유휴한 경우를 대비하여 상기 복수의 중계 서버(401, 402, 403) 또는 복수개의 중계 서버군(400 : 401, 402, 403)(410 : 411, 412, 413)에 대하여는 설정된 우선 순위를 부여하거나, 상기 임계값을 유휴/비지의 설정된 % 단위의 여러 단계로 설정하거나,
상기 클라이언트(100)가 복수의 클라이언트인 경우 상기 복수의 클라이언트로부터의 상기 서버(200)에 대한 데이터 송수신 요청을 상기 복수의 중계 서버(401, 402, 403) 또는 복수개의 중계 서버군(400 : 401, 402, 403)(410 : 411, 412, 413)이 순차적으로 처리하도록 설정하는 것을 특징으로 하는 데이터 가속 전송 방법.
8. The method of claim 7,
The relay server management server 500 receives data to be transmitted from the client 100 to the server 200 and receives the data from the plurality of relay servers 401 402 and 403 or a plurality of relay server groups 400 401 and 402 , 403 (410: 411, 412, 413) to the relay server 400 in the idle state,
The plurality of relay servers 401, 402, and 403 or the plurality of relay server groups 400: 401, 402, and 403 (410: 411, 412, and 413) (411, 412, 413) of the relay servers 401, 402, 403 or the plurality of relay servers 400, 401, 402, 403 To set multiple steps in the set%
When the client 100 is a plurality of clients, a request for data transmission / reception from the plurality of clients to the server 200 is transmitted to the plurality of relay servers 401, 402, 403 or a plurality of relay server groups 400 , 402, and 403 (410: 411, 412, and 413) are sequentially processed.
제1항에 있어서,
상기 중계 서버(400)는 가속 알고리즘에 의해 가속 프로토콜로 변환되어 UDP 또는 TCP 방식으로 수신된 데이터를 가속 프로토콜로 변환되기 이전의 원 프로토콜로 변환하여 상기 서버(200)로 송신하고, 상기 서버(200)로부터 수신된 데이터는 다시 가속 프로토콜로 변환하여 상기 가속 어플리케이션(120)이 있는 상기 클라이언트(100)로 송신하는 것을 특징으로 하는 데이터 가속 전송 방법.
The method according to claim 1,
The relay server 400 converts the data received by the UDP or TCP method into an original protocol before being converted into an acceleration protocol and transmits the converted data to the server 200. The server 200 ) Is converted into an acceleration protocol again and transmitted to the client (100) in which the acceleration application (120) is located.
제1항에 있어서,
상기 가속 알고리즘이 적용되는 데이터는,
주식 거래 데이터, 입찰 데이터 및 게임 데이터 중 하나인 것을 특징으로 하는 데이터 가속 전송 방법.
The method according to claim 1,
The data to which the acceleration algorithm is applied,
Stock transaction data, bid data, and game data.
클라이언트(100)와 서버(200)간 데이터 송수신 시, 상기 클라이언트(100)가 어플리케이션(110)을 이용하여 생성된 데이터의 상기 서버(200)로의 전송을 요청하면, 상기 어플리케이션(110)에 의해 생성되어 서버(200)로 전송 요청된 데이터가 가속이 필요한 데이터라면, 이 데이터를 가속 어플리케이션(120)이 가로채기(인터셉트)하고, 상기 가속 어플리케이션(120)은 상기 가로채기한 데이터를 가속 알고리즘에 의해 가속 프로토콜로 변환하여 복수의 중계 서버(400, 410) 중 어느 하나로 전송하도록, 상기 복수의 중계 서버(400, 410)와 통신하여 복수의 중계 서버 각각의 동작상태 정보를 수신하고, 상기 클라이언트(100)와 데이터를 송수신할 중계 서버(400)(410)를 설정하기 위한 데이터를 송신하는 통신부(510);
상기 복수의 중계 서버(400, 410)의 각각의 성능정보(server performance)와 설치 위치 주소 정보가 저장되는 중계 서버 정보 데이터베이스(520);
상기 복수의 중계 서버(400, 410) 각각의 동작 상태 정보에 따라 상기 중계 서버(400, 410)의 유휴/비지를 측정하는 중계 서버 상태정보 측정부(530);
상기 복수의 중계 서버(400, 410)를 통해 상기 서버(200)와 통신 중인 상기 클라이언트(100)의 식별정보가 저장되는 클라이언트 정보 저장부(540);
상기 복수의 중계 서버(400, 410)의 상기 동작 상태정보에 의거하여 설정된 순서에 따라 상기 클라이언트(100)와 상기 복수의 중계 서버(400, 410)중 하나의 중계 서버에 의한 데이터 송수신 설정을 위한 연결을 제어하는 클라이언트-중계 서버 연결부(550); 및
상기 통신부(510), 중계 서버 정보 데이터베이스(520), 중계 서버 상태정보 측정부(530), 클라이언트 정보 저장부(540) 및 클라이언트-중계 서버 연결부(550)를 제어하는 제어부(560);를 포함하여 구성됨을 특징으로 하는 데이터 가속 전송을 위한 중계 서버 관리서버.
When the client 100 requests transmission of data generated using the application 110 to the server 200 during data transmission and reception between the client 100 and the server 200, If the data requested to be transmitted to the server 200 is data requiring acceleration, the acceleration application 120 intercepts the data, and the acceleration application 120 transmits the intercepted data by an acceleration algorithm (400, 410) to receive the operation status information of each of the plurality of relay servers so as to be transmitted to any one of the plurality of relay servers (400, 410) A communication unit 510 for transmitting data for setting up a relay server 400 (410) to transmit / receive data;
A relay server information database 520 storing the server performance and installation location address information of each of the plurality of relay servers 400 and 410;
A relay server state information measuring unit 530 for measuring idle / busy of the relay servers 400 and 410 according to operation state information of each of the relay servers 400 and 410;
A client information storage unit 540 for storing identification information of the client 100 communicating with the server 200 through the plurality of relay servers 400 and 410;
And for setting data transmission / reception by the relay server of the client (100) and one of the plurality of relay servers (400, 410) according to a set order based on the operation state information of the plurality of relay servers (400, 410) A client-relay server connection unit 550 for controlling the connection; And
The control unit 560 controls the communication unit 510, the relay server information database 520, the relay server status information measurement unit 530, the client information storage unit 540, and the client-relay server connection unit 550 And transmitting the data to the relay server.
제12항에 있어서,
상기 클라이언트 정보 저장부(540)에 저장된 클라이언트 정보는
클라이언트(100)가 복수개이고, 각각의 클라이언트(100)위치에 따른 이용시간, 이용주기에 따라 상기 중계 서버(400, 410)의 증설에 이용되는 것을 특징으로 하는 중계 서버 관리서버.
13. The method of claim 12,
The client information stored in the client information storage unit 540
Wherein the plurality of clients (100) are used for expansion of the relay servers (400, 410) according to the usage time and the usage period according to the location of each client (100).
클라이언트(100)와 서버(200)간에 가속 데이터를 송수신하도록 중계 서버가 복수개의 중계 서버(400, 410)로 구성된 데이터 가속 전송 방법에 있어서,
상기 클라이언트(100)에는 데이터 생성을 위한 애플리케이션(110)과, 상기 생성된 데이터를 가속하기 위한 가속 애플리케이션(120)이 설치되는 단계(S200);
상기 클라이언트(100)가 상기 애플리케이션(110)에 의해 생성된 데이터를 상기 서버(200)로 전송을 요청하는 단계(S210);
상기 서버(200)로의 전송이 요청된 데이터가 가속이 필요한 데이터라면(S220) 상기 가속 애플리케이션(120)이 가로채기(인터셉트)를 수행하는 단계(S230);
상기 가속 애플리케이션(120)은 상기 가로채기한 데이터를 가속 알고리즘에 의해 가속 프로토콜로 변환하고, 상기 중계 서버(400)(410) 중 하나의 중계 서버를 착신측으로 우선 지정하여 송신하는 단계(S250); 및
설정된 중계 서버가 클라이언트-서버간 데이터 송수신을 수행하는 단계(S270);를 포함하여 이루어지는 것을 특징으로 하는 데이터 가속 전송 방법.
A method for accelerating data transmission in which a relay server comprises a plurality of relay servers (400, 410) for transmitting and receiving acceleration data between a client (100) and a server (200)
The client 100 includes an application 110 for generating data and an acceleration application 120 for accelerating the generated data (S200).
Requesting the client (100) to transmit data generated by the application (110) to the server (200) (S210);
If the data requested to be transmitted to the server 200 is data requiring acceleration (S220), the acceleration application 120 performs interception (S230);
The acceleration application 120 converts the intercepted data into an acceleration protocol by an acceleration algorithm and prioritizes and transmits one of the relay servers 400 and 410 to the called party, And
And a step (S270) of transmitting and receiving data between the client and the server by the relay server.
클라이언트(100)와 서버(200)간에는 데이터 전송을 위한 복수개의 중계 서버(400)(410)가 형성된 경우의 데이터 가속 전송 방법을 구현하기 위한 프로그램을 구현한 기록 매체에 있어서,
상기 클라이언트(100)에는 데이터 생성을 위한 어플리케이션(110)과 생성된 데이터를 가속하기 위한 가속 어플리케이션(120)이 설치되는 단계(S200);
상기 클라이언트(100)가 상기 어플리케이션(110)을 이용하여 송신하고자 하는 데이터를 생성한 후 상기 서버(200)로 전송을 요청하는 단계(S210);
상기 가속 어플리케이션(120)이 상기 어플리케이션(110)에서 생성되어 송신하고자 하는 데이터가 가속이 필요한 데이터라면(S220), 가로채기(인터셉트)를 수행하는 단계(S230);
상기 가속 어플리케이션(120)은 상기 어플리케이션(110)에서 생성된 데이터에 가속 알고리즘을 적용하여 가속 프로토콜로 변환하고, 상기 중계 서버(400)를 착신측으로 우선 지정하여 송신하는 단계(S150); 및
상기 중계 서버(400)는 송신된 데이터를 수신하여 상기 서버(200)의 주소로 해당 데이터를 전송하는 단계(S160);를 포함하여 상기 데이터를 상기 가속 알고리즘을 적용하여 전송하는 것을 특징으로 하는 데이터 가속 전송 방법을 구현하기 위한 프로그램을 구현한 기록 매체.
A recording medium embodying a program for implementing a data acceleration transmission method in a case where a plurality of relay servers (400, 410) for data transmission are formed between a client (100) and a server (200)
The client 100 includes an application 110 for generating data and an acceleration application 120 for accelerating generated data (S200);
The client 100 generates data to be transmitted using the application 110 and then requests transmission to the server 200 (S210);
If the acceleration application 120 generates data to be transmitted from the application 110 and the data to be transmitted is data requiring acceleration (S220), performing interception (S230);
The acceleration application 120 applies an acceleration algorithm to the data generated by the application 110 to convert it into an acceleration protocol, and assigns the relay server 400 to the called party first and transmits the acceleration protocol to the destination (S 150). And
The relay server 400 receives the transmitted data and transmits the data to the address of the server 200 (S160), and transmits the data by applying the acceleration algorithm. A recording medium on which a program for implementing an acceleration transmission method is implemented.
클라이언트(100)와 서버(200)간 가속 데이터를 송수신하는 복수개의 중계 서버(400)(410)가 형성된 경우의 데이터 가속 전송 방법을 구현하기 위한 프로그램을 구현한 기록 매체에 있어서,
상기 클라이언트(100)에는 데이터 생성을 위한 어플리케이션(110)과, 상기 생성된 데이터를 가속하기 위한 가속 어플리케이션(120)이 설치되는 단계(S200);
상기 클라이언트(100)가 상기 어플리케이션(110)에 의해 생성된 데이터를 상기 서버(200)로 전송 요청하는 단계(S210);
상기 서버(200)로의 전송이 요청된 데이터가 가속이 필요한 데이터라면(S220), 상기 가속 어플리케이션(120)이 가로채기(인터셉트)를 수행하는 단계(S230);
상기 가속 어플리케이션(120)은 상기 가로채기한 데이터를 가속 알고리즘에 의해 가속 프로토콜로 변환하고, 상기 중계 서버(400)(410) 중 하나를 착신측으로 우선 지정하여 송신하는 단계(S250); 및
상기 중계 서버(400)(410) 중 하나의 중계 서버가 클라이언트-서버간 데이터 송수신을 수행하는 단계(S270);를 포함하여 이루어지는 것을 특징으로 하는 데이터 가속 전송 방법을 구현하기 위한 프로그램을 구현한 기록 매체.
A recording medium embodying a program for implementing a data acceleration transmission method in a case where a plurality of relay servers (400, 410) for transmitting and receiving acceleration data between a client (100) and a server (200)
An application 110 for generating data and an acceleration application 120 for accelerating the generated data are installed in the client 100 (S200);
Requesting the client (100) to transmit data generated by the application (110) to the server (200) (S210);
If the data requested to be transmitted to the server 200 is data requiring acceleration (S220), the acceleration application 120 performs interception (S230);
The acceleration application 120 converts the intercepted data into an acceleration protocol by an acceleration algorithm, and assigns one of the relay servers 400 and 410 to a called party and transmits the accelerated protocol (S250). And
And a step (S270) of transmitting and receiving data between the client and the server by one of the relay servers (400 and 410) (S270). media.
KR1020140177731A 2014-12-10 2014-12-10 Server and method for transmitting acceleration data and recording medium thereof KR101641689B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140177731A KR101641689B1 (en) 2014-12-10 2014-12-10 Server and method for transmitting acceleration data and recording medium thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140177731A KR101641689B1 (en) 2014-12-10 2014-12-10 Server and method for transmitting acceleration data and recording medium thereof

Publications (2)

Publication Number Publication Date
KR20160070581A KR20160070581A (en) 2016-06-20
KR101641689B1 true KR101641689B1 (en) 2016-07-21

Family

ID=56354395

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140177731A KR101641689B1 (en) 2014-12-10 2014-12-10 Server and method for transmitting acceleration data and recording medium thereof

Country Status (1)

Country Link
KR (1) KR101641689B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102341988B1 (en) * 2021-06-16 2021-12-22 아인비에스 주식회사 Data hub apparatus for data link of queuing device and server

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010063026A (en) 2008-09-05 2010-03-18 Murata Machinery Ltd Communication device
US20110179167A1 (en) 2008-09-05 2011-07-21 Murata Machinery, Ltd. Relay server, relay communication system, and communication apparatus

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6587985B1 (en) * 1998-11-30 2003-07-01 Matsushita Electric Industrial Co., Ltd. Data transmission method, data transmission apparatus, data receiving apparatus, and packet data structure
KR100640280B1 (en) * 2004-01-07 2006-10-31 에스케이 텔레콤주식회사 Repeater management system and method for controlling as the same by PDA

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010063026A (en) 2008-09-05 2010-03-18 Murata Machinery Ltd Communication device
US20110179167A1 (en) 2008-09-05 2011-07-21 Murata Machinery, Ltd. Relay server, relay communication system, and communication apparatus

Also Published As

Publication number Publication date
KR20160070581A (en) 2016-06-20

Similar Documents

Publication Publication Date Title
US8069251B2 (en) System and/or method for client-driven server load distribution
KR101576585B1 (en) Reducing buffer usage for tcp proxy session based on delayed acknowledgment
US10027781B2 (en) TCP link configuration method, apparatus, and device
US8745204B2 (en) Minimizing latency in live virtual server migration
US20210203434A1 (en) Data transmitting method, data receiving method, and device
EP3422646A1 (en) Method and device for multi-flow transmission in sdn network
KR20130093813A (en) A communication method of node prefetching segments of contents in a content centric network and the node
WO2018112877A1 (en) Path calculating and access request distributing methods, devices and systems
WO2022121469A1 (en) Flow control method, apparatus, and device, and readable storage medium
WO2016197727A1 (en) Data transmission method and device
US9819591B2 (en) System and method of providing compression technique for jitter sensitive application through multiple network links
JP2010538551A (en) Method and system for automatically confirming connectivity status of an IP link on an IP network
KR101641689B1 (en) Server and method for transmitting acceleration data and recording medium thereof
WO2017080363A1 (en) Data transmission method and wap device
WO2017181586A1 (en) Method and electronic equipment for measuring distance between nodes
US20200236055A1 (en) Transmission control protocol session mobility
Agache et al. Oh Flow, Are Thou Happy?{TCP} Sendbuffer Advertising for Make Benefit of Clouds and Tenants
JP6412529B2 (en) Transmission control apparatus, transmission control method, and transmission control program
US10277527B1 (en) Utilization of network tunnel signaling for connection request rate limitation
JP6263452B2 (en) BAND CONTROL SYSTEM, BAND CONTROL METHOD, AND PROGRAM
Wang et al. CloudJet4BigData: Streamlining Big Data via an accelerated socket interface
US9882751B2 (en) Communication system, communication controller, communication control method, and medium
JP2014096674A (en) Network device, network device control method, and network system
JP2018067788A (en) Inbound traffic acceleration device, acceleration method, and acceleration program
US20150350310A1 (en) Cloud Transport Platform (CTP) Based Data Transmission Method, System and Corresponding Cloud Transport Platform

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