KR20080033678A - Method and system for data transmitting between local servers connected to each other via local network and outside server - Google Patents

Method and system for data transmitting between local servers connected to each other via local network and outside server Download PDF

Info

Publication number
KR20080033678A
KR20080033678A KR1020060099637A KR20060099637A KR20080033678A KR 20080033678 A KR20080033678 A KR 20080033678A KR 1020060099637 A KR1020060099637 A KR 1020060099637A KR 20060099637 A KR20060099637 A KR 20060099637A KR 20080033678 A KR20080033678 A KR 20080033678A
Authority
KR
South Korea
Prior art keywords
local
server
data
control message
servers
Prior art date
Application number
KR1020060099637A
Other languages
Korean (ko)
Other versions
KR100844999B1 (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 KR1020060099637A priority Critical patent/KR100844999B1/en
Publication of KR20080033678A publication Critical patent/KR20080033678A/en
Application granted granted Critical
Publication of KR100844999B1 publication Critical patent/KR100844999B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/20Support for services
    • H04L49/201Multicast operation; Broadcast operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/611Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]

Landscapes

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

Abstract

A method and a system for transmitting data between local servers connected through a local network and an external server are provided to connect only one of the local servers to the external server to receive data from the external server and transmit the received data to the other local servers through the local network so as to reduce a network bandwidth and decrease the maintenance costs of the servers and the network for processing a large amount of data in real time. A first local server is directly connected to an external server to receive data and, simultaneously, transmit a first control message which represents that the first local server is directly connected to the external server through a local network to receive data(S210) when other local servers connected to the local network do not exit or the first control message is not received from the other local servers. When the first local server is connected to the local network and the first control message which represents a second local server corresponding to one of the other local servers is directly connected to the external server to receive data is received, the first local server is connected to the second local server to receive data from the second local server and, simultaneously, transmit a second control message which represents that the first local server is connected to one of the other local servers through the local network to receive the data(S310).

Description

로컬 네트워크를 통해 연결되어 있는 로컬 서버들과 외부 서버간의 데이터 전송 방법 및 시스템{METHOD AND SYSTEM FOR DATA TRANSMITTING BETWEEN LOCAL SERVERS CONNECTED TO EACH OTHER VIA LOCAL NETWORK AND OUTSIDE SERVER}METHOD AND SYSTEM FOR DATA TRANSMITTING BETWEEN LOCAL SERVERS CONNECTED TO EACH OTHER VIA LOCAL NETWORK AND OUTSIDE SERVER}

도 1은 종래의 데이터 전송 방법을 설명하기 위한 도면,1 is a view for explaining a conventional data transmission method,

도 2는 본 발명에 의한 데이터 전송 방법의 원리를 설명하기 위해 로컬 네트워크를 통해 서로 연결되어 있는 로컬 서버와 외부 서버의 관계를 설명하기 위한 도면,2 is a view for explaining a relationship between a local server and an external server connected to each other via a local network to explain the principle of a data transmission method according to the present invention;

도 3은 본 발명에 따른 데이터 전송 방법의 일실시예가 수행되는 과정을 설명하기 위한 흐름도,3 is a flowchart for explaining a process of performing an embodiment of a data transmission method according to the present invention;

도 4는 제어 메시지의 구성의 일예를 나타낸 도면,4 is a diagram illustrating an example of a configuration of a control message;

도 5는 중계 서버에서 로컬 서버로 전송되는 데이터를 패킷 구조를 설명하기 위한 도면,5 is a diagram for explaining a packet structure of data transmitted from a relay server to a local server;

도 6은 본 발명에 따른 데이터 전송 방법을 구현하기 위한 중계 서버 및 로컬 서버의 내부 구성을 나타낸 블록도이다.6 is a block diagram showing the internal configuration of a relay server and a local server for implementing a data transmission method according to the present invention.

<도면 주요 부분의 부호에 대한 설명><Description of Signs of Major Parts of Drawings>

100...외부 서버,100 ... external server,

200,300,400,500...로컬 서버,200,300,400,500 ... local server,

본 발명은 로컬 서버들과 외부 서버간의 데이터 전송 방법 및 시스템에 관한 것으로서, 보다 상세하게는 로컬 네트워크를 통해 서로 연결되어 있는 로컬 서버들과 상기 로컬 서버들 중 어느 하나가 외부 서버와 연결되어 외부 서버로부터 데이터를 전송받아 이를 로컬 네트워크를 통해 다른 로컬 서버들에게 전송하기 위한 방법 및 시스템에 관한 것이다.The present invention relates to a method and a system for transmitting data between local servers and an external server. More particularly, the local server and one of the local servers connected to each other through a local network are connected to an external server to connect to an external server. A method and system for receiving data from and transmitting it to other local servers via a local network.

최근, 인터넷 등과 같은 컴퓨터 네트워크의 급속한 발전과 더불어 대용량의 데이터를 실시간으로 전송하는 여러 가지 방법이 사용되고 있다. 예컨대, 증권 거래 분야나 각종 금융 기관의 경우에는 동시에 다수의 사용자들이 접속하므로 실시간으로 대용량의 데이터를 처리하기 위해 복수개의 서버를 설치하여 다수의 사용자들에게 동시에 데이터를 전송하고 있다. 그러나, 이러한 경우 복수개의 서버들은 동일한 시간에 동일한 데이터를 보유하고 있어야 하며 또한 어느 하나의 서버에 고장이 발생한 경우에 대처할 수 있도록 이들은 대부분 미러링(mirroring) 등과 같은 방식에 의하여 같은 데이터를 저장하도록 되어 있다.Recently, with the rapid development of computer networks such as the Internet, various methods for transmitting a large amount of data in real time have been used. For example, in the field of securities trading or various financial institutions, a plurality of users are connected at the same time to install a plurality of servers to process a large amount of data in real time to transmit data to multiple users at the same time. However, in this case, the plurality of servers must have the same data at the same time, and in order to cope with a failure of any one of the servers, they are mostly designed to store the same data by a method such as mirroring. .

도 1은 이러한 연결 상태를 나타낸 도면으로서, 도 1을 참조하면, 원시 데이터를 저장하고 있는 외부 서버(10)와 이 외부 서버와 각각 연결되어 있는 복수개의 로컬 서버(20,30,40,50)를 나타낸 것이다. 이들 로컬 서버(20,30,40,50)들은 같은 로컬 네트워크에 속해 있을 수도 있고 물리적으로 다른 네트워크에 포함되어 있을 수도 있다. 외부 서버(10) 또한 동일한 데이터를 저장하는 복수개의 서버로 구성될 수 있으며 이 외부 서버(10) 상단에 별도의 원시 데이터를 보유하는 서버가 존재할 수도 있다. 어떠한 경우에든 최하단의 로컬 서버(20,30,40,50)들은 외부 서버(10)로부터 동일한 시간대에 동일한 데이터를 수신할 수 있도록 구성되어야 한다. 그러나, 이러한 종래의 구조하에서는, 로컬 서버(20,30,40,50)들은 각각 외부 서버(10)와 연결되어 각각 데이터를 송수신하게 되므로, 그만큼에 비례하여 네트워크 대역폭을 점유하게 된다는 근본적인 한계점이 있다. 로컬 서버가 더 추가되면 그 갯수에 비례하여 그만큼의 대역폭을 점유하게 될 것이다.1 is a diagram illustrating such a connection state. Referring to FIG. 1, an external server 10 storing raw data and a plurality of local servers 20, 30, 40, and 50 connected to the external server, respectively, are illustrated. It is shown. These local servers 20, 30, 40, 50 may belong to the same local network or may be physically included in different networks. The external server 10 may also be composed of a plurality of servers storing the same data, and there may be a server holding separate raw data on top of the external server 10. In any case, the lowest local servers 20, 30, 40, 50 should be configured to receive the same data from the external server 10 at the same time. However, under such a conventional structure, since the local servers 20, 30, 40, and 50 are connected to the external server 10 to transmit and receive data, respectively, there is a fundamental limitation in that they occupy network bandwidth in proportion thereto. . As more local servers are added, they will occupy as much bandwidth as they are.

본 발명은 상기한 바와 같은 한계점을 극복하기 위한 것으로서, 로컬 네트워크를 통해 서로 연결되어 있는 로컬 서버들 중 어느 하나만을 외부 서버와 연결시켜 외부 서버로부터 데이터를 수신하도록 하고, 수신된 데이터는 로컬 네트워크를 통해 다른 로컬 서버들로 전송하도록 함으로써, 네트워크 대역폭을 현저하게 감소시키고 실시간 대용량 데이터를 처리하기 위한 서버와 네트워크의 유지 및 관리 비용을 대폭 절감할 수 있도록 하는 효율적인 데이터 전송 방법 및 시스템을 제공하는 것을 목적으로 한다.The present invention is to overcome the above limitations, by connecting any one of the local servers connected to each other via the local network to the external server to receive data from the external server, the received data is the local network The purpose of the present invention is to provide an efficient data transmission method and system that can significantly reduce network bandwidth and drastically reduce the costs of maintaining and managing the network and servers for processing large amounts of data in real time. It is done.

또한, 본 발명은 외부 서버와 연결된 로컬 서버에 고장이 발생한 경우에도 이 로컬 서버와 로컬 네트워크를 통해 연결되어 있는 다른 로컬 서버 중의 어느 하나가 고장이 발생한 로컬 서버의 역할을 대신하도록 함으로써 외부 서버와의 연결 및 로컬 네트워크를 통한 로컬 서버와의 데이터 전송을 신뢰성있게 유지할 수 있도록 하는 데이터 전송 방법 및 시스템을 제공하는 것을 또 다른 목적으로 한다.In addition, in the present invention, even when a local server connected to an external server fails, any one of the local server and another local server connected through the local network takes the place of the failed local server. It is another object of the present invention to provide a data transmission method and system that can reliably maintain data transmission with a local server through a connection and a local network.

상기한 바와 같은 목적을 달성하기 위하여 본 발명은, 로컬 네트워크를 통해 서로 연결되는 복수개의 로컬 서버 중 어느 하나를 통해 외부 서버와 데이터를 송수신하는 방법에 있어서, 로컬 네트워크에 제1 로컬 서버가 접속한 경우 상기 로컬 네트워크에 접속되어 있는 다른 로컬 서버가 존재하지 않는 경우 또는 상기 로컬 네트워크에 접속되어 있는 다른 모든 로컬 서버로부터 외부 서버와 직접 연결되어 데이터를 수신하고 있다는 것을 알리는 제1 제어 메시지가 수신되지 않는 경우, 상기 제1 로컬 서버가 외부 서버와 직접 접속하여 데이터를 수신하는 동시에 상기 로컬 네트워크를 통해 자신이 외부 서버와 직접 연결되어 데이터를 수신하고 있다는 것을 알리는 제1 제어 메시지를 전송하고, 로컬 네트워크에 제1 로컬 서버가 접속한 경우 상기 로컬 네트워크에 접속되어 있는 다른 로컬 서버 중 어느 하나인 제2 로컬 서버로부터 자신이 외부 서버와 직접 연결되어 데이터를 수신하고 있다는 것을 알리는 제1 제어 메시지를 수신한 경우, 상기 제2 로컬 서버에 접속하여 상기 제2 로컬 서버로부터 데이터를 수신하는 동시에 상기 로컬 네트워크를 통해 자신이 로컬 서버 중 어느 하나에 접속하여 데이터를 수신하고 있음을 알리는 제2 제어 메 시지를 전송하는 것을 특징으로 하는 데이터 송수신 방법을 제공할 수 있다.In order to achieve the above object, the present invention provides a method for transmitting and receiving data with an external server through any one of a plurality of local servers connected to each other via a local network, the first local server is connected to the local network If there is no other local server connected to the local network or if the first control message notifying that the external server is directly receiving data from all other local servers connected to the local network is not received. When the first local server is directly connected to an external server to receive data, the first local server transmits a first control message indicating that the first local server is directly connected to an external server to receive data through the local network, and to the local network. The local when the first local server is connected When a first control message is received from a second local server, which is one of the other local servers connected to the network, indicating that the user is directly connected to an external server and receiving data, the second local server is connected to the second local server. And receiving a data from a second local server and transmitting a second control message indicating that the user is connected to any one of the local servers and receiving data through the local network. Can be.

여기에서, 상기 제1 제어 메시지와 상기 제2 제어 메시지는 각각 소정 주기로 발생하도록 구성할 수 있다.Herein, the first control message and the second control message may be configured to occur at predetermined periods, respectively.

또한, 상기 제2 로컬 서버로부터 제1 로컬 서버로 전송되는 데이터는 멀티캐스팅에 의해 전송될 수 있다.In addition, data transmitted from the second local server to the first local server may be transmitted by multicasting.

본 발명의 다른 측면에 의하면, 로컬 네트워크를 통해 연결되어 있는 적어도 하나 이상의 로컬 서버들 중 어느 하나인 제1 서버가 외부 서버가 연결되어 외부 서버로부터 데이터를 수신하고 상기 수신한 데이터를 로컬 네트워크를 통해 연결되어 있는 적어도 하나 이상의 다른 로컬 서버로 데이터를 전송하는 방법에 있어서, 상기 적어도 하나 이상의 다른 로컬 서버들이 상기 제1 서버로부터 로컬 네트워크를 통해 자신이 외부 서버와 직접 연결되어 데이터를 수신하고 있다는 것을 알리는 제1 제어 메시지가 소정 주기 내에 수신되지 않는 경우, 상기 적어도 하나 이상의 다른 로컬 서버들 중 어느 하나를 상기 외부 서버와 직접 연결할 중계 서버로 결정하는 단계-여기서, 상기 적어도 하나 이상의 다른 로컬 서버들은 자신이 상기 제1 서버에 접속하여 데이터를 수신하고 있음을 알리는 제2 제어 메시지를 소정 주기 마다 상기 로컬 네트워크를 통해 전송함-; 상기 중계 서버로 결정된 로컬 서버가 상기 외부 서버에 접속하여 데이터를 수신하고 수신한 데이터를 로컬 네트워크를 통해 연결되어 있는 다른 로컬 서버들로 전송하는 단계; 및 상기 중계 서버로 결정된 로컬 서버가 로컬 네트워크를 통해 자신이 외부 서버와 직접 연결되어 데이터를 수신하고 있다는 것을 알리는 제1 제어 메시지를 전송하는 단계를 포함하는 데이터 전송 방법을 제공할 수 있다.According to another aspect of the present invention, a first server, which is one of at least one or more local servers connected through a local network, is connected to an external server to receive data from an external server, and the received data is transmitted through the local network. A method of transmitting data to at least one other local server that is connected, wherein the at least one other local servers are notified that they are directly connected to an external server and receiving data from the first server through a local network. If a first control message is not received within a predetermined period, determining one of the at least one other local servers as a relay server to connect directly with the external server, wherein the at least one other local servers are themselves Connect to the first server Every predetermined second period the second control message is received indicating that the emitter and also transmitted over the local network; Accessing the external server by the local server determined as the relay server, receiving data, and transmitting the received data to other local servers connected through a local network; And transmitting, by the local server determined as the relay server, a first control message informing that the local server is directly connected to an external server and receiving data through a local network.

여기에서, 상기 제1 제어 메시지 및 제2 제어 메시지는 로컬 서버 자신의 IP 주소를 더 포함하며, 상기 적어도 하나 이상의 다른 로컬 서버들 중 어느 하나를 상기 외부 서버와 직접 연결할 중계 서버로 결정하는 단계는 상기 제1 제어 메시지 및 제2 제어 메시지에 포함된 로컬 서버들의 IP 주소에 의거하여 중계 서버를 결정할 수 있다.Here, the first control message and the second control message further includes an IP address of the local server itself, the step of determining any one of the at least one or more other local servers as a relay server to directly connect with the external server The relay server may be determined based on IP addresses of local servers included in the first control message and the second control message.

또한, 상기 적어도 하나 이상의 다른 로컬 서버들 중 어느 하나를 상기 외부 서버와 직접 연결할 중계 서버로 결정하는 단계는 상기 로컬 서버들의 IP 주소 중 가장 큰 IP 주소를 갖는 로컬 서버를 중계 서버로 결정할 수 있다.In addition, determining one of the one or more other local servers as a relay server to directly connect with the external server may determine a local server having the largest IP address among IP addresses of the local servers as a relay server.

또한, 상기 제1 제어 메시지 및 제2 제어 메시지는 로컬 서버 자신의 중앙 처리 장치의 사용량, 메모리 사용량, 네트워크 사용량 및 서버 가동 시간에 대한 데이터를 적어도 어느 하나 이상 더 포함하며, 상기 적어도 하나 이상의 다른 로컬 서버들 중 어느 하나를 상기 외부 서버와 직접 연결할 중계 서버로 결정하는 단계는 상기 데이터들 중 적어도 어느 하나 이상 또는 그 조합에 의거하여 중계 서버를 결정할 수 있다.The first control message and the second control message may further include at least one or more data about the usage, memory usage, network usage, and server uptime of the central processing unit of the local server. Determining any one of the servers as a relay server to directly connect with the external server may determine the relay server based on at least one or more or a combination thereof.

또한, 상기 중계 서버로 결정된 로컬 서버가 상기 외부 서버에 접속하여 데이터를 수신하고 수신한 데이터를 로컬 네트워크를 통해 다른 로컬 서버들로 전송하는 단계에 있어서, 상기 다른 로컬 서버들로 전송되는 데이터는 멀티캐스팅에 의해 전송될 수 있다.In addition, in a step in which a local server determined as the relay server accesses the external server to receive data and transmits the received data to other local servers through a local network, the data transmitted to the other local servers may be multiplied. Can be sent by casting.

또한, 상기 다른 로컬 서버들로 전송되는 데이터는 UDP(User datagram protocol)에 의해 전송될 수 있다.In addition, data transmitted to the other local servers may be transmitted by a user datagram protocol (UDP).

또한, 상기 중계 서버로 결정된 로컬 서버가 로컬 네트워크를 통해 중계 서버 존재 메시지가 포함된 제1 제어 메시지를 전송하는 단계 이후, 상기 중계 서버로 결정된 로컬 서버 이외의 다른 로컬 서버가 상기 중계 서버로 결정된 로컬 서버로부터 수신되는 데이터의 오류 여부를 검증하고 오류가 있는 경우 상기 중계 서버로 결정된 로컬 서버로 데이터의 재전송을 요청하고 이에 상응하여 중계 서버로부터 재전송 데이터를 수신할 수 있다.Further, after the local server determined as the relay server transmits the first control message including the relay server existence message through the local network, a local server other than the local server determined as the relay server is determined as the relay server. It is possible to verify whether the data received from the server is an error, and if there is an error, request retransmission of the data to the local server determined as the relay server, and receive retransmission data from the relay server accordingly.

또한, 상기 중계 서버로부터 전송되는 재전송 데이터는 TCP(Transmission control protocol)에 의해 전송될 수 있다.In addition, retransmission data transmitted from the relay server may be transmitted by a transmission control protocol (TCP).

또한, 상기 제1 제어 메시지 및 제2 제어 메시지는 멀티캐스팅에 의해 로컬 네트워크를 통해 전송될 수 있다.In addition, the first control message and the second control message may be transmitted through the local network by multicasting.

본 발명의 또 다른 측면에 의하면, 외부 서버와 직접 연결되어 외부 서버로부터 데이터를 송수신하는 제1 로컬 서버와, 상기 제1 로컬 서버와 로컬 네트워크를 통해 연결된 적어도 하나 이상의 다른 로컬 서버들로 구성된 데이터 송수신 시스템에 있어서, 상기 제1 로컬 서버는, 외부 서버로부터 전송되는 데이터를 수신하는 데이터 수신부; 상기 외부 서버로부터 수신한 데이터를 상기 적어도 하나 이상의 다른 로컬 서버들로 로컬 네트워크를 통해 전송하는 로컬 데이터 전송부; 및 외부 서버와 직접 연결되어 데이터를 수신하고 있다는 것을 알리는 제1 제어 메시지를 로컬 네트워크를 통해 상기 적어도 하나 이상의 다른 로컬 서버들로 전송하는 제어 메시지 전송부를 포함하고, 상기 적어도 하나 이상의 다른 로컬 서버들은, 상 기 제1 로컬 서버로부터 전송되는 로컬 데이터를 수신하는 로컬 데이터 수신부; 자신이 로컬 서버 중 어느 하나에 접속하여 데이터를 수신하고 있음을 알리는 제2 제어 메시지를 전송하는 제어 메시지 전송부; 및 상기 제1 제어 메시지와 상기 제2 제어 메시지를 수신하는 제어 메시지 수신부를 포함하는 것을 특징으로 하는 데이터 송수신 시스템을 제공할 수 있다.According to another aspect of the invention, the first local server directly connected to the external server to transmit and receive data from the external server, and the data transmission and reception consisting of at least one or more other local servers connected via the local network with the first local server In the system, the first local server, Data receiving unit for receiving data transmitted from an external server; A local data transmitter configured to transmit data received from the external server to the at least one or more other local servers through a local network; And a control message transmitter configured to directly transmit a first control message to the at least one other local servers through a local network to notify that the data is directly connected to an external server. The at least one other local servers may include: A local data receiver configured to receive local data transmitted from the first local server; A control message transmitter for transmitting a second control message indicating that the user is connected to any one of the local servers to receive data; And a control message receiver configured to receive the first control message and the second control message.

여기에서, 상기 적어도 하나 이상의 다른 모든 로컬 서버들의 상기 제어 메시지 수신부가 소정 주기 내에 상기 제1 로컬 서버로부터 전송되는 제1 제어 메시지를 수신하지 못하는 경우 상기 적어도 하나 이상의 다른 로컬 서버들 중 어느 하나를 상기 외부 서버와 직접 연결할 중계 서버로 결정하는 중계 서버 결정부를 더 포함하며, 상기 중계 서버 결정부에 의하여 중계 서버로 결정된 로컬 서버는 상기 외부 서버에 접속하여 데이터를 수신하고 수신한 데이터를 로컬 네트워크를 통해 연결되어 있는 다른 로컬 서버들로 전송하도록 구성할 수도 있다.Here, when the control message receiving unit of the at least one or more other local servers does not receive the first control message transmitted from the first local server within a predetermined period, the one of the at least one or more other local servers is detected. The server may further include a relay server determiner configured to directly connect to an external server, wherein the local server determined as a relay server by the relay server determiner may access the external server and receive data through the local network. It can also be configured to send to other connected local servers.

또한, 상기 제1 제어 메시지 및 제2 제어 메시지는 로컬 서버 자신의 IP 주소를 더 포함하며, 상기 중계 서버 결정부는 상기 제1 제어 메시지 및 제2 제어 메시지에 포함된 상기 로컬 서버들의 IP 주소에 의거하여 중계 서버를 결정할 수 있다.The first control message and the second control message may further include an IP address of a local server, and the relay server determiner may be based on the IP addresses of the local servers included in the first control message and the second control message. To determine the relay server.

또한, 상기 중계 서버 결정부는 상기 로컬 서버들의 IP 주소 중 가장 큰 IP 주소를 갖는 로컬 서버를 중계 서버로 결정할 수 있다.The relay server determiner may determine a local server having the largest IP address among the IP addresses of the local servers as the relay server.

또한, 상기 중계 서버 결정부에 의해 중계 서버로 결정된 로컬 서버의 제어 메시지 전송부는 자신이 로컬 서버 중 어느 하나에 접속하여 데이터를 수신하고 있 음을 알리는 제2 제어 메시지를 전송하는 대신 외부 서버와 직접 연결되어 데이터를 수신하고 있다는 것을 알리는 제1 제어 메시지를 로컬 네트워크를 통해 상기 적어도 하나 이상의 다른 로컬 서버들로 전송할 수 있다.In addition, the control message transmitter of the local server determined as the relay server by the relay server determiner directly transmits the second control message to the external server instead of transmitting the second control message indicating that the controller is connected to any one of the local servers to receive data. A first control message may be transmitted to the at least one or more other local servers via a local network informing that the device is connected and receiving data.

이하, 첨부 도면을 참조하여 본 발명에 의한 실시예를 상세하게 설명한다,Hereinafter, with reference to the accompanying drawings will be described embodiments of the present invention;

도 2는 본 발명에 의한 데이터 전송 방법의 원리를 설명하기 위해 로컬 네트워크를 통해 서로 연결되어 있는 로컬 서버와 외부 서버의 관계를 설명하기 위한 도면이다.2 is a view for explaining the relationship between a local server and an external server connected to each other via a local network in order to explain the principle of a data transmission method according to the present invention.

도 2를 참조하면, 외부 서버(100)는 원시 데이터를 보유하고 있는 서버이며, 로컬 서버(200,300,400,500)들은 동일한 로컬 네트워크(local network, LAN)에 포함되어 있는 서버로서, 외부 서버(100)로부터 원시 데이터를 수신하도록 되어 있다. 여기에서, 로컬 서버(200,300,400,500) 중 어느 하나의 로컬 서버(200)만이 외부 서버(100)와 직접 연결되어 외부 서버(100)로부터 원시 데이터를 수신하고, 다른 로컬 서버들(300,400,500)은 상기 로컬 서버(200)와 연결되어 이 로컬 서버(200)를 통해 외부 서버(100)로부터 전송되어 오는 데이터를 수신하도록 되어 있다. 바람직하게는, 로컬 서버(200)는 다른 로컬 서버(300,400,500)로 동시에 데이터를 전송할 수 있도록 UDP(User Datagram Protocol)에 따른 멀티캐스팅 방식에 의하여 데이터를 전송하고, 외부 서버(100)와 로컬 서버(200)간의 데이터 전송은 데이터 송수신 오류를 보다 확실하게 검증할 수 있도록 TCP(Transmission Control Protocol) 방식에 따라 데이터를 전송한다.Referring to FIG. 2, the external server 100 is a server holding raw data, and the local servers 200, 300, 400, and 500 are servers included in the same local network (LAN), and are raw from the external server 100. It is intended to receive data. Here, only one local server 200 of the local servers 200, 300, 400, and 500 is directly connected to the external server 100 to receive raw data from the external server 100, and other local servers 300, 400, 500 are connected to the local server. It is connected to the (200) is to receive the data transmitted from the external server 100 through the local server (200). Preferably, the local server 200 transmits data by a multicasting method according to the User Datagram Protocol (UDP) to simultaneously transmit data to other local servers 300, 400, and 500, and the external server 100 and the local server ( The data transmission between 200 transmits data according to the Transmission Control Protocol (TCP) method so as to more reliably verify data transmission / reception errors.

도 3은 도 2와 같은 연결 상태에서, 본 발명에 따른 데이터 전송 방법의 일실시예가 수행되는 과정을 설명하기 위한 흐름도이다.3 is a flowchart illustrating a process of performing an embodiment of a data transmission method according to the present invention in a connected state as shown in FIG. 2.

도 3을 참조하면, 우선 로컬 서버(200,300,400,500)들 중 어느 하나가 로컬 네트워크에 접속한 경우 우선 로컬 네트워크 상에 제1 제어 메시지가 존재하는지를 확인한다(S1000). 제1 제어 메시지라 함은, 외부 서버와 직접 연결되어 데이터를 수신하는 로컬 서버가 자신이 외부 서버와 직접 연결되어 데이터를 수신하고 있음을 알리기 위한 메시지를 의미하며, 이하 동일한 의미로 사용한다. 이러한 제1 제어 메시지가 존재하지 않는다는 것은 외부 서버와 직접 연결되어 데이터를 수신하는 로컬 서버가 없는 경우이거나 로컬 네트워크 상의 모든 로컬 서버가 고장인 경우이므로 로컬 네트워크에 새로 접속한 로컬 서버가 자신이 외부 서버와 직접 연결하여 데이터를 수신하는 로컬 서버(이러한 역할을 수행하는 로컬 서버를 이하에서는 중계 서버라 한다)가 된다. Referring to FIG. 3, first, when any one of the local servers 200, 300, 400, and 500 accesses a local network, first, it is checked whether a first control message exists on the local network (S1000). The first control message means a message for notifying that the local server directly connected to the external server and receiving data is notified that the local server is directly connected to the external server and receiving data. The absence of such a first control message means that there is no local server that is directly connected to the external server and receives data, or that all local servers on the local network are broken. It is a local server that directly connects to and receives data (a local server that performs this role is referred to as a relay server hereinafter).

이와 같이, 로컬 서버가 중계 서버로 동작하는 경우를 중계 서버 모드라고 하며, 중계 서버인 로컬 서버는 외부 서버와 직접 연결되고(S200) 로컬 네트워크를 통해 자신이 중계 서버로서의 역할을 수행하고 있다는 것을 알리는 제1 제어 메시지를 전송한다(S210). 여기에서, 제1 제어 메시지는 로컬 네트워크에 포함된 다른 모든 로컬 서버들로 동시에 데이터를 전송할 수 있도록 UDP에 따른 멀티캐스팅 방식에 의하여 전송될 수 있다.As described above, the case in which the local server operates as a relay server is called a relay server mode. The local server, which is a relay server, is directly connected to an external server (S200) and informs that it is performing a role as a relay server through a local network. The first control message is transmitted (S210). Here, the first control message may be transmitted by a multicasting scheme according to UDP to simultaneously transmit data to all other local servers included in the local network.

다음으로, 외부 서버로부터 데이터를 수신하고(S220) 수신한 데이터를 로컬 네트워크 상에 연결되어 있는 다른 로컬 서버들로 전송(S230)하는 과정을 반복한다. 이 때, 앞서 설명한 바와 같이, 중계 서버는 외부 서버와 TCP에 의해 데이터를 수신하고, 중계 서버는 다른 로컬 서버들에게 UDP에 따른 멀티캐스팅(multicasting) 방식으로 데이터를 동시에 전송하는 것이 바람직하다.Next, the process of receiving data from an external server (S220) and transmitting the received data to other local servers connected on the local network (S230) is repeated. At this time, as described above, it is preferable that the relay server receives data by the external server and TCP, and the relay server simultaneously transmits data to other local servers in a multicasting manner according to UDP.

한편, 상기 단계(S100)에서, 제1 제어 메시지가 존재하는 경우 즉, 로컬 네트워크 상에 이미 중계 서버로서의 역할을 수행하는 다른 로컬 서버가 존재하는 경우, 로컬 네트워크에 접속한 로컬 서버는 이미 존재하는 중계 서버에 접속한다(S300). 이 때, 중계 서버에 접속한 로컬 서버는 자신이 중계 서버가 아님을 알리는 메시지 즉, 자신이 중계 서버로부터 데이터를 수신하는 역할만을 수행하고 있음을 알리는 제2 제어 메시지를 로컬 네트워크를 통해 다른 로컬 서버들로 전송한다(S310). 다음으로, 중계 서버에 접속한 로컬 서버는 중계 서버로부터 데이터를 수신(S320)하게 된다. On the other hand, in the step (S100), if the first control message exists, that is, if there is already another local server acting as a relay server on the local network, the local server connected to the local network already exists The relay server is connected (S300). At this time, the local server connected to the relay server receives a message indicating that it is not a relay server, that is, a second control message indicating that it is only receiving data from the relay server through another local server. Are transmitted to the network (S310). Next, the local server connected to the relay server receives data from the relay server (S320).

한편, 상기 단계(S100)에서 제1 제어 메시지가 존재하는 경우 로컬 서버는 중계 서버에 접속하는 동시에(S300), 소정 주기마다 로컬 네트워크를 통해 제1 제어 메시지가 수신되는지 여부를 계속 확인한다(S330). 이는 중계 서버가 고장없이 제대로 역할을 수행하는가를 판단하기 위한 것이다. 소정 주기마다 제1 제어 메시지가 수신된다면, 중계 서버가 고장없이 제대로 작동된다는 것이므로 특별한 과정 수행 없이 계속 소정 주기마다 제1 제어 메시지 존재 여부를 확인한다. Meanwhile, when the first control message exists in step S100, the local server accesses the relay server at step S300 and continuously checks whether the first control message is received via the local network at predetermined intervals in step S330. ). This is to determine whether the relay server performs a proper role without failure. If the first control message is received every predetermined period, the relay server operates properly without failure. Therefore, the first control message is continuously checked every predetermined period without performing a special process.

만약, 소정 주기마다 제1 제어 메시지가 수신되지 않는다면 중계 서버에 고장이 발생한 경우이므로, 자신이 중계 서버의 역할을 수행할 것인지를 결정한다(S340).If the first control message is not received every predetermined period, since a failure has occurred in the relay server, it is determined whether it is to perform the role of the relay server (S340).

이 때, 로컬 네트워크에 연결된 복수개의 로컬 서버 중에서 어느 로컬 서버가 중계 서버로서의 역할을 수행할 것인가를 결정하기 위하여, 제어 메시지를 사용할 수 있다. 앞서 설명한 바와 같은 제1 제어 메시지 또는 제2 제어 메시지에 부가하여 로컬 서버 자신의 정보를 포함시키도록 구성하고, 이들 제어 메시지에 포함된 로컬 서버들의 정보에 의해 중계 서버로서의 역할을 수행할 로컬 서버를 결정할 수 있다. In this case, a control message may be used to determine which local server among the plurality of local servers connected to the local network will function as a relay server. In addition to the first control message or the second control message as described above, it is configured to include the local server's own information, and the local server to act as a relay server based on the information of the local servers included in these control messages. You can decide.

도 4는 이러한 제어 메시지의 구성의 일예를 나타낸 것이다. 도 4에 나타낸 바와 같이, 제1 제어 메시지 또는 제2 제어 메시지에 로컬 서버 자신의 IP 주소, CPU 사용량, 메모리 사용량, 네트워크 사용량, 시스템 가동 시간 등의 정보를 포함하도록 하고, 이들 중 어느 하나 또는 이들의 조합에 의해 또는 가중치를 부여하는 방식등에 의해 중계 서버를 결정할 수 있다. 도 4와 같이 제1 제어 메시지 및 제2 제어 메시지를 구성하는 경우, 제1 제어 메시지와 제2 제어 메시지의 구별은 서버유형 필드에 의해 가능하다. 즉, 외부 서버와 연결되는 중계 서버인 경우와 중계 서버와 연결되어 데이터를 단순히 수신하는 로컬 서버를 구별하여 서버 유형 필드와 같이 구성함으로써 제1 제어 메시지와 제2 제어 메시지를 구별할 수 있다.4 shows an example of the configuration of such a control message. As shown in FIG. 4, the first control message or the second control message includes information such as the local server's own IP address, CPU usage, memory usage, network usage, system uptime, and the like, or any one of them. The relay server may be determined by a combination of or by a weighting scheme. When configuring the first control message and the second control message as shown in FIG. 4, the distinction between the first control message and the second control message can be made by the server type field. That is, the first control message and the second control message can be distinguished from each other in the case of a relay server connected to an external server and a local server connected to the relay server and simply configured to receive data.

한편, IP 주소에 의해 중계 서버를 결정하는 것은 여러 가지 방식을 사용할 수 있으나, 중계 서버의 대치는 빠른 시간 내에 이루어지는 것이 바람직하므로 단순한 알고리듬을 사용하는 것이 바람직할 수 있다. 이를 위하여, 예컨대, IP 주소가 가장 큰 로컬 서버 또는 IP 주소가 가장 작은 로컬 서버 등을 중계 서버로 선택하도록 할 수 있다. On the other hand, the determination of the relay server by the IP address can be used in various ways, it is preferable that the replacement of the relay server is made in a short time, it is preferable to use a simple algorithm. To this end, for example, a local server having the largest IP address or a local server having the smallest IP address may be selected as the relay server.

또한, CPU 사용량, 메모리 사용량, 네트워크 사용량 등은 각각의 사용량이 적은 로컬 서버를 중계 서버로 결정하도록 구성할 수 있으며, 시스템 가동시간의 경우에는 시스템 가동시간이 가장 최근인 로컬 서버를 중계 서버로 선택하도록 구성할 수도 있다.In addition, CPU usage, memory usage, and network usage can be configured to determine local servers with low usage as relay servers. In the case of system uptime, select the local server with the most recent system uptime as the relay server. It can also be configured to.

이와 같은 방식에 의하여 중계 서버로서의 역할을 수행할 것인지를 각각의 로컬 서버가 판단하여 자신이 중계 서버의 역할을 수행해야 하는 것으로 결정되면, 앞서 설명한 바와 같이 중계 서버 모드로 변환되어 단계(S200) 내지 단계(S230)을 수행하게 된다. In this way, if it is determined that each local server determines whether to act as a relay server by itself, it is determined that it should play the role of a relay server. Step S230 is performed.

한편, 중계 서버가 로컬 서버로 데이터를 전송하는 경우, 로컬 서버에서 데이터가 제대로 수신되었는지를 검증하기 위하여, 도 5에 나타낸 바와 같이, 중계 서버에서 로컬 서버로 전송되는 데이터를 패킷화하여 각 패킷의 헤더부에 각 패킷의 순서, 패킷의 크기 등을 나타내는 정보를 포함하도록 할 수 있다. 물론, 이러한 데이터 패킷은 외부 서버에서 구성되어 중계 서버로 전송되도록 하고 중계 서버는 이를 그대로 로컬 서버들로 전송하도록 구성할 수도 있다. 도 3에서는 명확히 나타내지는 않았지만, 로컬 서버에서 패킷화된 데이터를 확인하여 데이터가 제대로 수 신되지 않은 경우에는 중계 서버로 해당 데이터 패킷을 재전송하도록 요청하고, 중계 서버는 요청된 데이터를 재전송하도록 구성할 수도 있다. 이 때, 재전송되는 데이터는 확실한 데이터 전송을 위해 TCP에 의해 이루어지도록 하는 것이 바람직하다.On the other hand, when the relay server transmits data to the local server, in order to verify whether the data is properly received at the local server, as shown in FIG. 5, the data transmitted from the relay server to the local server is packetized to display each packet. The header portion may include information indicating the order of each packet, the size of the packet, and the like. Of course, such a data packet may be configured to be transmitted from the external server to the relay server, and the relay server may be configured to transmit the same to the local servers. Although not clearly shown in FIG. 3, the localized server checks the packetized data, and if the data is not properly received, requests to retransmit the data packet to the relay server, and the relay server may be configured to retransmit the requested data. It may be. At this time, it is desirable that the retransmitted data is made by TCP for reliable data transmission.

도 6은 앞서 살펴 본 바와 같은 본 발명에 따른 데이터 전송 방법의 일실시예를 구현하기 위한 중계 서버 및 로컬 서버의 내부 구성을 나타낸 블록도이다.6 is a block diagram showing the internal configuration of a relay server and a local server for implementing an embodiment of a data transmission method according to the present invention as described above.

도 6에 나타낸 바와 같이, 중계 서버는 외부 서버 데이터 수신부, 로컬 데이터 전송부 및 제어 메시지 전송부를 포함할 수 있다. 외부 서버 데이터 수신부는 외부 서버와 직접 연결되어 데이터를 외부 서버로부터 수신하며, 수신된 데이터는 로컬 데이터 전송부를 통해 로컬 네트워크를 통해 연결된 다른 로컬 서버들로 UDP에 따른 멀티캐스팅 방식으로 데이터를 전송한다. 제어 메시지 전송부는 앞서 설명한 바와 같이 외부 서버와 직접 연결되어 중계 서버로서의 역할을 수행한다는 것을 알리는 제1 제어 메시지를 로컬 네트워크를 통해 다른 로컬 서버들로 전송하는 역할을 수행한다. As illustrated in FIG. 6, the relay server may include an external server data receiver, a local data transmitter, and a control message transmitter. The external server data receiver is directly connected to the external server to receive data from the external server, and the received data is transmitted to the other local servers connected through the local network through the local data transmitter in a multicasting manner according to UDP. As described above, the control message transmitter transmits the first control message to the other local servers through the local network, informing that the control message transmitter is directly connected to the external server and serves as a relay server.

한편, 로컬 서버들은 로컬 데이터 수신부, 제어 메시지 수신부, 제어 메시지 전송부 및 중계 서버 결정부를 포함할 수 있다. 로컬 데이터 수신부는 중계 서버로부터 전송되는 로컬 데이터를 수신하며, 제어 메시지 수신부는 로컬 네트워크를 통해 전송되는 제1 제어 메시지 또는 제2 제어 메시지를 수신한다. 제2 제어 메시지는 로컬 서버가 자신이 로컬 서버임을 알리기 위한 메시지임은 앞서 설명한 바와 같다. 중계 서버 결정부는 중계 서버에 고장이 발생한 경우 새로운 중계 서버를 결정하기 위한 것으로서 도 3에서 설명한 바와 같은 방식에 따라 중계 서버를 결정한다.The local servers may include a local data receiver, a control message receiver, a control message transmitter, and a relay server determiner. The local data receiver receives local data transmitted from the relay server, and the control message receiver receives the first control message or the second control message transmitted through the local network. The second control message is a message for notifying that the local server is the local server as described above. The relay server determining unit determines the relay server according to the method described with reference to FIG. 3 to determine a new relay server when a failure occurs in the relay server.

한편, 도 6에 명시적으로 나타내지는 않았지만, 로컬 서버와 중계 서버는 오류 데이터가 존재하는 경우 즉 로컬 서버에서 제대로 데이터가 수신되지 않은 경우에 미수신된 데이터를 중계 서버로 재전송 요청하고 수신하기 위한 구성을 더 포함할 수 있다. 이러한 동작은 앞서 도 3 및 도 5에서 살펴 본 바와 같은 방식에 따라 수행될 수 있다. Although not explicitly illustrated in FIG. 6, the local server and the relay server are configured to request and receive unreceived data to the relay server when error data exists, that is, when data is not properly received from the local server. It may further include. This operation may be performed according to the method as described above with reference to FIGS. 3 and 5.

도 6에서는 중계 서버와 로컬 서버는 그 기능 및 역할을 설명하기 위하여 별개의 구성을 포함하는 것으로 설명하였으나 실제 물리적으로는 동일한 구성일 수 있으며 중계 서버인지 또는 로컬 서버인지 그 기능에 따라 각각의 구성을 포함하는 것으로 해석해야 할 것이다. In FIG. 6, the relay server and the local server are described as including separate configurations to describe their functions and roles. However, the relay server and the local server may be the same physical configuration. It should be interpreted as including.

이상에서, 본 발명의 바람직한 실시예를 참조하여 본 발명의 구성을 설명하였으나 본 발명은 상기 실시예들에 한정되는 것이 아니며, 첨부된 특허청구범위 및 도면 등을 참조하여 본 발명의 범위 내에서 여러 가지 변형 및 수정 실시예가 가능할 수 있음은 당업자에게는 자명한 일이라는 것을 유의해야 한다.In the above, the configuration of the present invention has been described with reference to the preferred embodiment of the present invention, but the present invention is not limited to the above embodiments, and various embodiments within the scope of the present invention with reference to the appended claims and drawings, and the like. It should be noted that it will be apparent to one skilled in the art that several variations and modifications may be possible.

본 발명에 의하면, 로컬 네트워크를 통해 서로 연결되어 있는 로컬 서버들 중 어느 하나만을 외부 서버와 연결시켜 외부 서버로부터 데이터를 수신하도록 하고, 수신된 데이터는 로컬 네트워크를 통해 다른 로컬 서버들로 전송하도록 함으로써, 네트워크 대역폭을 현저하게 감소시키고 실시간 대용량 데이터를 처리하기 위한 서버와 네트워크의 유지 및 관리 비용을 대폭 절감할 수 있도록 하는 효율적인 데이터 전송 방법 및 시스템을 제공할 수 있다.According to the present invention, by connecting any one of the local server that is connected to each other via the local network to the external server to receive data from the external server, by transmitting the received data to other local servers through the local network In addition, the present invention can provide an efficient data transmission method and system that can significantly reduce the network bandwidth and significantly reduce the maintenance and management cost of the server and network for processing real-time large data.

또한, 본 발명에 의하면, 외부 서버와 연결된 로컬 서버에 고장이 발생한 경우에도 이 로컬 서버와 로컬 네트워크를 통해 연결되어 있는 다른 로컬 서버 중의 어느 하나가 고장이 발생한 로컬 서버의 역할을 대신하도록 함으로써 외부 서버와의 연결 및 로컬 네트워크를 통한 로컬 서버와의 데이터 전송을 신뢰성있게 유지할 수 있도록 하는 데이터 전송 방법 및 시스템을 제공할 수 있다.In addition, according to the present invention, even when a local server connected to an external server has failed, any one of the local server and another local server connected through the local network takes the role of the failed local server. It is possible to provide a data transmission method and system for reliably maintaining a connection with a local server and a data transmission with a local server through a local network.

Claims (17)

로컬 네트워크를 통해 서로 연결되는 복수개의 로컬 서버 중 어느 하나를 통해 외부 서버와 데이터를 송수신하는 방법에 있어서,In the method for transmitting and receiving data with an external server through any one of a plurality of local servers connected to each other via a local network, 로컬 네트워크에 제1 로컬 서버가 접속한 경우 상기 로컬 네트워크에 접속되어 있는 다른 로컬 서버가 존재하지 않는 경우 또는 상기 로컬 네트워크에 접속되어 있는 다른 모든 로컬 서버로부터 외부 서버와 직접 연결되어 데이터를 수신하고 있다는 것을 알리는 제1 제어 메시지가 수신되지 않는 경우, 상기 제1 로컬 서버가 외부 서버와 직접 접속하여 데이터를 수신하는 동시에 상기 로컬 네트워크를 통해 자신이 외부 서버와 직접 연결되어 데이터를 수신하고 있다는 것을 알리는 제1 제어 메시지를 전송하고,When the first local server is connected to the local network, there is no other local server connected to the local network, or it is directly connected to the external server and receiving data from all other local servers connected to the local network. If the first control message indicating that the first local server is not received, the first local server is directly connected to the external server to receive data, and the first local server is directly connected to the external server via the local network to receive the data. 1 send a control message, 로컬 네트워크에 제1 로컬 서버가 접속한 경우 상기 로컬 네트워크에 접속되어 있는 다른 로컬 서버 중 어느 하나인 제2 로컬 서버로부터 자신이 외부 서버와 직접 연결되어 데이터를 수신하고 있다는 것을 알리는 제1 제어 메시지를 수신한 경우, 상기 제2 로컬 서버에 접속하여 상기 제2 로컬 서버로부터 데이터를 수신하는 동시에 상기 로컬 네트워크를 통해 자신이 로컬 서버 중 어느 하나에 접속하여 데이터를 수신하고 있음을 알리는 제2 제어 메시지를 전송하는 것When the first local server is connected to the local network, a first control message indicating that the user is directly connected to an external server and receiving data from a second local server, which is one of the other local servers connected to the local network, is received. When received, a second control message indicating that the user is connected to the second local server to receive data from the second local server and that the user is connected to any one of the local servers through the local network to receive data. To transmit 을 특징으로 하는 데이터 송수신 방법.Data transmission and reception method characterized in that. 제1항에 있어서,The method of claim 1, 상기 제1 제어 메시지와 상기 제2 제어 메시지는 각각 소정 주기로 발생하는 것을 특징으로 하는 데이터 송수신 방법.And the first control message and the second control message occur at predetermined intervals, respectively. 제1항에 있어서,The method of claim 1, 상기 제2 로컬 서버로부터 제1 로컬 서버로 전송되는 데이터는 멀티캐스팅에 의해 전송되는 것을 특징으로 하는 데이터 송수신 방법.And data transmitted from the second local server to the first local server are transmitted by multicasting. 로컬 네트워크를 통해 연결되어 있는 적어도 하나 이상의 로컬 서버들 중 어느 하나인 제1 서버가 외부 서버가 연결되어 외부 서버로부터 데이터를 수신하고 상기 수신한 데이터를 로컬 네트워크를 통해 연결되어 있는 적어도 하나 이상의 다른 로컬 서버로 데이터를 전송하는 방법에 있어서,At least one other local server in which a first server, which is one of at least one local server connected through a local network, is connected to an external server to receive data from the external server, and the received data is connected through a local network. In the method of transmitting data to the server, 상기 적어도 하나 이상의 다른 로컬 서버들이 상기 제1 서버로부터 로컬 네트워크를 통해 자신이 외부 서버와 직접 연결되어 데이터를 수신하고 있다는 것을 알리는 제1 제어 메시지가 소정 주기 내에 수신되지 않는 경우, 상기 적어도 하나 이상의 다른 로컬 서버들 중 어느 하나를 상기 외부 서버와 직접 연결할 중계 서버로 결정하는 단계-여기서, 상기 적어도 하나 이상의 다른 로컬 서버들은 자신이 상기 제1 서버에 접속하여 데이터를 수신하고 있음을 알리는 제2 제어 메시지를 소정 주기 마다 상기 로컬 네트워크를 통해 전송함-;The at least one other one or more other if the first control message is not received within a predetermined period indicating that the at least one other local servers are receiving data from the first server via a local Determining any one of the local servers as a relay server to connect directly with the external server, wherein the at least one other local servers are informed that they are connecting to the first server and receiving data Send over the local network every predetermined period; 상기 중계 서버로 결정된 로컬 서버가 상기 외부 서버에 접속하여 데이터를 수신하고 수신한 데이터를 로컬 네트워크를 통해 연결되어 있는 다른 로컬 서버들로 전송하는 단계; 및Accessing the external server by the local server determined as the relay server, receiving data, and transmitting the received data to other local servers connected through a local network; And 상기 중계 서버로 결정된 로컬 서버가 로컬 네트워크를 통해 자신이 외부 서버와 직접 연결되어 데이터를 수신하고 있다는 것을 알리는 제1 제어 메시지를 전송하는 단계Transmitting, by the local server determined as the relay server, a first control message indicating that the local server is directly connected to an external server and receiving data through a local network; 를 포함하는 데이터 전송 방법.Data transmission method comprising a. 제4항에 있어서,The method of claim 4, wherein 상기 제1 제어 메시지 및 제2 제어 메시지는 로컬 서버 자신의 IP 주소를 더 포함하며, 상기 적어도 하나 이상의 다른 로컬 서버들 중 어느 하나를 상기 외부 서버와 직접 연결할 중계 서버로 결정하는 단계는 상기 제1 제어 메시지 및 제2 제어 메시지에 포함된 로컬 서버들의 IP 주소에 의거하여 중계 서버를 결정하는 것을 특징으로 하는 데이터 전송 방법.The first control message and the second control message further includes an IP address of a local server itself, and determining one of the at least one or more other local servers as the relay server to directly connect with the external server. And determining the relay server based on the IP addresses of the local servers included in the control message and the second control message. 제5항에 있어서,The method of claim 5, 상기 적어도 하나 이상의 다른 로컬 서버들 중 어느 하나를 상기 외부 서버 와 직접 연결할 중계 서버로 결정하는 단계는 상기 로컬 서버들의 IP 주소 중 가장 큰 IP 주소를 갖는 로컬 서버를 중계 서버로 결정하는 것을 특징으로 하는 데이터 전송 방법.The determining of any one of the at least one other local server as a relay server to directly connect with the external server may include determining a local server having a largest IP address among IP addresses of the local servers as a relay server. Data transfer method. 제4항에 있어서,The method of claim 4, wherein 상기 제1 제어 메시지 및 제2 제어 메시지는 로컬 서버 자신의 중앙 처리 장치의 사용량, 메모리 사용량, 네트워크 사용량 및 서버 가동 시간에 대한 데이터를 적어도 어느 하나 이상 더 포함하며, 상기 적어도 하나 이상의 다른 로컬 서버들 중 어느 하나를 상기 외부 서버와 직접 연결할 중계 서버로 결정하는 단계는 상기 데이터들 중 적어도 어느 하나 이상 또는 그 조합에 의거하여 중계 서버를 결정하는 것을 특징으로 하는 데이터 전송 방법.The first control message and the second control message further includes at least one or more data about the usage, memory usage, network usage and server uptime of the central processing unit of the local server itself, the at least one other local servers The determining of any one of the relay servers to be directly connected with the external server may include determining a relay server based on at least one or more of the data or a combination thereof. 제4항에 있어서,The method of claim 4, wherein 상기 중계 서버로 결정된 로컬 서버가 상기 외부 서버에 접속하여 데이터를 수신하고 수신한 데이터를 로컬 네트워크를 통해 다른 로컬 서버들로 전송하는 단계에 있어서, 상기 다른 로컬 서버들로 전송되는 데이터는 멀티캐스팅에 의해 전송되는 것을 특징으로 하는 데이터 전송 방법.In the step of the local server determined as the relay server to connect to the external server to receive data and to transmit the received data to other local servers via a local network, the data transmitted to the other local server is multicasting The data transmission method characterized in that the transmission. 제8항에 있어서,The method of claim 8, 상기 다른 로컬 서버들로 전송되는 데이터는 UDP(User datagram protocol)에 의해 전송되는 것을 특징으로 하는 데이터 전송 방법.Data transmitted to the other local server is characterized in that the data transmission by UDP (User datagram protocol). 제4항에 있어서,The method of claim 4, wherein 상기 중계 서버로 결정된 로컬 서버가 로컬 네트워크를 통해 중계 서버 존재 메시지가 포함된 제1 제어 메시지를 전송하는 단계 이후, After the local server determined as the relay server transmits a first control message including a relay server presence message through a local network, 상기 중계 서버로 결정된 로컬 서버 이외의 다른 로컬 서버가 상기 중계 서버로 결정된 로컬 서버로부터 수신되는 데이터의 오류 여부를 검증하고 오류가 있는 경우 상기 중계 서버로 결정된 로컬 서버로 데이터의 재전송을 요청하고 이에 상응하여 중계 서버로부터 재전송 데이터를 수신하는 것을 특징으로 하는 데이터 전송 방법.The local server other than the local server determined as the relay server verifies whether the data received from the local server determined as the relay server is an error, and if there is an error, requests retransmission of data to the local server determined as the relay server and corresponds thereto. Receiving retransmission data from the relay server. 제10항에 있어서,The method of claim 10, 상기 중계 서버로부터 전송되는 재전송 데이터는 TCP(Transmission control protocol)에 의해 전송되는 것을 특징으로 하는 데이터 전송 방법.The retransmission data transmitted from the relay server is transmitted by a transmission control protocol (TCP). 제4항에 있어서,The method of claim 4, wherein 상기 제1 제어 메시지 및 제2 제어 메시지는 멀티캐스팅에 의해 로컬 네트워크를 통해 전송되는 것을 특징으로 하는 데이터 전송 방법.And the first control message and the second control message are transmitted over a local network by multicasting. 외부 서버와 직접 연결되어 외부 서버로부터 데이터를 송수신하는 제1 로컬 서버와, 상기 제1 로컬 서버와 로컬 네트워크를 통해 연결된 적어도 하나 이상의 다른 로컬 서버들로 구성된 데이터 송수신 시스템에 있어서,A data transmission / reception system including a first local server directly connected to an external server to transmit and receive data from an external server, and at least one other local server connected to the first local server through a local network, 상기 제1 로컬 서버는, The first local server, 외부 서버로부터 전송되는 데이터를 수신하는 데이터 수신부; A data receiving unit receiving data transmitted from an external server; 상기 외부 서버로부터 수신한 데이터를 상기 적어도 하나 이상의 다른 로컬 서버들로 로컬 네트워크를 통해 전송하는 로컬 데이터 전송부; 및A local data transmitter configured to transmit data received from the external server to the at least one or more other local servers through a local network; And 외부 서버와 직접 연결되어 데이터를 수신하고 있다는 것을 알리는 제1 제어 메시지를 로컬 네트워크를 통해 상기 적어도 하나 이상의 다른 로컬 서버들로 전송하는 제어 메시지 전송부를 포함하고,A control message transmitter for directly connecting to an external server and transmitting a first control message to the at least one other local server through a local network to indicate that data is being received; 상기 적어도 하나 이상의 다른 로컬 서버들은,The at least one other local servers, 상기 제1 로컬 서버로부터 전송되는 로컬 데이터를 수신하는 로컬 데이터 수신부; A local data receiver configured to receive local data transmitted from the first local server; 자신이 로컬 서버 중 어느 하나에 접속하여 데이터를 수신하고 있음을 알리 는 제2 제어 메시지를 전송하는 제어 메시지 전송부; 및A control message transmitter for transmitting a second control message indicating that the user is connected to any of the local servers to receive data; And 상기 제1 제어 메시지와 상기 제2 제어 메시지를 수신하는 제어 메시지 수신부Control message receiving unit for receiving the first control message and the second control message 를 포함하는 것을 특징으로 하는 데이터 송수신 시스템.Data transmission and reception system comprising a. 제13항에 있어서,The method of claim 13, 상기 적어도 하나 이상의 다른 모든 로컬 서버들의 상기 제어 메시지 수신부가 소정 주기 내에 상기 제1 로컬 서버로부터 전송되는 제1 제어 메시지를 수신하지 못하는 경우 상기 적어도 하나 이상의 다른 로컬 서버들 중 어느 하나를 상기 외부 서버와 직접 연결할 중계 서버로 결정하는 중계 서버 결정부If the control message receiver of the at least one or more other local servers does not receive a first control message transmitted from the first local server within a predetermined period, any one of the at least one or more other local servers may be connected to the external server. Relay server decision unit to decide as a relay server to connect directly 를 더 포함하며,More, 상기 중계 서버 결정부에 의하여 중계 서버로 결정된 로컬 서버는 상기 외부 서버에 접속하여 데이터를 수신하고 수신한 데이터를 로컬 네트워크를 통해 연결되어 있는 다른 로컬 서버들로 전송하는 것을 특징으로 하는 데이터 송수신 시스템.And a local server determined as a relay server by the relay server determining unit, accesses the external server, receives data, and transmits the received data to other local servers connected through a local network. 제14항에 있어서,The method of claim 14, 상기 제1 제어 메시지 및 제2 제어 메시지는 로컬 서버 자신의 IP 주소를 더 포함하며, 상기 중계 서버 결정부는 상기 제1 제어 메시지 및 제2 제어 메시지에 포함된 상기 로컬 서버들의 IP 주소에 의거하여 중계 서버를 결정하는 것을 특징으로 하는 데이터 송수신 시스템.The first control message and the second control message further includes an IP address of a local server itself, and the relay server determining unit relays based on the IP addresses of the local servers included in the first control message and the second control message. Data transmission and reception system, characterized in that for determining the server. 제15항에 있어서,The method of claim 15, 상기 중계 서버 결정부는 상기 로컬 서버들의 IP 주소 중 가장 큰 IP 주소를 갖는 로컬 서버를 중계 서버로 결정하는 것을 특징으로 하는 데이터 송수신 시스템.The relay server determining unit determines a local server having the largest IP address among the IP addresses of the local servers as a relay server. 제14항에 있어서,The method of claim 14, 상기 중계 서버 결정부에 의해 중계 서버로 결정된 로컬 서버의 제어 메시지 전송부는 자신이 로컬 서버 중 어느 하나에 접속하여 데이터를 수신하고 있음을 알리는 제2 제어 메시지를 전송하는 대신 외부 서버와 직접 연결되어 데이터를 수신하고 있다는 것을 알리는 제1 제어 메시지를 로컬 네트워크를 통해 상기 적어도 하나 이상의 다른 로컬 서버들로 전송하는 것을 특징으로 하는 데이터 송수신 시스템.The control message transmitter of the local server determined as the relay server by the relay server determining unit is directly connected to an external server instead of transmitting a second control message indicating that the relay server is connected to one of the local servers to receive data. And transmitting a first control message to the at least one other local server via a local network to indicate that it is receiving.
KR1020060099637A 2006-10-13 2006-10-13 Method and system for data transmitting between local servers connected to each other via local network and outside server KR100844999B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060099637A KR100844999B1 (en) 2006-10-13 2006-10-13 Method and system for data transmitting between local servers connected to each other via local network and outside server

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060099637A KR100844999B1 (en) 2006-10-13 2006-10-13 Method and system for data transmitting between local servers connected to each other via local network and outside server

Publications (2)

Publication Number Publication Date
KR20080033678A true KR20080033678A (en) 2008-04-17
KR100844999B1 KR100844999B1 (en) 2008-07-08

Family

ID=39573535

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060099637A KR100844999B1 (en) 2006-10-13 2006-10-13 Method and system for data transmitting between local servers connected to each other via local network and outside server

Country Status (1)

Country Link
KR (1) KR100844999B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180102383A (en) * 2017-03-07 2018-09-17 주식회사 엘지유플러스 LoRa SERVER AND METHOD FOR NETWORK COMMUNICATION RECOVERY THEREOF
KR20190116963A (en) * 2019-10-04 2019-10-15 주식회사 엘지유플러스 LoRa SERVER AND METHOD FOR NETWORK COMMUNICATION RECOVERY THEREOF

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100298778B1 (en) * 1999-05-20 2001-09-22 이계안 Shifting control method for automatic transmission of vehicle
KR100685592B1 (en) * 2000-12-18 2007-02-22 주식회사 하이닉스반도체 Method for forming plug in semiconductor device

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180102383A (en) * 2017-03-07 2018-09-17 주식회사 엘지유플러스 LoRa SERVER AND METHOD FOR NETWORK COMMUNICATION RECOVERY THEREOF
KR20190116963A (en) * 2019-10-04 2019-10-15 주식회사 엘지유플러스 LoRa SERVER AND METHOD FOR NETWORK COMMUNICATION RECOVERY THEREOF

Also Published As

Publication number Publication date
KR100844999B1 (en) 2008-07-08

Similar Documents

Publication Publication Date Title
US8806007B2 (en) Inter-node communication scheme for node status sharing
Yi et al. A case for stateful forwarding plane
US7532577B2 (en) Managing transmission control protocol (TCP) connections
CN1633647B (en) System and method for managing data transfers in a network
US7929422B2 (en) Method of moving a transport connection among network hosts
KR101746629B1 (en) Communication apparatus and communication method
KR101455434B1 (en) Peer-to-peer collaboration system with edge routing
KR101169086B1 (en) Verifying and maintaining connection liveliness in a reliable messaging for web services environment
CN102404229B (en) System, device and method for load balancing
TW201014395A (en) Load management in wireless mesh communications networks
US9167031B2 (en) Distributed processing system and distributed processing method
US11307945B2 (en) Methods and apparatus for detecting, eliminating and/or mitigating split brain occurrences in high availability systems
US20170070383A1 (en) Reliable isp access cloud state detection method and apparatus
US7526556B2 (en) Method and apparatus for managing keepalive transmissions
US20080205406A1 (en) Recording medium having reception program recorded therein, recording medium having transmission program recorded therein, transmission/reception system and transmission/reception method
US20240022638A1 (en) Systems and methods for processing heartbeat packets in switching hardware
US10594584B2 (en) Network analysis and monitoring tool
KR100844999B1 (en) Method and system for data transmitting between local servers connected to each other via local network and outside server
JP4969421B2 (en) Receiving apparatus and communication system
WO2018138672A1 (en) Communication protocol packet retransmission
US20070286197A1 (en) Interoperable transport protocol for internetwork routing
CN103595629A (en) Rapid gateway switching method and device for hosts in IRDP (ICMP Router Discovery Protocol) network
JP2002077165A (en) Multiplexing network communication device
CN110912997B (en) Method and device for checking Loopback interface of triangular networking
JP2004342041A (en) Traffic-reducing device

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: 20130717

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140626

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20150619

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20160630

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20170703

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20180712

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20190710

Year of fee payment: 12