KR100915424B1 - Service processing system - Google Patents

Service processing system

Info

Publication number
KR100915424B1
KR100915424B1 KR1020060124703A KR20060124703A KR100915424B1 KR 100915424 B1 KR100915424 B1 KR 100915424B1 KR 1020060124703 A KR1020060124703 A KR 1020060124703A KR 20060124703 A KR20060124703 A KR 20060124703A KR 100915424 B1 KR100915424 B1 KR 100915424B1
Authority
KR
South Korea
Prior art keywords
server
transmission
client
packet
service request
Prior art date
Application number
KR1020060124703A
Other languages
Korean (ko)
Other versions
KR20080052924A (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 KR1020060124703A priority Critical patent/KR100915424B1/en
Publication of KR20080052924A publication Critical patent/KR20080052924A/en
Application granted granted Critical
Publication of KR100915424B1 publication Critical patent/KR100915424B1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/72Routing based on the source address
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/125Shortest path evaluation based on throughput or bandwidth

Abstract

본 발명은 클라이언트로부터의 데이터 수신은 수신 서버가 전담하고, 클라이언트로의 데이터 송신은 송신 서버가 전담하는 구성에 있어서, 클라이언트에 별도의 프로그램을 설치하는 번거로움 없이, 클라이언트로부터의 하나의 서비스 요청 패킷에 응답하여, 복수 개의 송신 서버가 함께 상기 서비스 요청 패킷에 대응한 응답 패킷을 상기 클라이언트에게 송신할 때, 시퀀스 번호를 처리하는 방법을 제공한다.According to the present invention, in the configuration in which the receiving server is dedicated to receiving data from the client, and the sending server is dedicated to data transmission from the client, one service request packet from the client without the hassle of installing a separate program on the client. In response, when a plurality of transmitting servers together transmit a response packet corresponding to the service request packet to the client, a method for processing a sequence number is provided.

Description

서비스 처리 시스템 {SERVICE PROCESSING SYSTEM}Service Processing System {SERVICE PROCESSING SYSTEM}

본 발명은 서비스 처리 시스템에 관한 것으로, 더욱 상세하게는 네트워크에서 서버에 집중되는 부하를 분산시켜 클라이언트로부터의 서비스 요청을 효율적으로 처리할 수 있도록 한 서비스 처리 시스템에 관한 것이다.The present invention relates to a service processing system, and more particularly, to a service processing system that can efficiently handle a service request from a client by distributing a load concentrated on a server in a network.

여러 대의 컴퓨터가 작업을 분담하여 처리하는 환경을 분산 처리 환경이라고 한다. 분산 처리 환경에서는 네트워크를 통해 서로 자원을 공유하거나 주고 받을 수 있다. 클라이언트와 서버로 구성된 네트워크에서는 사용자의 단말기가 클라이언트로, 호스트 컴퓨터가 서버로 구성된 통신 시스템이다. 즉, 서비스를 요청하는 클라이언트와 이에 대응하는 서비스를 제공하는 서버가 원격 접속을 통하여 데이터 통신이 가능한 구조를 의미한다. 클라이언트는 데이터의 집중이나 자원의 공유가 목적인 작업을 위하여 서버에 접속한다. 그러나, 인터넷을 기반으로 한 네트워크 환경이 날이 갈수록 복잡해지고 있다. 예를 들어, HTTP(hypertext transfer protocol)라는 하나의 서비스를 받기 위해 사용자 클라이언트들은 인터넷 어느 공간상의 실제 HTTP 서버에 접속하여 원하는 서비스를 받게 된다. 즉 서버가 인터넷이라는 네트워크 환경에 접속만 되어있다면 사용자들은 그것의 물리적인 위치나 주소는 문제가 되지 않고 서비스를 받을 수 있다. 그러나 서버의 입장에서는 사용자 클라이언트들의 입장보다 더 복잡한 문제를 갖는다. 서비스를 안정적으로 그리고 지속적으로 많은 사용자들에게 제공하기 위해서 서버가 서비스를 처리할 수 있는 능력이 커야만 한다. 더 많은 사용자에게 정확한 서비스를 하기 위해서는 더 강력한 성능의 서버로 업그레이드하는 대신에, 복수 개의 서버를 설치하고 클라이언트로부터의 서비스 요청을 상기 복수 개의 서버에 할당하는 스위치가 사용되고 있다. 그러나, 네트워크에서 처리해야 하는 트래픽이 급증하게 되면서, 모든 패킷의 헤더를 처리해야만 하는 스위치에서 정체 현상이 빈번하게 발생하기 시작했다. 스위치에서 정체가 발생하면, 스위치는 수신된 패킷을 처리하지 못하고 이는 다시 클라이언트의 재전송을 초래하여 상황이 더욱 악화되기도 한다. An environment where multiple computers share work and is called a distributed processing environment. In a distributed processing environment, resources can be shared or exchanged with each other over a network. In a network composed of a client and a server, a user's terminal is a client and a host computer is a server. That is, it means a structure in which data requesting is possible between a client requesting a service and a server providing a service corresponding thereto. The client connects to the server for tasks that are intended to concentrate data or share resources. However, the network environment based on the Internet is becoming more and more complicated. For example, in order to receive a service called HTTP (hypertext transfer protocol), user clients connect to a real HTTP server on a space in the Internet and receive a desired service. In other words, if the server is only connected to the network environment of the Internet, users can receive the service without regard to its physical location or address. However, from the server's point of view, the problem is more complicated than that of the user clients. In order to provide services reliably and continuously to many users, the server must have a large ability to process them. Instead of upgrading to more powerful servers to provide more accurate service to more users, switches are installed that install multiple servers and assign service requests from clients to the multiple servers. However, as the traffic that has to be handled in the network has soared, congestion has begun to occur frequently in switches that must handle the headers of all packets. If congestion occurs at the switch, the switch cannot process the received packet, which in turn causes a retransmission of the client, making the situation even worse.

이에 대한 해결 방안으로서 연결 분배 방식이 사용되었다. 연결 분배 방식은 4계층(Layer-4: L4) 스위치에 의한 서버 부하 분산 방법으로, 연결되어 있는 각각의 서버의 로드(load)를 분석하여 각각의 서버로 로드를 분산시키는 방식이다. L4 스위치에 의한 서버 부하 분산 방법은 DNS(domain name server)에 의존하지 않고 다수의 서버들을 하나의 가상 IP(Virtual IP: VIP) 주소로 묶어 사용자들에게는 VIP 만을 알려주고 IP 어드레스뿐 만 아니라, 4계층의 TCP/UDP 포트에서도 특정 서버에 장애가 발생하였을 경우에도 서버들간에 올바른 부하 분산이 가능하도록 한다.As a solution, a connection distribution scheme was used. The connection distribution method is a server load balancing method using a Layer-4 (L4) switch, and analyzes the load of each connected server and distributes the load to each server. The server load balancing method by the L4 switch does not rely on the domain name server (DNS) and binds multiple servers to one virtual IP (VIP) address to inform users of only VIP and not only IP address but also four layers. In the TCP / UDP port, even if a specific server fails, correct load balancing among the servers is possible.

그러나, 종래의 L4 스위치를 사용하는 연결 분배 방식은, L4 스위치가 모든 패킷(packet)을 수신하고 해당 패킷의 커넥션 튜플(connetion tuple)을 추출하여, 커넥션 튜플에 매핑 테이블(mapping table)이 존재하는 경우에 매핑 테이블에서 튜플에 맞는 서버를 추출하여 해당 서버로 패킷을 전달하게 된다. 따라서 모든 패킷이 L4 스위치를 거쳐가야 하므로 L4 스위치에 모든 부하가 집중되어 병목현상이 발생하는 단점이 있다. 또한, 클라이언트로부터 수신되는 사용자 요청 패킷뿐 아니라 복수 개의 서버에서 생성되어 클라이언트로 전달되는 응답 패킷들도 모두 L4 스위치를 통과하기 때문에, L4 스위치에 병목 현상이 발생된다.However, in the connection distribution scheme using the conventional L4 switch, the L4 switch receives all packets and extracts a connection tuple of the corresponding packet so that a mapping table exists in the connection tuple. In this case, the server that matches the tuple is extracted from the mapping table and the packet is delivered to the server. Therefore, since all packets must pass through the L4 switch, the bottleneck occurs because all loads are concentrated on the L4 switch. In addition, since not only the user request packet received from the client but also the response packets generated by the plurality of servers and delivered to the client pass through the L4 switch, a bottleneck occurs in the L4 switch.

따라서, 본 발명은 L4, L7 스위치와 같은 장치의 사용 없이도, 클라이언트로부터 수신한 서비스 요청에는 수신 서버가 대응하고 클라이언트로의 응답에는 송신 서버가 전담하도록 하고, 수신 서버는 이후의 데이터 송신에 관여하지 않도록 함으로써, 부하를 분산 시켜 병목 현상을 해소하고 효율적인 데이터 통신이 가능한 서비스 처리 시스템을 제안하고자 한다.Therefore, the present invention allows the receiving server to respond to a service request received from the client and to be dedicated to the sending server in response to the client even without the use of devices such as L4 and L7 switches, and the receiving server is not involved in subsequent data transmission. By distributing the load, we propose a service processing system that eliminates bottlenecks and enables efficient data communication.

본 발명은 상기와 같은 종래기술을 개선하기 위해 안출된 것으로서, L4, L7 스위치와 같은 부하 분산 장치의 사용 없이도 부하를 분산시켜 병목 현상을 해소하고 효율적인 데이터 통신이 가능한 서비스 처리 시스템을 제공하는 것을 목적으로 한다.The present invention has been made to improve the prior art as described above, it is an object of the present invention to provide a service processing system that can solve the bottleneck and efficient data communication by distributing the load without the use of load balancers such as L4, L7 switch It is done.

또한, 본 발명은 클라이언트로부터의 데이터 수신은 수신 서버가 전담하고, 클라이언트로의 데이터 송신은 송신 서버가 전담하는 구성을 통하여 특정한 지점에 병목 현상을 발생시키지 않는 분산 시스템을 제공하는 것을 목적으로 한다.In addition, an object of the present invention is to provide a distributed system in which data reception from a client is dedicated to a receiving server, and data transmission to a client is not bottlenecked at a specific point through a configuration dedicated to a transmitting server.

또한 본 발명은 클라이언트로부터의 데이터 수신은 수신 서버가 전담하고, 클라이언트로의 데이터 송신은 송신 서버가 전담하는 구성에 있어서, 클라이언트에 별도의 프로그램을 설치하는 번거로움 없이, 클라이언트로부터의 하나의 서비스 요청 패킷에 응답하여, 복수 개의 송신 서버가 함께 상기 서비스 요청 패킷에 대응한 응답 패킷을 상기 클라이언트에게 송신하더라도 클라이언트는 이를 하나의 서버로부터 송신된 응답 패킷들로 인식시킬 수 있는 방법 및 장치를 제공하는 것을 목적으로 한다.In the present invention, in the configuration in which the receiving server is dedicated to receiving data from the client, and the sending server is dedicated to receiving data from the client, one service request from the client is not required to install a separate program on the client. In response to the packet, even if a plurality of sending servers together send a response packet corresponding to the service request packet to the client, the client can provide a method and apparatus that can recognize it as response packets sent from one server. The purpose.

또한, 본 발명은 클라이언트로의 데이터 송신을 전담하는 복수 개의 송신 서버를 사용할 때, 상기 복수 개의 송신 서버들 각각에 의하여 송신되는 데이터의 양을 효율적으로 결정하여 데이터 전송 효율을 최대화하는 방법 및 장치를 제공하는 것을 목적으로 한다.The present invention also provides a method and apparatus for maximizing data transmission efficiency by efficiently determining the amount of data transmitted by each of the plurality of transmission servers when using a plurality of transmission servers dedicated to data transmission to a client. It aims to provide.

상기의 목적을 이루고 종래기술의 문제점을 해결하기 위하여, 본 발명의 일측에 따른 서비스 처리 시스템은 복수 개의 서버 및 수신 서버를 포함한다. 상기 수신 서버는 상기 복수 개의 서버와 물리적으로 구분되고, 상기 복수 개의 서버와 네트워크로 연결되고, 클라이언트로부터 서비스 요청 패킷을 수신하고 상기 서비스 요청 패킷에 대응한 제 1 정보를 생성하여 상기 복수 개의 서버로부터 선택된 복수 개의 송신 서버에게 상기 제 1 정보를 송신한다. 이때, 상기 복수 개의 송신 서버의 각각은 상기 제 1 정보에 따라, 상기 서비스 요청 패킷에 대응한 응답 패킷을 생성하여 상기 클라이언트로 전송한다.In order to achieve the above object and solve the problems of the prior art, the service processing system according to one aspect of the present invention includes a plurality of servers and receiving servers. The receiving server is physically separated from the plurality of servers, is connected to the network with the plurality of servers, receives a service request packet from a client, and generates first information corresponding to the service request packet from the plurality of servers. The first information is transmitted to a plurality of selected transmission servers. In this case, each of the plurality of transmission servers generates a response packet corresponding to the service request packet and transmits the response packet to the client according to the first information.

본 발명의 또 다른 일측에 따르면, 상기 제 1 정보는 상기 복수 개의 송신 서버의 각각이 상기 서비스 요청 패킷에 대응하여 생성할 응답 패킷에 관한 정보를 포함한다. 상기 서비스 요청 패킷에 대응하여 상기 복수 개의 송신 서버의 각각에 의하여 생성된 응답 패킷의 시퀀스 넘버는 서로 다르다. 상기 수신 서버는, 상기 복수 개의 송신 서버의 각각에 의하여 생성되는 상기 응답 패킷의 시퀀스 넘버에 관한 정보를 상기 제 1 정보에 포함하여 상기 복수 개의 송신 서버의 각각에 송신한다. 상기 수신 서버는, 상기 복수 개의 송신 서버의 각각에 의하여 생성되는 상기 응답 패킷의 수를 소정의 기준에 따라 결정한다. According to another aspect of the present invention, the first information includes information on a response packet that each of the plurality of transmitting servers will generate in response to the service request packet. The sequence numbers of response packets generated by each of the plurality of transmission servers corresponding to the service request packets are different. The receiving server transmits the information regarding the sequence number of the response packet generated by each of the plurality of transmission servers to each of the plurality of transmission servers, including the first information. The reception server determines the number of the response packets generated by each of the plurality of transmission servers according to a predetermined criterion.

본 발명의 또 다른 일측에 따르면, 상기 서비스 요청 패킷에 대한 상기 응답 패킷의 소스 주소는 상기 송신 서버 및 상기 수신 서버에 할당된 대표 네트워크 주소이고, 상기 대표 네트워크 주소를 목적지 주소로 하는 패킷은 상기 수신 서버에 수신된다. 상기 서비스 요청 패킷에 대응한 상기 제 1 정보는 상기 서비스 요청 패킷의 소스 네트워크 주소 및 상기 서비스 요청 패킷의 소스 포트 번호를 포함한다.According to yet another aspect of the present invention, the source address of the response packet to the service request packet is a representative network address assigned to the transmitting server and the receiving server, and the packet having the representative network address as a destination address is the received address. Is received by the server. The first information corresponding to the service request packet includes a source network address of the service request packet and a source port number of the service request packet.

본 발명의 또 다른 일측에 따르면, 상기 서비스 요청 패킷에 대응한 상기 제 1 정보는 상기 서비스 요청 패킷의 목적지 포트 번호를 포함한다. 상기 서비스 요청 패킷에 대한 상기 응답 패킷의 소스 포트 번호는 상기 제 1 정보에 포함된 상기 서비스 요청 패킷의 목적지 포트 번호이고, 상기 응답 패킷의 목적지 포트 번호는 상기 제 1 정보에 포함된 상기 서비스 요청 패킷의 소스 포트 번호이다.According to another aspect of the present invention, the first information corresponding to the service request packet includes a destination port number of the service request packet. The source port number of the response packet to the service request packet is a destination port number of the service request packet included in the first information, and the destination port number of the response packet is the service request packet included in the first information. Source port number for.

본 발명의 또 다른 일측에 따르면, 상기 수신 서버는, 상기 서비스 요청 패킷에 대한 응답 패킷을 생성하여 상기 클라이언트로 송신하지 않는다. 상기 송신 서버는, 상기 클라이언트로부터 상기 서비스 요청 패킷을 수신하지 않는다. 상기 수신 서버는 상기 복수 개의 서버의 유휴 대역폭을 측정하고, 상기 유휴 대역폭을 참조하여 상기 제 1 정보를 전달할 상기 복수 개의 송신 서버를 선택한다.According to another aspect of the present invention, the receiving server does not generate a response packet to the service request packet and transmit it to the client. The sending server does not receive the service request packet from the client. The receiving server measures idle bandwidths of the plurality of servers, and selects the plurality of transmitting servers to transmit the first information with reference to the idle bandwidth.

본 발명의 일측에 따른 수신 서버는, 물리적으로 구분되는 복수 개의 서버와 네트워크로 연결된 수신 서버에 있어서, 클라이언트로부터 서비스 요청 패킷을 수신하는 수신 모듈, 상기 서비스 요청 패킷에 대응한 제 1 정보를 생성하고, 상기 복수 개의 서버로부터 상기 제 1 정보를 송신할 복수 개의 송신 서버를 선택하고, 상기 서비스 요청 패킷에 대응하여 상기 복수 개의 송신 서버의 각각에 의하여 생성되는 응답 패킷의 수를 결정하는 제어부 및 상기 제 1 정보를 상기 복수 개의 송신 서버에게 송신하는 송신 모듈을 포함한다.Receiving server according to an aspect of the present invention, in a receiving server connected to a network and a plurality of physically separated servers, receiving module for receiving a service request packet from a client, generating the first information corresponding to the service request packet and A controller for selecting a plurality of transmission servers to transmit the first information from the plurality of servers, and determining a number of response packets generated by each of the plurality of transmission servers in response to the service request packet; And a sending module for sending one piece of information to the plurality of sending servers.

본 발명의 또 다른 일측에 따르면, 상기 제어부는, 상기 복수 개의 송신 서버의 각각에 의하여 생성되는 상기 응답 패킷의 시퀀스 넘버에 관한 정보를 상기 제 1 정보에 포함한다. 상기 서비스 요청 패킷에 대응하여 상기 복수 개의 송신 서버의 각각에 의하여 생성된 응답 패킷의 시퀀스 넘버는 서로 다르다.According to another aspect of the present invention, the control unit includes, in the first information, information about a sequence number of the response packet generated by each of the plurality of transmission servers. The sequence numbers of response packets generated by each of the plurality of transmission servers corresponding to the service request packets are different.

본 발명의 또 다른 일측에 따르면, 상기 제어부는 상기 복수 개의 송신 서버의 각각의 업 링크 대역폭에 기초하여 상기 복수 개의 송신 서버의 각각에 의하여 생성되는 상기 응답 패킷의 수를 결정한다. 또한, 상기 제어부는 상기 복수 개의 송신 서버의 각각으로부터 상기 클라이언트까지의 홉(hop) 수에 기초하여 상기 복수 개의 송신 서버의 각각에 의하여 생성되는 상기 응답 패킷의 수를 결정한다. 또한, 상기 제어부는 상기 복수 개의 송신 서버의 각각의 부하(load)에 기초하여 상기 복수 개의 송신 서버의 각각에 의하여 생성되는 상기 응답 패킷의 수를 결정한다.According to another aspect of the present invention, the control unit determines the number of response packets generated by each of the plurality of transmission servers based on each uplink bandwidth of the plurality of transmission servers. The control unit may also determine the number of response packets generated by each of the plurality of transmission servers based on the number of hops from each of the plurality of transmission servers to the client. The control unit may also determine the number of response packets generated by each of the plurality of transmission servers based on each load of the plurality of transmission servers.

본 발명의 또 다른 일측에 따르면, 상기 제어부는 상기 복수 개의 송신 서버의 각각의 단위 시간당 패킷 손실에 기초하여 상기 복수 개의 송신 서버의 각각에 의하여 생성되는 상기 응답 패킷의 수를 결정한다. 또한, 상기 제어부는 상기 복수 개의 송신 서버의 각각에 의하여 생성되는 상기 응답 패킷의 수를 추계적(stochastic)으로 결정하여 동적으로 변경한다.According to another aspect of the present invention, the controller determines the number of response packets generated by each of the plurality of transmission servers based on packet loss per unit time of each of the plurality of transmission servers. In addition, the control unit dynamically determines the number of response packets generated by each of the plurality of transmission servers stochastically.

이하 첨부된 도면들 및 첨부된 도면들에 기재된 내용들을 참조하여 본 발명의 바람직한 실시예를 상세하게 설명하지만, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings and the contents described in the accompanying drawings, but the present invention is not limited or limited to the embodiments. Like reference numerals in the drawings denote like elements.

도 1은 본 발명의 일례에 따른 서비스 처리 시스템의 구성도를 도시한 도면이다.1 is a diagram illustrating a configuration of a service processing system according to an example of the present invention.

도 1에 도시된 바와 같이, 본 발명에 따른 서비스 처리 시스템은 수신 서버(120) 및 송신 서버 그룹(125)를 포함한다. 송신 서버 그룹(125)은 하나 이상의 송신 서버로 구성된다. 송신 서버(130, 135)는 클라이언트(110)로부터의 서비스 요청 패킷(140)에 응답하는 응답 패킷을 클라이언트(110)에게 송신할 뿐, 클라이언트(110)로부터 아무런 패킷을 수신하지는 않는다. 이는 외부적으로 수신 서버(120) 및 송신 서버 그룹(125)의 송신서버들(130, 135)이 동일한 대표 IP 주소를 사용하되, 외부로부터 상기 대표 IP 주소로 수신되는 패킷은 수신 서버(120)로만 전달되도록 함으로써 수행될 수 있다. 즉, 외부적으로 대표 IP 주소를 사용하는 서버는 수신 서버(120)로 설정되어 있으면, TCP/IP 네트워크의 동작에 의하여 대표 IP 주소를 목적지 주소로 하는 패킷은 수신 서버(120)로만 수신된다.As shown in FIG. 1, the service processing system according to the present invention includes a receiving server 120 and a sending server group 125. The sending server group 125 consists of one or more sending servers. The transmitting server 130, 135 only transmits a response packet corresponding to the service request packet 140 from the client 110 to the client 110, but does not receive any packet from the client 110. This is because the receiving server 120 and the sending servers 130 and 135 of the sending server group 125 use the same representative IP address, but the packet received from the outside to the representative IP address is received by the receiving server 120. It can be done by allowing only to be delivered. That is, if the server using the representative IP address externally is set to the receiving server 120, packets with the representative IP address as the destination address are received only by the receiving server 120 by the operation of the TCP / IP network.

송신 서버 그룹(125)는 제 1 송신 서버(130) 및 제 2 송신 서버(135)를 포함한다. 수신 서버(120), 제 1 송신 서버(130) 및 제 2 송신 서버(135)는 송수신 네트워크(100)를 구성하며, 클라이언트(110)와 네트워크로 연결된다.The transmission server group 125 includes a first transmission server 130 and a second transmission server 135. The reception server 120, the first transmission server 130, and the second transmission server 135 constitute a transmission / reception network 100, and are connected to the client 110 through a network.

수신 서버(120)는 클라이언트(110)와 네트워크로 연결되어 상기 클라이언트(110)로부터 서비스 요청 패킷(140)을 수신한다. 수신 서버(120)의 IP 주소를 대표 IP 주소로 설정하면, 대표 IP 주소를 목적지 주소로 하는 클라이언트(110)로부터의 서비스 요청 패킷(140)은 모두 수신 서버(120)에 의하여 수신된다. 수신 서버(120)는 제 1 송신 서버(130) 및 제 2 송신 서버(135)와 물리적으로 구분되어 상기 클라이언트(110)로부터 서비스 요청 패킷(140)을 수신하는 역할을 전담하며, 상기 서비스 요청 패킷(140)에 대한 응답 패킷(160)을 상기 클라이언트(110)로 송신하지는 않는다. 즉, 본 발명에서는 수신 서버(120)는 클라이언트(110)로부터의 데이터 수신을 전담하고, 송신 서버(130, 135)는 클라이언트(110)로의 데이터 송신을 전담한다. 이와 같이 본 발명에서는 클라이언트로부터의 데이터 수신과 데이터 송신이 각각 수신 서버 및 송신 서버로 분리되어 수행됨으로써, 전체적인 네트워크 서비스에 있어서 한 지점에 병목이 발생되지 않도록 한다. 이를 위하여, 수신 서버(120)와 송신 서버(130,135)는 물리적으로 분리되고 네트워크로 연결된다.The reception server 120 is connected to the network with the client 110 to receive a service request packet 140 from the client 110. When the IP address of the receiving server 120 is set as the representative IP address, all the service request packets 140 from the client 110 having the representative IP address as the destination address are received by the receiving server 120. The reception server 120 is physically separated from the first transmission server 130 and the second transmission server 135 and dedicated to receiving a service request packet 140 from the client 110. The response packet 160 for 140 is not transmitted to the client 110. That is, in the present invention, the receiving server 120 is dedicated to receiving data from the client 110, and the transmitting servers 130 and 135 are dedicated to transmitting data to the client 110. As described above, in the present invention, data reception and data transmission from the client are separately performed by the reception server and the transmission server, thereby preventing bottlenecks at one point in the overall network service. To this end, the receiving server 120 and the sending server 130, 135 is physically separated and connected to the network.

또한, 수신 서버(120)는 클라이언트(110)로부터 수신한 서비스 요청 패킷(140)을 이용하여, 상기 서비스 요청 패킷(140)에 응답한 응답 패킷(160)을 상기 클라이언트(110)에게 송신할 송신 서버 그룹(125)을 결정한다. 본 발명의 일실시예에 따르면, 복수 개의 송신 서버 그룹(125)이 존재한다. 예를 들어, A 게임의 다운로드를 위한 송신 서버 그룹, B 게임의 다운로드를 위한 송신 서버 그룹이 존재할 수 있다. 또한, 송신 서버 그룹은 더 세분화되어 구성될 수 있다. 예를 들어, A 게임의 다운로드를 위한 서울 지역 송신 서버들의 송신 서버 그룹, A 게임의 다운로드를 위한 인천 지역 송신 서버들의 송신 서버 그룹 등과 같이 세분화되어 구성될 수 있다. 따라서, 수신 서버(120)는 서비스 요청 패킷(140)에 기초하여 상기 서비스 요청 패킷(140)에 응답한 응답 패킷(160)을 상기 클라이언트(110)에게 송신할 송신 서버 그룹(125)을 결정한다. 따라서, 송신 서버 그룹의 분류에 송신 서버가 설치된 지리적 위치가 기준으로 포함되어 있는 경우, 수신 서버(120)는 클라이언트(110)가 설치된 지역을 판단하여, 이로부터 클라이언트(110)와 지역적으로 근접한 송신 서버 그룹을 결정할 수 있다. 클라이언트(110)가 설치된 지역은 각 IP 주소에 따라 상기 IP 주소의 단말이 설치된 위치에 관한 데이터베이스를 참조하여, 클라이언트(110)의 IP 주소로부터 결정할 수 있다. 본 발명의 또 다른 실시예에 따르면, 송신 서버 그룹의 분류에 송신 서버가 사용하는 네트워크의 ISP를 기준으로 포함하고, 수신 서버(120)는 클라이언트(110)가 사용하는 ISP를 참조하여 동일한 ISP의 송신 서버 그룹을 선택할 수도 있다.Also, the reception server 120 transmits a response packet 160 in response to the service request packet 140 to the client 110 using the service request packet 140 received from the client 110. Determine server group 125. According to one embodiment of the invention, there are a plurality of transmission server groups 125. For example, there may be a sending server group for downloading A game and a sending server group for downloading B game. In addition, the sending server group may be further subdivided. For example, the transmission server group of the Seoul area transmission servers for the download of the A game, the transmission server group of the Incheon area transmission servers for the download of the A game, etc. may be subdivided. Accordingly, the reception server 120 determines the transmission server group 125 to transmit the response packet 160 responsive to the service request packet 140 to the client 110 based on the service request packet 140. . Therefore, when the classification of the transmitting server group includes the geographical location where the transmitting server is installed as a reference, the receiving server 120 determines the region where the client 110 is installed, and thereby transmits a region close to the client 110. You can determine the server group. The region in which the client 110 is installed may be determined from the IP address of the client 110 by referring to a database on the location where the terminal of the IP address is installed according to each IP address. According to another embodiment of the present invention, the classification of the sending server group is included based on the ISP of the network used by the sending server, and the receiving server 120 refers to the ISP used by the client 110 to determine the same ISP. You can also select a sending server group.

또한, 수신 서버(120)는 클라이언트(110)로부터 수신한 서비스 요청 패킷(140)을 이용하여, 이에 대응하는 제 1 정보(150)를 생성하여 상기 제 1 송신 서버(130) 및 제 2 송신 서버(135)로 송신한다. 이처럼 본 발명에 따르면, 제 1 송신 서버(130) 및 제 2 송신 서버(135)로 구성된 송신 서버 그룹(125)과 수신 서버(120)가 물리적으로 분리되어, 제 1 송신 서버(130) 및 제 2 송신 서버(135)는 클라이언트(110)에 대한 송신 작업만 수행하고, 수신 서버(120)는 클라이언트(110)로부터의 수신 작업만 수행한다. 이와 같이 송신 서버 그룹(125)과 수신 서버(120)를 분리하여, 클라이언트(110)로부터의 사용자 서비스 요청을 보다 효율적으로 처리할 수 있다. 특히, 본 발명에 따른 서비스 처리 시스템은, 상기 수신 서버(120)가 상기 서비스 요청 패킷에 대응한 제 1 정보(150)를 생성하여 상기 제 1 송신 서버(130) 및 제 2 송신 서버(135)로 송신하며, 상기 제 1 송신 서버(130) 및 제 2 송신 서버(135)는 상기 제 1 정보(150)에 따라 각각 상기 서비스 요청 패킷(140)에 대응한 응답 패킷(160)을 생성하여 상기 클라이언트(110)로 전송한다. 상기 제 1 정보(150)에는 상기 제 1 송신 서버(130) 및 제 2 송신 서버(135)가 각각 상기 서비스 요청 패킷(140)에 대응하여 생성할 응답 패킷(160)에 관한 정보를 포함하고 있다. 특히, 상기 제 1 정보(150)에는 상기 제 1 송신 서버(130) 및 제 2 송신 서버(135)가 각각 생성할 응답 패킷(160)의 시퀀스 넘버에 관한 정보가 포함되어 있다.In addition, the reception server 120 generates the first information 150 corresponding to the service request packet 140 received from the client 110 to generate the first transmission server 130 and the second transmission server. (135). As described above, according to the present invention, the transmitting server group 125 and the receiving server 120 constituted by the first transmitting server 130 and the second transmitting server 135 are physically separated, so that the first transmitting server 130 and the first transmitting server 130 are separated. 2 The transmission server 135 performs only a transmission operation for the client 110, the reception server 120 performs only a reception operation from the client 110. In this way, the transmitting server group 125 and the receiving server 120 can be separated to process the user service request from the client 110 more efficiently. In particular, in the service processing system according to the present invention, the receiving server 120 generates the first information 150 corresponding to the service request packet, so that the first transmitting server 130 and the second transmitting server 135. And the first transmission server 130 and the second transmission server 135 generate response packets 160 corresponding to the service request packet 140 according to the first information 150, respectively. Send to client 110. The first information 150 includes information on a response packet 160 that the first transmission server 130 and the second transmission server 135 will generate in response to the service request packet 140, respectively. . In particular, the first information 150 includes information about the sequence number of the response packet 160 to be generated by the first transmission server 130 and the second transmission server 135, respectively.

송신 서버 그룹(125)는 복수 개의 송신 서버(130, 135)로 구성된다. 도 1에 도시된 바와 같이, 복수 개의 송신 서버(130, 135)는 제 1 송신 서버(130) 및 제 2 송신 서버(135)로 구성될 수 있다. 상기 제 1 송신 서버(130) 및 제 2 송신 서버(135)는 상기 수신 서버(130)로부터 제 1 정보(150)를 수신하여 이에 대한 응답으로서, 상기 서비스 요청 패킷(140)에 대한 응답 패킷(160)을 생성하여 상기 클라이언트(110)로 송신한다. 특히, 송신 서버 그룹(125)에 포함되어 있는 복수 개의 송신 서버(130, 135)는 수신 서버(120)로부터 전송 받는 제 1 정보(150)에 포함되어 있는 시퀀스 넘버에 관한 정보를 이용하여, 각각 서로 다른 시퀀스 넘버를 갖는 응답 패킷(160)을 생성한다. 실제에 있어서 클라이언트(110)는 서로 다른 송신 서버(130, 135)로부터 응답 패킷(160)을 수신하지만, 이를 하나의 서버로부터 수신한 것처럼 인식되도록 하여야 한다. 이렇게 하여야만, 클라이언트(110)의 프로그램에 아무런 수정이 없이도, 통상적인 클라이언트-서버 환경과 같이 클라이언트(110)가 동작한다. 이를 위하여 본 발명에서는 송신 서버들(130, 135) 간에 서로 다른 시퀀스 넘버를 갖는 응답 패킷(160)을 클라이언트(110)로 송신하도록 함으로써, 클라이언트(110)가 서로 다른 송신 서버(130, 135)로부터 수신한 응답 패킷(160)을 동일한 서버로부터 수신한 응답 패킷으로 인식할 수 있도록 한다.The transmission server group 125 is composed of a plurality of transmission servers 130 and 135. As illustrated in FIG. 1, the plurality of transmission servers 130 and 135 may be configured as a first transmission server 130 and a second transmission server 135. The first transmitting server 130 and the second transmitting server 135 receive the first information 150 from the receiving server 130 as a response thereto, and respond to the service request packet 140 ( 160 generates and transmits to the client (110). In particular, the plurality of transmission servers 130 and 135 included in the transmission server group 125 each use information about the sequence number included in the first information 150 received from the reception server 120. Generate response packets 160 having different sequence numbers. In practice, the client 110 receives the response packet 160 from different transmission servers 130 and 135, but should be recognized as if it is received from one server. In this way, the client 110 operates like a typical client-server environment without any modification to the program of the client 110. To this end, in the present invention, the client 110 transmits a response packet 160 having a different sequence number between the transmitting servers 130 and 135 to the client 110, thereby allowing the client 110 to transmit from the different transmitting servers 130 and 135. The received response packet 160 can be recognized as a response packet received from the same server.

클라이언트(110)는 상기 수신 서버(120)로 서비스 요청 패킷(140)을 송신한다. 상기 서비스 요청 패킷(140)에는 소스 네트워크 주소로서 클라이언트(110)의 네트워크 주소, 목적지 주소로서 상기 송수신 네트워크(100)의 주소인 대표 네트워크 주소, 소스 포트(port) 번호로서 클라이언트(110)의 포트 번호, 목적지 포트 번호로서 송수신 네트워크(100)의 포트 번호를 사용한다. 이때, 상기 송수신 네트워크(100)의 주소인 대표 네트워크 주소는 상기 수신 서버(120)의 주소인데, 이와 같이 상기 수신 서버(120)의 주소를 대표 네트워크 주소로 취함으로써, 상기 클라이언트(110)가 상기 수신 서버(120)와 송신 서버 그룹(125)로 이루어진 송수신 네트워크(100)를 하나의 서버로서 인식할 수 있으며, 상기 대표 네트워크 주소를 목적지 주소로 하는 서비스 요청 패킷(140)이 상기 송수신 네트워크(100)의 수신 서버(120)로 수신될 수 있다.The client 110 transmits a service request packet 140 to the receiving server 120. The service request packet 140 includes a network address of the client 110 as a source network address, a representative network address as an address of the transmission / reception network 100 as a destination address, and a port number of the client 110 as a source port number. The port number of the transmission / reception network 100 is used as the destination port number. At this time, the representative network address which is the address of the transmission and reception network 100 is the address of the receiving server 120. Thus, by taking the address of the receiving server 120 as the representative network address, the client 110 the A transmission / reception network 100 including a reception server 120 and a transmission server group 125 may be recognized as a server, and a service request packet 140 having the representative network address as a destination address may be used as the server. ) May be received by the receiving server 120.

클라이언트(110)에서 서비스 요청 패킷(140)을 전송하면, 수신 서버(120)는 상기 클라이언트(110)로부터 상기 서비스 요청 패킷(140)을 수신하며, 그에 대응한 제 1 정보(150)를 생성하여 상기 송신 서버 그룹(130)의 제 1 송신 서버(130) 및 제 2 송신 서버(135)로 송신한다. 종래에는 클라이언트로부터의 서비스 요청을 수신하여 그에 상응하는 응답까지의 모든 송수신 과정이 하나의 서버에서 이루어지는 것과 비교하여, 본 발명에 따른 수신 서버(120)는 클라이언트(110)로부터 서비스 요청 패킷(140)을 수신하지만 상기 서비스 요청 패킷(140)에 응답 패킷(160)을 송신하지 않는다. 또한, 제 1 송신 서버(130) 및 제 2 송신 서버(135)는 상기 클라이언트(110)로 응답 패킷(160)을 송신하지만 클라이언트(110)로부터의 서비스 요청 패킷(140)은 수신하지 않는다. 이와 같이 본 발명에 따른 서비스 처리 시스템은 클라이언트(110)로부터의 서비스 요청 패킷(140)의 수신을 담당하는 수신 서버(120)와 상기 클라이언트(110)로 응답 패킷의 송신을 담당하는 제 1 송신 서버(130) 및 제 2 송신 서버(135)가 분리되어 수신과 송신 과정을 각각 전담한다.When the client 110 transmits the service request packet 140, the reception server 120 receives the service request packet 140 from the client 110 and generates first information 150 corresponding thereto. The first transmission server 130 and the second transmission server 135 of the transmission server group 130 are transmitted. In the related art, the receiving server 120 according to the present invention receives the service request packet 140 from the client 110 in comparison with that of receiving and receiving a service request from the client and correspondingly transmitting and receiving all the processes in one server. Is received but does not transmit the response packet 160 to the service request packet 140. In addition, the first transmitting server 130 and the second transmitting server 135 transmits the response packet 160 to the client 110 but does not receive the service request packet 140 from the client 110. As described above, the service processing system according to the present invention includes a receiving server 120 that is responsible for receiving the service request packet 140 from the client 110 and a first transmitting server that is responsible for transmitting the response packet to the client 110. The 130 and the second transmission server 135 are separated and dedicated to receiving and transmitting processes, respectively.

수신 서버(120)로부터 송신 서버 그룹(125)를 구성하는 제 1 송신서버(130) 및 제 2 송신 서버(135)로 송신하는 제 1 정보(150)에는, 제 1 송신 서버(130) 및 제 2 송신 서버(135)가 각각 상기 서비스 요청 패킷(140)에 대응하여 생성할 응답 패킷에 관한 정보를 포함하고 있다. 또한, 상기 제 1 정보(150)는 상기 서비스 요청 패킷(140)의 소스 네트워크 주소를 포함하는데, 이때 상기 소스 네트워크 주소라 함은 상기 클라이언트(110)의 네트워크 주소를 말하며, 상기 제 1 정보(150)는 상기 서비스 요청 패킷(140)의 소스 포트 번호를 포함하는데, 상기 소스 포트 번호라 함은 상기 클라이언트(110)의 포트 번호를 말한다. 또한, 상기 제 1 정보(150)는 상기 서비스 요청 패킷(140)의 목적지 포트 번호를 포함하며, 상기 목적지 포트 번호는 송수신 네트워크(100)의 대표 포트 번호인 수신 서버(120)의 포트 번호를 말한다. The first transmission server 130 and the first information 150 transmitted from the reception server 120 to the first transmission server 130 and the second transmission server 135 forming the transmission server group 125 are included. 2 The transmission server 135 includes information on a response packet to be generated corresponding to the service request packet 140, respectively. In addition, the first information 150 includes a source network address of the service request packet 140, wherein the source network address refers to a network address of the client 110 and the first information 150. ) Includes a source port number of the service request packet 140, and the source port number refers to a port number of the client 110. In addition, the first information 150 includes a destination port number of the service request packet 140, and the destination port number refers to a port number of the reception server 120 which is a representative port number of the transmission / reception network 100. .

송신 서버 그룹(130)에 포함되어 있는 제 1 송신 서버(130) 및 제 2 송신 서버(135)는 상기 수신 서버(120)로부터 제 1 정보(150)를 각각 수신한다. 상기 제 1 정보(150)에는 요청 패킷의 네트워크 주소 및 포트 번호가 포함되어 있어, 송신 서버(130)가 클라이언트(110)로 응답 패킷(160)을 생성하여 송신하는 데에 사용된다. 송신 서버(130)로부터 클라이언트(110)로 전송되는 응답 패킷(160)은, 응답 패킷(160)의 소스 포트 번호로서 제 1 정보(150)의 목적지 포트 번호인 송수신 네트워크(100)의 대표 포트 번호, 즉 수신 서버(120)의 포트 번호를 취하고, 응답 패킷(160)의 목적지 포트 번호로서 상기 제 1 정보(150)의 소스 포트 번호인 클라이언트(110)의 포트 번호를 취하고, 응답 패킷(160)의 소스 네트워크 주소로서 제 1 정보(150)의 목적지 주소인 송수신 네트워크(100)의 대표 네트워크 주소, 즉 수신 서버(120)의 주소를 취하고, 응답 패킷(160)의 목적지 주소로서 상기 제 1 정보의 소스 네트워크 주소인 클라이언트(110)의 네트워크 주소를 취하여 구성된다.The first transmission server 130 and the second transmission server 135 included in the transmission server group 130 receive the first information 150 from the reception server 120, respectively. The first information 150 includes a network address and a port number of the request packet, so that the transmission server 130 generates and transmits the response packet 160 to the client 110. The response packet 160 transmitted from the transmission server 130 to the client 110 is a representative port number of the transmission / reception network 100 which is a destination port number of the first information 150 as a source port number of the response packet 160. That is, the port number of the receiving server 120 is taken, the port number of the client 110 which is the source port number of the first information 150 as the destination port number of the response packet 160, and the response packet 160 is obtained. Takes the representative network address of the transmission / reception network 100, that is, the address of the receiving server 120, which is the destination address of the first information 150 as the source network address of the first information 150, and the address of the first information as the destination address of the response packet 160. It is configured by taking the network address of the client 110 which is the source network address.

다시 말해, 송신 서버(130)는 상기 제 1 정보(150)에 기초하여, 클라이언트(110)로부터 수신한 서비스 요청 패킷(140)의 소스 네트워크 주소를 응답 패킷(160)의 목적지 네트워크 주소로서 할당하고, 요청 패킷의 목적지 주소를 응답 패킷(160)의 소스 네트워크 주소로 할당하고, 서비스 요청 패킷(140)의 소스 포트 번호를 응답 패킷(160)의 목적지 포트 번호로 할당하고, 서비스 요청 패킷(140)의 목적지 포트 번호를 응답 패킷(160)의 소스 포트 번호로 할당하여 응답 패킷(160)을 생성한다. 이렇게 함으로써, 클라이언트(110)는 송신 서버(130, 135)로부터 수신한 응답 패킷(160)을 자신이 서비스 요청 패킷(140)을 보낸 수신 서버(120)가 송신한 것으로 인식하게 된다. 즉, 클라이언트(110)는 송신 서버 및 수신 서버의 분리를 전혀 인식하지 못한 채 서비스 요청 패킷(140)에 대한 응답 패킷(160)을 수신하게 되므로, 클라이언트(110)의 프로그램은 아무런 수정 없이도 본 발명에 따라 수행될 수 있다.In other words, the transmission server 130 allocates the source network address of the service request packet 140 received from the client 110 as the destination network address of the response packet 160 based on the first information 150. Assigns the destination address of the request packet to the source network address of the response packet 160, the source port number of the service request packet 140 to the destination port number of the response packet 160, and the service request packet 140. A response packet 160 is generated by assigning a destination port number of the response packet to the source port number of the response packet 160. By doing so, the client 110 recognizes that the response packet 160 received from the transmission server 130 or 135 is transmitted by the reception server 120 to which the service request packet 140 has been transmitted. That is, since the client 110 receives the response packet 160 in response to the service request packet 140 without any recognition of the separation between the transmitting server and the receiving server, the program of the client 110 may be modified without any modification. Can be performed according to.

또한, 상기 응답 패킷(160)에는 시퀀스 넘버가 포함되어 생성된다. 따라서, 클라이언트(110)가 복수 개로 구성된 송신 서버 그룹(125)으로부터 응답 패킷(160)을 수신하더라도 이를 하나의 서버가 송신한 것으로 인식할 수 있게 된다. 예를 들어, 제1 송신 서버(130) 및 제2 송신 서버(135)가 시퀀스 넘버를 임의로 생성하여 응답 패킷(160)을 송신하였다가, 일부 응답 패킷(160)의 시퀀스 넘버가 충돌하게 되면, 일부 응답 패킷(160)은 클라이언트(110)에 의하여 버려지게 되는 문제가 발생한다. 구체적인 예로 설명하면, 클라이언트(110)가 5 MB 데이터의 다운로드를 요청하는 서비스 요청 패킷(140)을 송신하였고, 제1 송신 서버(130)가 상기 5 MB 데이터 중 앞의 2.5 MB 데이터를 송신하고, 제2 송신 서버(135)가 상기 5 MB 데이터 중 뒤의 2.5 MB 데이터를 송신하도록 설정된 경우를 설명한다. 이때, 제1 송신 서버(130) 및 제2 송신 서버(135)가 모두 하나의 응답 패킷(160)에 4KB의 데이터를 포함하여 송신한다고 할 때, 제1 송신 서버(130)가 생성한 하나의 응답 패킷이 "5"라는 시퀀스 넘버를 가지고, 제2 송신 서버(130)가 생성한 또 다른 응답 패킷이 "5"라는 시퀀스 넘버를 갖는다면, 클라이언트(110)는 위 두 응답 패킷을 동일한 패킷이 중복하여 송신된 것으로 판단하여 하나를 버리게 된다. 따라서, 본 발명은 송신 서버 그룹(125)에 속하는 송신 서버들(130, 135)이 송신하는 응답 패킷들의 시퀀스 넘버를 송신 서버들(130, 135)마다 서로 다르게 함으로써, 위의 문제를 해결한다.In addition, the response packet 160 is generated by including a sequence number. Therefore, even if the client 110 receives the response packet 160 from the plurality of transmission server groups 125, it can be recognized that one server has transmitted. For example, when the first transmission server 130 and the second transmission server 135 randomly generate a sequence number and transmit the response packet 160, and the sequence numbers of some response packets 160 collide with each other, Some response packets 160 have a problem that is discarded by the client (110). As a specific example, the client 110 transmits a service request packet 140 requesting the download of 5 MB data, and the first transmission server 130 transmits the previous 2.5 MB data of the 5 MB data, The case where the second transmission server 135 is set to transmit the next 2.5 MB of the 5 MB data will be described. In this case, when the first transmission server 130 and the second transmission server 135 both transmit 4 KB of data in one response packet 160, the first transmission server 130 generates one. If the response packet has a sequence number of "5" and another response packet generated by the second sending server 130 has a sequence number of "5", the client 110 may determine that the two packets are the same packet. It is judged that the transmission is duplicated and discards one. Accordingly, the present invention solves the above problem by differentiating sequence numbers of response packets transmitted by the transmission servers 130 and 135 belonging to the transmission server group 125 for each of the transmission servers 130 and 135.

또한, 수신 서버(120)는 송신 서버 그룹(125)내의 각각의 송신 서버(130, 135)에 의하여 생성되는 응답 패킷(160)의 수를 소정의 기준에 따라 결정 한다. 또한, 상기 수신 서버(120)로부터 각 송신 서버(130, 135)로 송신되는 제 1 정보(150)에는 시퀀스 넘버가 부여되어 있다. In addition, the reception server 120 determines the number of response packets 160 generated by each of the transmission servers 130 and 135 in the transmission server group 125 according to a predetermined criterion. In addition, a sequence number is assigned to the first information 150 transmitted from the reception server 120 to each of the transmission servers 130 and 135.

이때, 상기 수신 서버(120)가 응답 패킷(160)의 수를 결정하는 방법으로는, 각 송신 서버(130, 135)의 유휴 대역폭을 측정하는 방법이 있다. 유휴 대역폭은 각 송신 서버(130, 135)가 연결된 네트워크의 대역폭(bandwidth) 중 사용되지 않고 있는 대역폭을 의미하며, 각 송신 서버(130, 135)의 업 링크(uplink) 대역폭에 기초하여 측정될 수 있다. 이를 위하여, 각 송신 서버(130, 135)는 자신이 사용하는 네트워크 라인의 최대 허용 업링크 대역폭 및 현재 업로드 전송 중인 데이터 전송 속도를 수신 서버(120)에 보고한다. 그러면, 수신 서버는 각 송신 서버(130, 135)의 네트워크 라인의 최대 허용 대역폭으로부터 현재 업로드 전송 중인 데이터 전송 속도를 감산하여 현재의 업 링크 대역폭을 계산할 수 있다. 예를 들어, 송신 서버(130)가 사용하는 네트워크 라인의 최대 허용 업링크 대역폭이 1.5 Mbps인데, 현재 업링크 전송의 전송 속도가 1.0 Mbps라면, 송신 서버(130)의 유휴 대역폭은 0.5 Mbps가 된다. 수신 서버(120)는 송신 서버(130, 135) 각각의 유휴 대역폭에 기초하여, 유휴 대역폭이 많은 송신 서버(130, 135)에게 더 많은 응답 패킷(160)을 클라이언트(110)에 전송하도록 각 송신 서버(130, 135)가 전송할 응답 패킷의 수를 결정할 수 있다. At this time, the reception server 120 determines the number of response packets 160, there is a method for measuring the idle bandwidth of each transmission server (130, 135). Idle bandwidth refers to an unused bandwidth among bandwidths of a network to which each transmission server 130 and 135 is connected, and may be measured based on an uplink bandwidth of each transmission server 130 and 135. have. To this end, each transmitting server (130, 135) reports to the receiving server 120 the maximum allowable uplink bandwidth of the network line it uses and the data transmission rate currently uploaded. Then, the receiving server may calculate the current uplink bandwidth by subtracting the data transmission rate currently being uploaded from the maximum allowable bandwidth of the network line of each transmitting server 130, 135. For example, if the maximum allowable uplink bandwidth of the network line used by the transmission server 130 is 1.5 Mbps, and the transmission rate of the current uplink transmission is 1.0 Mbps, the idle bandwidth of the transmission server 130 is 0.5 Mbps. . The receiving server 120 transmits each response to send more response packets 160 to the client 110 based on the idle bandwidth of each of the transmitting servers 130 and 135 to the transmitting servers 130 and 135 having a large idle bandwidth. The servers 130 and 135 may determine the number of response packets to transmit.

또한, 수신 서버(120)는 제 1 송신 서버(130) 및 제 2 송신 서버(135)의 부하(load)를 계산하여 송신 서버(130, 135)의 각각에 의해 생성되는 응답 패킷(160)의 수를 결정할 수 있다. 상기 부하는 송신 서버(130, 135) 각각의 서버 자체의 부하이다. 상기 부하는 각 송신 서버(130, 135)가 송신해야 할 대기 중인 응답 패킷(160)의 양, 각 송신 서버(130, 135)가 접속되어 응답 패킷(160)을 송신 중인 클라이언트(110)의 수, 각 송신 서버(130, 135)의 CPU 사용량 등을 고려하여 결정될 수 있고, 이는 송신 서버(130, 135)로부터 수신 서버(120)에 보고될 수 있다. 수신 서버(120)는 부하가 적은 송신 서버(130, 135)가 더 많은 응답 패킷을 송신하도록 각 송신 서버(130, 135)가 전송할 응답 패킷의 수를 결정할 수 있다.In addition, the reception server 120 calculates the load of the first transmission server 130 and the second transmission server 135 to determine the response packet 160 generated by each of the transmission servers 130 and 135. The number can be determined. The load is a load of the server itself of each of the transmission servers 130 and 135. The load is the amount of waiting response packets 160 to be transmitted by each transmitting server 130 and 135, and the number of clients 110 to which each transmitting server 130 and 135 is connected to transmit the response packet 160. For example, the CPU usage of each of the transmission servers 130 and 135 may be determined, and this may be reported to the reception server 120 from the transmission servers 130 and 135. The receiving server 120 may determine the number of response packets that each transmitting server 130, 135 will transmit so that the less load transmitting servers 130, 135 transmit more response packets.

또한, 상기 수신 서버(120)가 제 1 송신 서버(130) 및 제 2 송신 서버(135) 각각이 클라이언트(110)로 송신할 응답 패킷(160)의 수를 결정 하는 방법으로는, 제 1 송신 서버(130) 및 제 2 송신 서버(135) 각각으로부터 상기 클라이언트(110)에 이르기까지의 홉수(hop count)를 계산하여 결정하는 방법이 있다. 상기 홉수라 함은, 각 패킷이 네트워크 상의 목적지까지 라우터(router)에 의해 라우팅(routing) 되는 횟수를 말하는데, 홉수가 작을수록 각 송신 서버(130, 135)로부터 송신 되는 각 패킷의 이동 경로가 짧으므로 보다 많은 응답 패킷(160)을 송신할 수 있다. 따라서, 수신 서버(120)는 제 1 송신 서버(130) 및 송신 서버(135) 각각의 홉수에 따라 그에 상응한 비율로 응답 패킷(160)을 송신하도록 결정한다. 예를 들어, 상기 제 1 송신 서버(130)가 상기 클라이언트(110)까지 경로의 홉수가 4이고, 상기 제 2 송신 서버(135)가 상기 클라이언트(110)까지 경로의 홉수가 8인 경우, 상기 수신 서버(120)가 상기 제 1 송신 서버(130)가 클라이언트(110)로 송신할 응답 패킷과 상기 제 2 송신 서버(135)가 클라이언트(110)로 송신할 응답 패킷의 비율을 1대 2로 결정할 수 있다.In addition, the reception server 120 determines how many response packets 160 each of the first transmission server 130 and the second transmission server 135 transmits to the client 110 includes a first transmission. There is a method of calculating and determining the hop count from each of the server 130 and the second sending server 135 to the client 110. The hop number refers to the number of times each packet is routed by a router to a destination on the network. The smaller the number of hops, the shorter the movement path of each packet transmitted from each transmission server 130 or 135. Therefore, more response packets 160 can be transmitted. Accordingly, the reception server 120 determines to transmit the response packet 160 at a corresponding rate according to the hop number of each of the first transmission server 130 and the transmission server 135. For example, when the first transmission server 130 has a hop number of four paths to the client 110 and the second transmission server 135 has a hop number of eight paths to the client 110, the The ratio of the response packet that the reception server 120 transmits to the client 110 by the first transmission server 130 and the response packet that the second transmission server 135 transmits to the client 110 is 1: 1. You can decide.

또한, 상기 수신 서버(120)가 제 1 송신 서버(130) 및 제 2 송신 서버(135) 각각이 클라이언트(110)로 송신할 응답 패킷(160)의 수를 결정 하는 방법으로는, 각 송신 서버(130, 135)로부터 상기 클라이언트(110)로 응답 패킷(160)을 송신 중에 발생하는 패킷의 손실(packet loss)에 기초하여 상기 클라이언트(110)로 송신되는 응답 패킷(160)의 수를 결정 할 수 있다. 상기 패킷의 손실은 네트워크를 통한 패킷의 전송 중에 장해 등의 원인으로 발생하는데, 수신 서버(120)는 각 송신 서버(130, 135)의 단위 시간당 패킷 손실 또는 손실률을 이용하여 상기 제 1 송신 서버(130) 또는 제 2 송신 서버(135)로부터 송신될 응답 패킷(160)의 양을 결정 할 수 있다. 예를 들어, 상기 제 1 송신 서버(130)의 패킷 손실률이 1% 이고, 상기 제 2 송신 서버(135)의 패킷 손실률이 0% 인 경우, 수신 서버(120)는 상기 제 1 송신 서버(130)의 응답 패킷(160)의 수를 줄이고, 상기 제 2 송신 서버(135)의 응답 패킷(160)의 수를 늘리도록 결정할 수 있다.In addition, the receiving server 120 determines how many response packets 160 each of the first transmitting server 130 and the second transmitting server 135 transmits to the client 110 may include each transmitting server. The number of response packets 160 transmitted to the client 110 may be determined based on a packet loss generated during transmission of the response packet 160 from the 130 and 135 to the client 110. Can be. The packet loss occurs due to a failure during transmission of the packet through the network, and the reception server 120 uses the packet loss or loss rate per unit time of each transmission server 130 or 135 to determine the first transmission server ( 130 or the amount of response packets 160 to be transmitted from the second transmission server 135 may be determined. For example, when the packet loss rate of the first transmission server 130 is 1% and the packet loss rate of the second transmission server 135 is 0%, the reception server 120 is the first transmission server 130. It may be determined to reduce the number of response packets 160 of) and to increase the number of response packets 160 of the second transmission server 135.

또한, 상기 수신 서버(120)가 제 1 송신 서버(130) 및 제 2 송신 서버(135) 각각이 클라이언트(110)로 송신할 응답 패킷(160)의 수를 결정 하는 방법으로는, 각 송신 서버(130, 135) 각각에 의하여 생성되는 상기 응답 패킷(160)의 수를 추계적(stochastic)으로 결정하여 시간의 경과에 따라 동적으로 변경하는 방법이 있다. 상기 응답 패킷(160)의 수를 추계적으로 결정한다 함은, 송신 서버(130, 135) 각각에 관계된 여러 가지 데이터(예를 들어, 데이터 전송 속도, 메모리 사용량 등)에 기초하여 송신 서버(130, 135)의 각각이 전송할 응답 패킷(160)의 수를 결정하고, 이러한 결정이 반영되어 각 송신 서버(130, 135)가 전송하는 성능을 통계적으로 평가한 후, 그에 따라 다시 송신 서버(130, 135)의 각각이 전송할 응답 패킷(160)의 수를 결정하는 방법이다. 예를 들어, 각 송신 서버(130, 135)의 하루 동안의 부하의 양에 따라 각 서버(130, 135)에서 송신할 응답 패킷(160)을 추계적으로 결정할 수 있다. 또한, 상기 송신 서버(130, 135)의 부하 양의 측정 시간을 1분 또는 1시간 등의 일정 간격으로 하여, 소정의 시간에 따라 변화하는 각 송신 서버(130, 135)의 부하의 양에 보다 신속하게 대처할 수 있다.In addition, the receiving server 120 determines how many response packets 160 each of the first transmitting server 130 and the second transmitting server 135 transmits to the client 110 may include each transmitting server. There is a method of determining stochastic the number of response packets 160 generated by each of them 130 and 135 and dynamically changing them over time. Determining the number of the response packet 160 is estimated based on the various data (for example, data transmission rate, memory usage, etc.) related to each of the transmission server (130, 135). And 135 determine the number of response packets 160 to transmit, and this determination is reflected to statistically evaluate the performance transmitted by each transmission server 130, 135, and again according to the transmission server 130, Each of 135 is a method of determining the number of response packets 160 to send. For example, the response packet 160 to be transmitted by each server 130 or 135 may be determined in accordance with the amount of load during the day of each transmitting server 130 or 135. Moreover, the measurement time of the load amount of the said transmission server 130, 135 is made into a fixed interval, such as 1 minute or 1 hour, and it is compared with the quantity of load of each transmission server 130, 135 which changes according to a predetermined time. You can respond quickly.

제 1 송신 서버(130) 및 제 2 송신 서버(135)는 상기 수신 서버(120)로부터 응답 패킷(160)의 수를 분배 받고, 할당 받은 응답 패킷(160)을 클라이언트(110)에게 송신한다. 각 송신 서버(130, 135)에서 생성되어 상기 클라이언트(110)로 송신되는 응답 패킷(160)에는 클라이언트(110)에서 각 패킷의 식별이 가능하도록 시퀀스 넘버가 부여되어 있다. The first transmitting server 130 and the second transmitting server 135 receive the number of response packets 160 from the receiving server 120, and transmit the allocated response packet 160 to the client 110. The response packet 160 generated by each transmission server 130 or 135 and transmitted to the client 110 is assigned a sequence number to enable identification of each packet at the client 110.

클라이언트(110)는 상기 제 1 송신 서버(130) 및 제 2 송신 서버(135)로부터 시퀀스 넘버가 부여되어 있는 응답 패킷(160)을 수신한다. 이때, 클라이언트(110)는 소스 네트워크의 주소가 상기 수신 서버(120)의 주소이고 목적지 주소가 클라이언트(110)로 되어 있는 응답 패킷(160)을 수신하므로, 클라이언트(110) 측에서는 하나의 서버에서 패킷의 송수신이 이루어지는 기존의 서버와의 차이점을 알 수 없다. 또한, 송신 서버 그룹(125), 즉 복수 개로 구성된 송신 서버(130, 135)가 각각 클라이언트(110)로 응답 패킷(160)을 송신하므로, 상기 클라이언트(110)에서 상기 응답 패킷(160)을 수신하는 속도 및 효율이 보다 향상 될 수 있다.The client 110 receives a response packet 160 assigned a sequence number from the first transmission server 130 and the second transmission server 135. In this case, since the client 110 receives the response packet 160 in which the address of the source network is the address of the receiving server 120 and the destination address is the client 110, the client 110 receives the packet from one server. The difference with the existing server that transmits and receives is not known. In addition, since the transmission server group 125, that is, the plurality of transmission servers 130 and 135 transmits the response packet 160 to the client 110, the client 110 receives the response packet 160. Speed and efficiency can be further improved.

클라이언트(110)는 상기 송신 서버(130)로부터 응답 패킷(160)을 수신하고 제 2 응답 패킷을 송수신 네트워크(100) 측으로 전송한다. 이때, 상기 제 2 응답 패킷은 클라이언트(100)가 상기 송신 서버(130)로부터 수신한 응답 패킷(160)에 대한 응답으로서 송수신 네트워크(100)로 전송된다. 특히 상기 제 2 응답 패킷은 상기 송수신 네트워크(100)의 대표 네트워크 주소인 수신 서버(120)의 주소로 전송하여, 송수신 네트워크(100) 측으로부터 응답 패킷(160)를 정상적으로 수신 하였음을 알린다.The client 110 receives the response packet 160 from the transmission server 130 and transmits a second response packet to the transmission / reception network 100 side. In this case, the second response packet is transmitted to the transmission / reception network 100 as a response to the response packet 160 received by the client 100 from the transmission server 130. In particular, the second response packet is transmitted to the address of the reception server 120 which is the representative network address of the transmission / reception network 100, thereby indicating that the response packet 160 has been normally received from the transmission / reception network 100 side.

이와 같이, 수신 서버(120)는 클라이언트(110)로부터 서비스 요청 패킷(140)의 수신을 담당하고, 송신 서버 그룹(125)는 클라이언트(110)로부터의 응답 패킷(160)의 전송을 담당하며, 송신 서버 그룹(125) 내의 각 송신 서버(130, 135)가 클라이언트(110)로부터 수신한 요청 패킷의 정보를 이용하여 서비스 요청에 대응함으로써, 보다 빠르게 클라이언트(110)의 서비스 요청을 처리 할 수 있다. 또한, 상기 클라이언트(110) 측에서는 수신 서버(120)와 송신 서버 그룹(120)로 구성되는 송수신 네트워크(100)를 하나의 서버로 인식되며, 송신 서버 그룹(125) 내의 각 송신 서버(130, 135)로부터 각각 시퀀스 넘버가 다른 응답 패킷(160)을 나누어 수신하므로 기존의 서비스 처리 시스템보다 보다 빠르게 원하는 서비스를 받을 있다. As such, the receiving server 120 is responsible for receiving the service request packet 140 from the client 110, and the transmitting server group 125 is responsible for transmitting the response packet 160 from the client 110. Each transmission server 130 or 135 in the transmission server group 125 responds to the service request by using the information of the request packet received from the client 110, thereby processing the service request of the client 110 more quickly. . Also, the client 110 recognizes a transmission / reception network 100 including the reception server 120 and the transmission server group 120 as one server, and each transmission server 130 or 135 in the transmission server group 125. Since the sequence number is received separately from the response packet 160 having a different sequence number, it is possible to receive the desired service faster than the existing service processing system.

도 2는 본 발명의 또 다른 일례에 따른 서비스 처리 시스템의 구성도를 도시한 도면이다. 도 2는 본 발명에 따라 수신 서버(120) 및 송신 서버(130)가 각각 복수 개로 구성된 서비스 처리 시스템을 도시하고 있다.2 is a diagram illustrating a configuration of a service processing system according to still another embodiment of the present invention. 2 illustrates a service processing system in which a plurality of receiving servers 120 and transmitting servers 130 are provided in accordance with the present invention.

도 2에 도시된 바와 같이, 본 발명에 따른 서비스 처리 시스템의 송수신 네트워크(200)는 복수 개의 수신 서버로 구성되는 수신 서버 그룹(220) 및 복수 개의 송신 서버로 구성되는 송신 서버 그룹(230)로 구성될 수 있다. As shown in FIG. 2, the transmission / reception network 200 of the service processing system according to the present invention includes a reception server group 220 composed of a plurality of reception servers and a transmission server group 230 composed of a plurality of transmission servers. Can be configured.

상기 수신 서버 그룹(220)는 클라이언트(210)와 네트워크로 연결되어 상기 클라이언트(210)로부터 서비스 요청 패킷(211)을 수신하며, 송수신 네트워크(200)는 수신 서버 그룹(220)와 송신 서버 그룹(230)가 물리적으로 구분되어 있다. 수신 서버 그룹(220)은 상기 클라이언트(210)의 서비스 요청 패킷에 원활히 대응할 수 있도록 복수 개의 수신 서버로 구성되며, 수신 서버 그룹(220)의 각 수신 서버는 송신 서버 그룹(230)내의 복수 개의 송신 서버(231, 232, 233, 234)의 상태에 따라 송신 서버들이 전송할 응답 패킷의 수를 결정하고, 송신 서버(231, 232, 233, 234)에게 상기 제 1 정보를 전달할 수 있다. 수신 서버 그룹(220)은 클라이언트(210)로부터 수신한 서비스 요청 패킷(211)을 이용하여, 이에 대응하는 제 1 정보를 생성하여 복수 개의 송신 서버로 구성된 송신 서버 그룹(230) 즉, 제 1 송신 서버(231), 제 2 송신 서버(232), 제 3 송신 서버(233) 및 제 4 송신 서버(234)로 각각 송신한다. The receiving server group 220 is connected to the network with the client 210 to receive the service request packet 211 from the client 210, the transmission and reception network 200 is the receiving server group 220 and the sending server group ( 230 is physically separated. Receiving server group 220 is composed of a plurality of receiving servers to smoothly respond to the service request packet of the client 210, each receiving server of the receiving server group 220 is a plurality of transmissions in the transmission server group 230 The number of response packets to be transmitted by the transmitting servers may be determined according to the state of the servers 231, 232, 233, and 234, and the first information may be transmitted to the transmitting servers 231, 232, 233, and 234. The receiving server group 220 generates the first information corresponding to the service request packet 211 received from the client 210 and generates a first server corresponding to the transmitting server group 230, that is, the first transmission. Transmission to the server 231, the second transmission server 232, the third transmission server 233, and the fourth transmission server 234, respectively.

상기 클라이언트(210)의 서비스 요청 패킷에 대응한 상기 제 1 정보(222)는 상기 수신 서버에 의하여 생성된 시퀀스 넘버를 포함하여 구성된다. 상기 시퀀스 넘버는 데이터가 패킷으로 전송되어 클라이언트(210)로 수신되었을 때, 패킷을 순서대로 조합하여 데이터를 재구성 하기 위하여 사용된다.The first information 222 corresponding to the service request packet of the client 210 includes a sequence number generated by the receiving server. The sequence number is used to reconstruct the data by combining the packets in order when the data is transmitted to the packet and received by the client 210.

상기 송신 서버 그룹(230)는 복수 개의 송신 서버(231, 232, 233, 234)로 구성되며, 상기 수신 서버 그룹(220)의 특정 수신 서버로부터 제 1 정보(222)를 수신하여 이에 대한 응답으로서, 응답 패킷(235)을 생성하여 클라이언트(210)로 전송한다. 도 2에 도시된 바와 같이, 송신 서버 그룹(230)에 포함되어 있는 복수 개의 송신 서버(231, 232, 233, 234)는 수신 서버 그룹(220)의 송신 서버(221)로부터 수신 받은 제 1 정보(222)에 포함되어 있는 시퀀스 넘버에 관한 정보를 이용하여, 각각 서로 다른 시퀀스 넘버가 부여된 응답 패킷(235)을 생성한다.The transmitting server group 230 is composed of a plurality of transmitting servers 231, 232, 233, and 234, and receives first information 222 from a specific receiving server of the receiving server group 220 as a response thereto. The response packet 235 is generated and transmitted to the client 210. As illustrated in FIG. 2, the plurality of transmission servers 231, 232, 233, and 234 included in the transmission server group 230 may receive first information received from the transmission server 221 of the reception server group 220. Using the information about the sequence number included in 222, a response packet 235 to which different sequence numbers are assigned is generated.

클라이언트(210)는 상기 수신 서버 그룹(220) 중 하나의 수신 서버로 서비스 요청 패킷(211)을 송신한다. 예를 들어, 클라이언트(210)는 A라는 게임을 다운로드 받기 위해 수신 서버 그룹(220) 중 하나의 수신 서버에 서비스 요청 패킷(211)을 송신하고, B라는 게임을 다운로드 받기 위해 수신 서버 그룹(220) 중 또 다른 수신 서버에 서비스 요청 패킷(211)을 송신할 수 있다. 상기 수신 서버 그룹(220)으로 수신된 서비스 요청 패킷(211)은 수신 서버 그룹(220) 내의 복수 개의 수신 서버 중에 특정 수신 서버(221)로 전달된다. 상기 서비스 요청 패킷(140)에는 클라이언트(210)의 네트워크 주소, 상기 서비스 요청 패킷(140)의 목적지 주소인 송수신 네트워크(200)의 주소, 클라이언트(110)의 포트 번호, 및 송수신 네트워크(100)의 포트 번호가 포함되어 있다. 따라서, 상기 수신 서버 그룹(220)내의 수신 서버(221)는 상기의 정보들을 이용하여 제 1 정보를 생성하고, 송신 서버 그룹(230)내의 각 송신 서버(231, 232, 233, 234)로 제 1 정보를 각각 송신한다.The client 210 transmits a service request packet 211 to one receiving server of the receiving server group 220. For example, the client 210 transmits a service request packet 211 to one receiving server of the receiving server group 220 to download the game A, and receives the receiving server group 220 to download the game B. ) May transmit the service request packet 211 to another receiving server. The service request packet 211 received by the receiving server group 220 is transmitted to a specific receiving server 221 among a plurality of receiving servers in the receiving server group 220. The service request packet 140 may include a network address of the client 210, an address of the transmit / receive network 200, which is a destination address of the service request packet 140, a port number of the client 110, and a transmit / receive network 100. The port number is included. Accordingly, the receiving server 221 in the receiving server group 220 generates first information using the above information, and transmits the first information to each transmitting server 231, 232, 233, 234 in the transmitting server group 230. 1 Send each piece of information.

클라이언트(210)에서 서비스 요청 패킷(211)을 전송하면, 수신 서버 그룹(220) 내의 수신 서버(220)에서 상기 서비스 요청 패킷(211)을 수신하며, 그에 대응한 제 1 정보(222)를 생성하여 송신 서버 그룹(230)의 제 1 송신 서버(231), 제 2 송신 서버(232), 제 3 송신 서버(233), 및 제 4 송신 서버(234)로 각각 송신한다. 종래에, 클라이언트로부터의 서비스 요청을 수신하여 그에 상응하는 응답까지의 모든 송수신 과정이 하나의 서버에서 이루어지는 것과 비교하여, 본 발명에 따른 수신 서버(221)는 클라이언트(210)로부터 서비스 요청 패킷(140)을 수신하지만 상기 서비스 요청 패킷(211)에 응답 패킷(235)을 송신하지 않는다. 또한, 제 1 송신 서버(231), 제 2 송신 서버(232), 제 3 송신 서버(233), 및 제 4 송신 서버(234)는 상기 클라이언트(210)로 응답 패킷(235)을 송신하지만 클라이언트(210)로부터의 서비스 요청 패킷(221)은 수신하지 않는다. 즉, 클라이언트(110)로부터의 서비스 요청 패킷(140)의 수신을 담당하는 수신 서버(120)와 상기 클라이언트(110)로 응답 패킷의 송신을 담당하는 송신 서버 그룹(230)가 분리되어 수신과 송신 과정을 각각 전담한다.When the client 210 transmits the service request packet 211, the receiving server 220 in the receiving server group 220 receives the service request packet 211 and generates first information 222 corresponding thereto. To the first transmission server 231, the second transmission server 232, the third transmission server 233, and the fourth transmission server 234 of the transmission server group 230. Conventionally, the receiving server 221 according to the present invention receives the service request packet 140 from the client 210 as compared with all the transmission and reception process from the client to the corresponding response to the corresponding response is performed in one server ), But does not send a response packet 235 to the service request packet 211. Further, the first sending server 231, the second sending server 232, the third sending server 233, and the fourth sending server 234 send the response packet 235 to the client 210, but the client The service request packet 221 from 210 is not received. That is, the receiving server 120 that is responsible for receiving the service request packet 140 from the client 110 and the transmitting server group 230 that is responsible for transmitting the response packet to the client 110 are separated and received and transmitted. Dedicate each process.

수신 서버 그룹(220)로부터 제 1 송신서버(231), 제 2 송신 서버(232), 제 3 송신 서버(233) 및 제 4 송신 서버(234)로 각각 송신하는 제 1 정보(222)에는, 상기 서비스 요청 패킷(211)에 대응하여 생성할 응답 패킷(235)에 관한 정보를 포함하고 있다. 또한, 상기 제 1 정보(222)는 상기 서비스 요청 패킷(211)의 소스 네트워크 주소를 포함하는데, 이때 상기 소스 네트워크 주소라 함은 상기 클라이언트(210)의 네트워크 주소를 말하며, 상기 제 1 정보(222)는 상기 서비스 요청 패킷(211)의 소스 포트 번호인 클라이언트(210)의 포트 번호를 포함한다. 또한, 상기 제 1 정보(222)는 상기 서비스 요청 패킷(211)의 목적지 포트 번호인 송수신 네트워크(100)의 대표 포트 번호, 즉 수신 서버(120)의 포트 번호를 포함한다. In the first information 222 transmitted from the reception server group 220 to the first transmission server 231, the second transmission server 232, the third transmission server 233, and the fourth transmission server 234, respectively, Information on the response packet 235 to be generated corresponding to the service request packet 211 is included. In addition, the first information 222 includes a source network address of the service request packet 211, where the source network address refers to a network address of the client 210 and the first information 222. ) Includes a port number of the client 210 which is a source port number of the service request packet 211. In addition, the first information 222 includes a representative port number of the transmission / reception network 100, that is, a destination port number of the service request packet 211, that is, a port number of the reception server 120.

송신 서버 그룹(230)에 포함되어 있는 제 1 송신서버(231), 제 2 송신 서버(232), 제 3 송신 서버(233) 및 제 4 송신 서버(234)는 상기 수신 서버(221)로부터 제 1 정보(222)를 각각 수신한다. 상기 제 1 정보(222)에는 요청 패킷의 네트워크 주소 및 포트 번호가 포함되어, 각 송신 서버(231, 232, 233, 234)가 클라이언트(210)로 응답 패킷(235)을 생성하여 송신하는 데에 사용된다. The first transmission server 231, the second transmission server 232, the third transmission server 233, and the fourth transmission server 234 included in the transmission server group 230 are configured from the reception server 221. Each piece of information 222 is received. The first information 222 includes a network address and a port number of the request packet, so that each transmission server 231, 232, 233, and 234 generates and transmits a response packet 235 to the client 210. Used.

다시 말해, 각 송신 서버(231, 232, 233, 234)는 상기 제 1 정보(222)에 기초하여, 클라이언트(210)로부터 수신한 서비스 요청 패킷(211)의 소스 네트워크 주소를 응답 패킷(235)의 목적지 네트워크 주소로서 할당하고, 서비스 요청 패킷의 목적지 주소를 응답 패킷(235)의 소스 네트워크 주소로 할당하고, 서비스 요청 패킷(211)의 소스 포트 번호를 응답 패킷(235)의 목적지 포트 번호로 할당하고, 서비스 요청 패킷(211)의 목적지 포트 번호를 응답 패킷(235)의 소스 포트 번호로 할당하여 응답 패킷(235)을 생성한다. 또한, 상기 응답 패킷(235)에는 시퀀스 넘버가 포함되어 생성된다. 따라서, 클라이언트(210)가 복수 개의 개수로 구성된 송신 서버(231, 232, 233, 234)로부터 응답 패킷(235)을 수신할 수 있다.In other words, each transmission server 231, 232, 233, and 234 responds to the source network address of the service request packet 211 received from the client 210 based on the first information 222. Assigns the destination network address of the service request packet to the source network address of the response packet 235, and assigns the source port number of the service request packet 211 to the destination port number of the response packet 235. The destination port number of the service request packet 211 is assigned to the source port number of the response packet 235 to generate a response packet 235. In addition, the response packet 235 is generated by including a sequence number. Accordingly, the client 210 may receive the response packet 235 from the plurality of transmission servers 231, 232, 233, and 234.

제 1 송신서버(231), 제 2 송신 서버(232), 제 3 송신 서버(233) 및 제 4 송신 서버(234)는 상기 수신 서버 그룹(220)로부터 송신할 응답 패킷(235)의 수를 분배 받고 클라이언트(210)로 할당 받은 응답 패킷(235)을 송신한다. 각 송신 서버(231, 232, 233, 234)에서 생성되어 상기 클라이언트(210)로 송신되는 응답 패킷(235)에는 클라이언트(210)에서의 패킷의 식별이 가능한 시퀀스 넘버가 부여되어 있다. The first transmission server 231, the second transmission server 232, the third transmission server 233, and the fourth transmission server 234 determine the number of response packets 235 to be transmitted from the receiving server group 220. The response packet 235 distributed and allocated to the client 210 is transmitted. The response packet 235 generated at each transmission server 231, 232, 233, and 234 and transmitted to the client 210 is assigned a sequence number for identifying the packet at the client 210.

클라이언트(210)는 상기 복수 개의 송신 서버(231, 232, 233, 234)로부터 시퀀스 넘버가 부여되어 있는 응답 패킷(235)을 수신한다. 이때, 클라이언트(210)는 소스 네트워크의 주소가 상기 송수신 네트워크(200) 주소이고 목적지 주소가 클라이언트(210)로 되어 있는 응답 패킷(235)을 수신한다. 따라서 클라이언트(210) 측에서는 하나의 서버에서 패킷의 송수신이 이루어지는 기존의 서버와의 차이점을 알 수 없다. 또한, 송신 서버 그룹(230), 즉 복수 개로 구성된 송신 서버(231, 232, 233, 234)가 각각 클라이언트(210)로 응답 패킷(235)을 송신하므로, 상기 클라이언트(210)에서 상기 응답 패킷(235)을 수신하는 속도 및 효율이 보다 향상 될 수 있다.The client 210 receives a response packet 235 assigned a sequence number from the plurality of transmission servers 231, 232, 233, and 234. At this time, the client 210 receives a response packet 235 having an address of the source network as the transmission / reception network 200 address and a destination address as the client 210. Therefore, the client 210 may not know the difference from the existing server that transmits and receives packets in one server. In addition, since the transmission server group 230, that is, a plurality of transmission servers 231, 232, 233, and 234, respectively transmits the response packet 235 to the client 210, the response packet ( 235 speed and efficiency of receiving may be further improved.

클라이언트(210)는 상기 복수 개의 송신 서버(231, 232, 233, 234)로부터 응답 패킷(235)을 수신하고 제 2 응답 패킷을 송수신 네트워크(200) 측으로 전송한다. 이때, 상기 제 2 응답 패킷은 클라이언트(100)가 상기 복수 개의 송신 서버(231, 232, 233, 234)로부터 수신한 응답 패킷(235)에 대한 응답으로서 송수신 네트워크(200)로 전송된다.The client 210 receives the response packet 235 from the plurality of transmission servers 231, 232, 233, and 234 and transmits a second response packet to the transmission / reception network 200. In this case, the second response packet is transmitted to the transmission / reception network 200 as a response to the response packet 235 received by the client 100 from the plurality of transmission servers 231, 232, 233, and 234.

이와 같이, 본 발명에 따른 서비스 처리 시스템은 사용자에 의해 상기 클라이언트(210)에 별도의 프로그램을 설치해야 하는 번거로움 없이도, 복수 개의 송신 서버로부터 데이터를 수신할 수 있으므로 기존의 서비스 처리 시스템보다 보다 빠르게 원하는 서비스를 받을 있다.In this way, the service processing system according to the present invention can receive data from a plurality of transmission servers without the need to install a separate program on the client 210 by the user, so that the service processing system is faster than the existing service processing system. You can get the service you want.

도 3는 본 발명에 따른 서비스 요청 패킷을 도시한 도면이고, 도 4는 본 발명에 따른 제 1 정보를 도시한 도면이며, 도 5는 본 발명에 따른 응답 패킷을 도시한 도면이다. 3 is a diagram illustrating a service request packet according to the present invention, FIG. 4 is a diagram illustrating first information according to the present invention, and FIG. 5 is a diagram illustrating a response packet according to the present invention.

클라이언트(210)가 서비스 요청 패킷(211)을 전송하면, 서비스 요청 패킷(211)은 클라이언트(210)로부터 송수신 네트워크(200) 내의 수신 서버 그룹(221) 내의 수신 서버(221)로 전달된다. 서비스 요청 패킷(211)은 도 3에 도시된 바와 같이, 소스 네트워크 주소(301), 목적지 주소(302), 소스 포트 번호(303), 목적지 포트 번호(80) 및 데이터 필드(305)로 구성된다. 소스 네트워크 주소(301)는 상기 클라이언트(210)의 네트워크 주소이며, 목적지 주소(302)는 상기 서비스 요청 패킷(211)을 수신하는 송수신 네트워크(200)의 주소이며, 소스 포트 번호(303)는 클라이언트(210)의 포트 번호이고, 목적지 포트 번호(304)는 상기 서비스 요청 패킷을 수신하는 송수신 네트워크(200)의 포트 번호이다. 이때, 상기 송수신 네트워크(200)의 주소와 포트 번호는 송수신 네트워크(200)내에 포함되어 있는 수신 서버 그룹(220) 또는 수신 서버 그룹(220)내의 특정 수신 서버의 네트워크 번호와 포트 번호이다.When the client 210 transmits the service request packet 211, the service request packet 211 is transmitted from the client 210 to the receiving server 221 in the receiving server group 221 in the transmission / reception network 200. The service request packet 211 is composed of a source network address 301, a destination address 302, a source port number 303, a destination port number 80, and a data field 305, as shown in FIG. 3. . A source network address 301 is a network address of the client 210, a destination address 302 is an address of the transmit / receive network 200 that receives the service request packet 211, and a source port number 303 is a client. Port number 210 is a destination port number 304 is a port number of the transmission and reception network 200 for receiving the service request packet. At this time, the address and port number of the transmission and reception network 200 are the network number and port number of the receiving server group 220 or the specific receiving server in the receiving server group 220 included in the transmission and reception network 200.

수신 서버 그룹(220) 내의 수신 서버(221)는 서비스 요청 패킷(221)을 수신하여 그에 대응하는 제 1 정보(222)를 생성하여 상기 송신 서버 그룹(230) 내의 각 송신 서버(231, 232, 233, 234)로 송신한다. 상기 수신 서버 그룹(220)내의 수신 서버(221)로부터 송신되는 각각의 제 1 정보(222)는 시퀀스 넘버(414)에 관한 정보를 포함하여 구성된다. 예를 들어, 도 4에 도시된 바와 같이, 수신 서버(221)는 송신 서버 그룹(230) 내의 각 송신 서버(231, 232, 233, 234)가 전송할 응답 패킷들의 시퀀스 넘버를 직접 지정하여 제1 정보(222)에 포함하여 각 송신 서버(231, 232, 233, 234)에게 전달할 수 있다. The receiving server 221 in the receiving server group 220 receives the service request packet 221 and generates first information 222 corresponding to the service request packet 221, so that each transmitting server 231, 232, 233, 234). Each first information 222 transmitted from the receiving server 221 in the receiving server group 220 includes information regarding the sequence number 414. For example, as shown in FIG. 4, the reception server 221 directly designates a sequence number of response packets to be transmitted by each transmission server 231, 232, 233, and 234 in the transmission server group 230, so that the reception server 221 may directly designate a first number. The information 222 may be included and transmitted to each transmission server 231, 232, 233, and 234.

또는, 본 발명의 또 다른 실시예에 따르면, 수신 서버(221)는 송신 서버 그룹(230) 내의 각 송신 서버(231, 232, 233, 234)가 전송할 응답 패킷들의 시퀀스 넘버 생성에 관한 규칙에 관한 정보를 시퀀스 넘버(414)에 관한 정보로 제1 정보(222)에 포함하여 전송할 수도 있다. 예를 들어, 수신 서버(221)는 각 송신 서버(231, 232, 233, 234)가 송신할 응답 패킷들의 시작 시퀀스 넘버 및 증가폭을 시퀀스 넘버(414)에 관한 정보로 제1 정보(222)에 포함하여 전송할 수도 있다. 예를 들어, 200 MB의 데이터를 전송하는 서비스를 위한 송신 서버들(231, 232, 233, 234)은 모두 상기 200 MB의 데이터를 저장하고, 수신 서버(221)는 송신 서버(231)에 대해서는 시작 시퀀스 넘버를 1, 증가폭을 4로, 송신 서버(232)에 대해서는 시작 시퀀스 넘버를 2, 증가폭을 4로, 송신 서버(233)에 대해서는 시작 시퀀스 넘버를 3, 증가폭을 4로, 송신 서버(234)에 대해서는 시작 시퀀스 넘버를 4, 증가폭을 4로 하여 시퀀스 넘버(414)에 관한 정보로 제1 정보(222)에 포함하여 전송한다. 그리고, 하나의 응답 패킷(235)에 저장되는 데이터가 1 MB라면, 송신 서버(231)는 200 MB의 데이터 중 0-1MB까지를 시퀀스 넘버 1로 하여 응답 패킷(235)으로 클라이언트(210)에 송신하고, 4-5MB까지를 시퀀스 넘버 5로 하여 클라이언트(210)에게 송신하는 식으로 수행하고, 송신 서버(232)는 200 MB의 데이터 중 1-2MB까지를 시퀀스 넘버 2로 하여 응답 패킷(235)으로 클라이언트(210)에 송신하고, 5-6MB까지를 시퀀스 넘버 6로 하여 클라이언트(210)에게 송신하는 식으로 수행하고, 송신 서버(233)는 200 MB의 데이터 중 2-3MB까지를 시퀀스 넘버 3로 하여 응답 패킷(235)으로 클라이언트(210)에 송신하고, 6-7MB까지를 시퀀스 넘버 7로 하여 클라이언트(210)에게 송신하는 식으로 수행하고, 송신 서버(234)는 200 MB의 데이터 중 3-4MB까지를 시퀀스 넘버 4로 하여 응답 패킷(235)으로 클라이언트(210)에 송신하고, 7-8MB까지를 시퀀스 넘버 8로 하여 클라이언트(210)에게 송신하는 식으로 수행한다. 그러면, 클라이언트(210)는 실제로는 200 MB의 데이터의 일부분들을 서로 다른 송신 서버들(231, 232, 233, 234)로부터 수신하지만, 클라이언트(210)의 입장에서는 하나의 서버에서 송신된 것으로 인식된다. 따라서, 클라이언트(210)의 프로그램은 아무런 수정이 없으면서도, 빠른 병렬 다운로드가 가능해지게 된다.Or, according to another embodiment of the present invention, the receiving server 221 is a rule relating to the generation of a sequence number of response packets to be transmitted by each transmitting server 231, 232, 233, 234 in the transmitting server group 230 The information may be included in the first information 222 as information about the sequence number 414 and transmitted. For example, the reception server 221 transmits the start sequence number and the increment of the response packets to be transmitted by each transmission server 231, 232, 233, and 234 to the first information 222 as information about the sequence number 414. It can also be transmitted. For example, all of the transmission servers 231, 232, 233, and 234 for a service for transmitting 200 MB of data store the 200 MB of data, and the receiving server 221 is configured for the transmission server 231. The start sequence number is 1, the increment is 4, the start server is 232, the start sequence number is 2, the increment is 4, the start server is 3, the increment is 4, and the send server ( For 234, the start sequence number is 4 and the increment is 4, and the first information 222 is transmitted as information about the sequence number 414. If the data stored in one response packet 235 is 1 MB, the transmission server 231 sends the client 210 the response packet 235 to the client 210 with a sequence number 1 of 0-1 MB among 200 MB of data. And up to 4-5MB of sequence number 5 to the client 210. The transmitting server 232 transmits a response packet 235 with up to 1-2MB of 200MB of data as sequence number 2. Is transmitted to the client 210 with the sequence number 6, and the transmission server 233 transmits the sequence number up to 2-3 MB of the 200 MB of data. 3 is transmitted to the client 210 in the response packet 235, and up to 6-7 MB is transmitted to the client 210 with the sequence number 7, and the transmitting server 234 is the 200 MB of data. Client 210 with response packet 235 with sequence number 4 up to 3-4 MB And transmitting, by the 7-8MB up to sequence number 8 and carried out in such a manner as to transmit to the client 210. Then, the client 210 actually receives a portion of the 200 MB of data from different transmission servers 231, 232, 233, and 234, but recognizes that the client 210 is transmitted from one server. do. Thus, the program of the client 210 can be quickly and parallel download without any modification.

각 송신 서버(231, 232, 233, 234)로 수신되는 제 1 정보(222)는 각각 다른 시퀀스 넘버(414)를 갖는다. 이와 같이 각각 다른 시퀀스 넘버를 갖는 제 1 정보(222)가 수신 서버 그룹(220) 내의 특정 수신 서버에 의해 각 송신 서버(231, 232, 233, 234)로 전송된다. The first information 222 received at each transmission server 231, 232, 233, 234 has a different sequence number 414, respectively. In this manner, the first information 222 having different sequence numbers is transmitted to each transmission server 231, 232, 233, and 234 by a specific reception server in the reception server group 220.

상기 제 1 정보(222)는 패킷의 데이터 필드에 상기 서비스 요청 패킷의 소스 네트워크 주소(411), 소스 포트 번호(412), 목적지 포트 번호(413) 및 시퀀스 넘버(414)를 포함하여 구성된다. The first information 222 includes a source network address 411, a source port number 412, a destination port number 413, and a sequence number 414 of the service request packet in a data field of the packet.

상기 제 1 정보(222)를 상기 각 송신 서버(231, 232, 233, 234)로 송신하는 수신 서버 그룹(220)내의 특정 수신 서버(221)는, 상기 각 송신 서버(231, 232, 233, 234)에 의하여 생성되는 상기 응답 패킷(235)의 수를 소정의 기준에 따라 결정하여 분배한다. 이때, 상기 수신 서버(221)가 판단의 근거로 이용하는 소정의 기준으로는, 각 송신 서버(231, 232, 233, 234)의 유휴 대역폭, 업링크 대역폭, 부하, 홉수, 응답 패킷의 손실률 등이 있을 수 있다. 또한, 각 송신 서버(231, 232, 233, 234)에서 송신되는 응답 패킷(235)의 수를 상기 소정의 기준에 의하여 추계적으로 결정할 수 있다. The specific receiving server 221 in the receiving server group 220 that transmits the first information 222 to each of the transmitting servers 231, 232, 233, and 234 includes the transmitting servers 231, 232, 233,. The number of response packets 235 generated by 234 is determined and distributed according to a predetermined criterion. In this case, the predetermined criteria used by the receiving server 221 as the basis of the determination include the idle bandwidth, the uplink bandwidth, the load, the number of hops, and the loss rate of the response packet of each transmitting server 231, 232, 233, 234. There may be. In addition, the number of response packets 235 transmitted from each transmission server 231, 232, 233, and 234 can be determined based on the predetermined criteria.

예를 들어, 제 1 송신 서버(231), 제 2 송신 서버(232), 제 3 송신 서버(233) 및 제 4 송신 서버(234)의 업링크 대역폭이 각각 10 Mbps, 20 Mbps, 10 Mbps, 10 Mbps 일 경우에는, 상기 수신 서버(221)가 각 송신 서버(231, 232, 233, 234)에서 송신할 응답 패킷(235)의 비율이 1: 2: 1: 1 이 되도록 결정한다. 따라서, 도 4에 도시된 각각의 응답 패킷(235)을 각 송신 서버(231, 232, 233, 234)에 분배하면, 제 1 시퀀스 넘버 응답 패킷(a)은 제 1 송신 서버(231)로, 제 2 응답 패킷(b)과 제 3 응답 패킷(c)은 제 2 송신 서버(232)로, 제 4 응답 패킷(d)은 제 3 송신 서버(233)로, 제 5 응답 패킷(e)은 제 4 송신 서버(234)로 각각 분배되며, 다시 제 6 응답 패킷(f)은 제 1 송신 서버(231)로, 제 7 응답 패킷(g)과 제 8 응답 패킷(h)은 제 2 송신 서버(232)로, 제 9 응답 패킷(i)은 제 3 송신 서버(233)로 분배되며, 이후의 응답 패킷(235) 또한 상기 수신 서버(221)에 의해 각 송신 서버(231, 232, 233, 234)의 업링크 대역폭의 비율에 맞게 클라이언트(210)로 송신하도록 분배된다. For example, the uplink bandwidths of the first transmission server 231, the second transmission server 232, the third transmission server 233, and the fourth transmission server 234 may be 10 Mbps, 20 Mbps, 10 Mbps, In case of 10 Mbps, the reception server 221 determines that the ratio of the response packets 235 to be transmitted from each transmission server 231, 232, 233, and 234 is 1: 2: 1. Therefore, if each response packet 235 shown in FIG. 4 is distributed to each transmission server 231, 232, 233, and 234, the first sequence number response packet a is sent to the first transmission server 231. The second response packet (b) and the third response packet (c) to the second transmission server 232, the fourth response packet (d) to the third transmission server 233, and the fifth response packet (e) The sixth response packet f is distributed to the fourth transmission server 234, and the sixth response packet f is transmitted to the first transmission server 231, and the seventh response packet g and the eighth response packet h are second transmission servers. 232, the ninth response packet i is distributed to the third transmission server 233, and the subsequent response packet 235 is also transmitted by the reception server 221 to each transmission server 231, 232, 233,. 234 to distribute to the client 210 in proportion to the uplink bandwidth ratio.

송신 서버 그룹(230)내의 각각의 송신 서버(231, 232, 233, 234)는 이와 같이 구성된 제 1 정보(222)를 수신 서버 그룹(220)내의 특정 수신 서버(220)로부터 수신하여 상기 클라이언트(210)로 전송되는 응답 패킷(235)에 적용하여 클라이언트(210)로 송신한다. 상기 송신 서버 그룹(230)의 각 송신 서버(231, 232, 233, 234)로부터 상기 클라이언트(210)로 전송되는 응답 패킷(235)은 도 5의 a에 도시된 바와 같이, 소스 네트워크 주소(521), 목적지 주소(522), 소스 포트 번호(523), 목적지 포트 번호(524), 시퀀스 넘버(525) 및 데이터 필드(526)로 구성된다.Each transmission server 231, 232, 233, and 234 in the transmission server group 230 receives the first information 222 thus configured from the specific reception server 220 in the reception server group 220 to receive the client ( It applies to the response packet 235 transmitted to 210 and transmits it to the client 210. The response packet 235 transmitted from each transmission server 231, 232, 233, and 234 of the transmission server group 230 to the client 210 is a source network address 521, as shown in FIG. 5A. ), A destination address 522, a source port number 523, a destination port number 524, a sequence number 525, and a data field 526.

송신 서버(130)는 상기 제 1 정보에 기초하여, 클라이언트(110)로부터 수신한 서비스 요청 패킷의 목적지 주소(302)를 응답 패킷의 소스 네트워크 주소(522)로서 할당하고, 요청 패킷의 소스 네트워크 주소(301)를 목적지 주소(522)로 할당하고, 서비스 요청 패킷의 목적지 포트 번호(304)를 응답 패킷의 소스 포트 번호(523)로 할당하며, 서비스 요청 패킷의 소스 포트 번호(303)를 응답 패킷의 목적지 포트 번호(524)로 할당하여 데이터 필드(526)와 함께 응답 패킷을 구성하게 한다. 이때, 상기 응답 패킷에는 시퀀스 넘버(525)를 부여하여 클라이언트(210)가 복수 개의 개수로 구성된 각 송신 서버(231, 232, 233, 234)로부터 응답 패킷(235)을 수신 할 수 있도록 한다.The transmitting server 130 assigns the destination address 302 of the service request packet received from the client 110 as the source network address 522 of the response packet based on the first information, and the source network address of the request packet. 301 is assigned to the destination address 522, the destination port number 304 of the service request packet is assigned to the source port number 523 of the response packet, and the source port number 303 of the service request packet is assigned to the response packet. Is assigned to the destination port number 524 to form a response packet along with the data field 526. In this case, a sequence number 525 is assigned to the response packet so that the client 210 can receive the response packet 235 from each of the transmission servers 231, 232, 233, and 234.

클라이언트(210)는 각 상기 송신 서버(231, 232, 233, 234)로부터 응답 패킷(235)을 수신하고, 수신된 응답 패킷(235)의 시퀀스 넘버(525)를 참조하여 데이터를 구성한다. 또한, 응답 패킷(235)을 수신하였음을 통지하는 제 2 응답 패킷을 상기 송수신 네트워크(200) 전송하며, 수신을 전담하는 수신 서버(120)는 각 송신 서버(231, 232, 233, 234)로부터 상기 제 2 응답 패킷을 수신하여 상기 응답 패킷(235)의 전송이 클라이언트(210) 측으로 정상적으로 이루어 졌음을 확인한다.The client 210 receives the response packet 235 from each of the transmission servers 231, 232, 233, and 234, and configures data with reference to the sequence number 525 of the received response packet 235. In addition, the transmission and reception network 200 transmits a second response packet notifying that the response packet 235 has been received, and the reception server 120 dedicated to reception receives from each transmission server 231, 232, 233, and 234. The second response packet is received to confirm that the transmission of the response packet 235 is normally performed to the client 210.

도 6은 본 발명에 따른 일례에 따른 수신서버의 구성도를 도시한 도면이다. 6 is a diagram illustrating a configuration of a receiving server according to an example according to the present invention.

본 발명에 따른 수신 서버는 수신 모듈(610), 제어부(620) 및 송신 모듈(630)을 포함한다. 상기 수신 모듈(610)은 클라이언트(210)로부터 서비스 요청 패킷(211)을 수신한다. 상기 제어부(620)는 서비스 요청 패킷(211)에 대응한 제 1 정보(222)를 생성하고, 복수 개의 송신 서버(231, 232, 233, 234)로부터 상기 제 1 정보(222)를 송신할 복수 개의 송신 서버를 선택하고, 상기 서비스 요청 패킷(211)에 대응하여 상기 복수 개의 송신 서버(231, 232, 233, 234)의 각각에 의하여 생성되는 응답 패킷(235)의 수를 결정한다. 상기 송신 모듈(630)은 상기 제 1 정보(222)를 상기 복수 개의 송신 서버(231, 232, 233, 234)에 송신한다.The receiving server according to the present invention includes a receiving module 610, a control unit 620 and a transmitting module 630. The receiving module 610 receives the service request packet 211 from the client 210. The controller 620 generates first information 222 corresponding to the service request packet 211 and transmits the first information 222 from the plurality of transmission servers 231, 232, 233, and 234. Number of transmission servers are selected, and the number of response packets 235 generated by each of the plurality of transmission servers 231, 232, 233, and 234 is determined corresponding to the service request packet 211. The transmission module 630 transmits the first information 222 to the plurality of transmission servers 231, 232, 233, and 234.

상기 수신 모듈(610)은 클라이언트(210)로부터 소스 네트워크 주소(310), 목적지 주소(302), 소스 포트 번호(303), 목적지 포트 번호(80) 및 데이터 필드(305)로 구성된 서비스 요청 패킷(211)을 수신하고, 상기 제어부(620)로 전달한다.The receiving module 610 receives a service request packet composed of a source network address 310, a destination address 302, a source port number 303, a destination port number 80, and a data field 305 from the client 210. 211) and transmits it to the controller 620.

상기 제어부(620)는 송신 서버 그룹(230)내의 복수 개의 송신 서버(231, 232, 233, 234) 중에 제 1 정보를 송신할 송신 서버를 복수 개 선택하고, 송신 서버 그룹(230)내의 각각의 송신 서버(231, 232, 233, 234)에 의하여 생성되는 응답 패킷(160)의 수를 소정의 기준에 따라 결정하여 제 1 정보(222)를 각각의 송신 서버(231, 232, 233, 234)로 전송한다. 또한, 상기 제 1 정보(222)에는 시퀀스 넘버가 부여되어 있다. 이때, 상기 제어부(620)가 각 송신 서버(232, 232, 233, 234)가 응답 패킷(160)의 수를 결정하는 방법으로는, 각 송신 서버(232, 232, 233, 234)의 유휴 대역폭을 측정하는 방법을 사용할 수 있으며, 상기 유휴 대역폭은 각 송신 서버(232, 232, 233, 234) 업 링크(uplink) 대역폭에 기초하여 측정되고, 제어부(620)가 송신 서버(232, 232, 233, 234) 각각의 유휴 대역폭에 합당한 각 송신 서버(232, 232, 233, 234)의 응답 패킷의 수를 결정할 수 있다. The controller 620 selects a plurality of transmission servers to transmit the first information from among the plurality of transmission servers 231, 232, 233, and 234 in the transmission server group 230, and selects a plurality of transmission servers in the transmission server group 230. The number of response packets 160 generated by the transmission servers 231, 232, 233, and 234 is determined according to a predetermined criterion, so that the first information 222 is determined by the respective transmission servers 231, 232, 233, and 234. To send. In addition, a sequence number is assigned to the first information 222. In this case, as a method in which the control unit 620 determines the number of response packets 160 by each transmission server 232, 232, 233, and 234, the idle bandwidth of each transmission server 232, 232, 233, 234 is determined. The idle bandwidth is measured based on the uplink bandwidth of each transmission server 232, 232, 233, 234, and the control unit 620 transmits the transmission server 232, 232, 233. 234 may determine the number of response packets of each of the transmission servers 232, 232, 233, and 234 corresponding to each idle bandwidth.

또한, 제어부(620)는 각 송신 서버(232, 232, 233, 234)의 부하(load)를 계산하여 각 송신 서버(232, 232, 233, 234)의 각각에 의해 생성되는 응답 패킷(235)의 수를 결정할 수 있다. 상기 부하는 각 송신 서버 각 송신 서버(232, 232, 233, 234)가 송신해야 할 대기 중인 응답 패킷(235)의 양, 각 송신 서버(232, 232, 233, 234)가 접속되어 응답 패킷(235)을 송신 중인 클라이언트(210)의 수, 각 송신 서버((232, 232, 233, 234)가 송신 해야 할 응답 패킷(235)의 시간 등에 해당하여, 상기 제어부(620)에 의해 측정 될 수 있다.In addition, the control unit 620 calculates a load of each transmission server 232, 232, 233, and 234, and generates a response packet 235 generated by each of the transmission servers 232, 232, 233, and 234. The number of can be determined. The load is the amount of waiting response packets 235 to be transmitted by each transmission server 232, 232, 233, and 234, and each transmission server 232, 232, 233, 234 is connected to the response packet ( The number of clients 210 that are transmitting 235 and the time of the response packet 235 to be transmitted by each transmitting server 232, 232, 233, and 234 may be measured by the controller 620. have.

또한, 상기 제어부(620)가 각 송신 서버(232, 232, 233, 234)가 클라이언트(210)로 송신할 응답 패킷(235)의 수를 결정 하는 방법으로는, 송신 서버(232, 232, 233, 234) 각각으로부터 상기 클라이언트(210)에 이르기까지의 홉수(hop count)를 계산하여 결정하는 방법이 있다. 상기 홉수라 함은, 각 패킷이 네트워크 상의 목적지까지 라우터(router)에 의해 라우팅(routing) 되는 횟수를 말하는데, 홉수가 작을수록 각 송신 서버(232, 232, 233, 234)로부터 송신 되는 각 패킷의 이동 경로가 짧으므로 보다 빠르게 응답 패킷(235)을 송신할 수 있다. 따라서, 제어부(620)는 송신 서버(232, 232, 233, 234) 각각의 홉수에 따라 그에 상응한 비율로 응답 패킷(235)을 송신하도록 결정한다. 예를 들어, 상기 제 1 송신 서버(231)의 상기 클라이언트(210)까지 경로의 홉수가 4이고, 상기 제 2 송신 서버(232)가 상기 클라이언트(210)까지 경로의 홉수가 8인 경우, 상기 제어부(620)가 상기 제 1 송신 서버(231)가 클라이언트(210)로 송신할 응답 패킷(235)과 상기 제 2 송신 서버(232)가 클라이언트(210)로 송신할 응답 패킷(235)의 비율을 1대 2로 결정할 수 있다.In addition, the control unit 620 determines the number of response packets 235 each transmission server 232, 232, 233, and 234 transmits to the client 210. 234 may calculate and determine the hop count from each to the client 210. The number of hops refers to the number of times each packet is routed by a router to a destination on a network. The smaller the number of hops, the smaller the number of hops of each packet transmitted from each transmission server 232, 232, 233, 234. Since the moving path is short, the response packet 235 can be transmitted more quickly. Accordingly, the controller 620 determines to transmit the response packet 235 at a rate corresponding to the number of hops of each of the transmission servers 232, 232, 233, and 234. For example, when the number of hops of the path to the client 210 of the first transmission server 231 is 4 and the number of hops of the path to the client 210 is 8, the second The ratio of the response packet 235 that the control unit 620 transmits to the client 210 by the first transmission server 231 and the response packet 235 that the second transmission server 232 sends to the client 210 is determined. Can be determined to be one to two.

또한, 상기 제어부(620)가 각각의 송신 서버(232, 232, 233, 234)가 클라이언트(210)로 송신할 응답 패킷(235)의 수를 결정 하는 방법으로는, 각 송신 서버(231, 232, 233, 234)로부터 상기 클라이언트(210)로 응답 패킷(235)을 송신 중에 발생하는 패킷의 손실(packet loss)에 기초하여 상기 클라이언트(210)로 송신되는 응답 패킷(235)의 수를 결정 할 수 있다. 상기 패킷의 손실은 네트워크를 통한 패킷의 전송 중에 장해 등의 원인으로 발생하는데, 제어부(620)는 각 송신 서버 송신 서버(232, 232, 233, 234)의 단위 시간당 패킷 손실 또는 손실률을 이용하여 각각의 송신 서버(232, 232, 233, 234)로부터 송신될 응답 패킷(235)의 양을 결정 할 수 있다. 예를 들어, 상기 제 1 송신 서버(231)의 패킷 손실률이 1% 이고, 상기 제 2 송신 서버(232)의 패킷 손실률이 0% 인 경우, 제어부(620)는 상기 제 1 송신 서버(231)의 응답 패킷(235)의 수를 줄이고, 상기 제 2 송신 서버(232)의 응답 패킷(235)의 수를 늘리도록 결정할 수 있다.In addition, the control unit 620 determines the number of response packets 235 each transmission server 232, 232, 233, and 234 will transmit to the client 210, and each transmission server 231, 232. To determine the number of response packets 235 transmitted to the client 210 based on the packet loss occurring during transmission of the response packet 235 from the first, second, and second periods 233 and 234 to the client 210. Can be. The loss of the packet is caused by a failure during transmission of the packet through the network, and the controller 620 uses the packet loss or loss rate per unit time of each transmission server transmission server 232, 232, 233, 234, respectively. The amount of response packets 235 to be transmitted from the sending servers 232, 232, 233, 234 can be determined. For example, when the packet loss rate of the first transmission server 231 is 1% and the packet loss rate of the second transmission server 232 is 0%, the controller 620 may control the first transmission server 231. The number of response packets 235 may be reduced, and the number of response packets 235 of the second transmission server 232 may be increased.

또한, 상기 제어부(620)는 각각의 송신 서버(232, 232, 233, 234) 가 클라이언트(210)로 송신할 응답 패킷(235)의 수를 결정 하는 방법으로는, 각 송신 서버(232, 232, 233, 234)에 의하여 생성되는 상기 응답 패킷(235)의 수를 추계적(stochastic)으로 결정하여 시간의 경과에 따라 동적으로 변경하는 방법이 있으며, 상기 응답 패킷(235)을 추계적으로 결정한다 함은, 시간과 더불어 변화하는 부하의 양에 따라 통계적으로 응답 패킷(235)의 수를 결정하는 것을 말한다. 예를 들어, 각 송신 서버(232, 232, 233, 234)의 하루 동안의 부하의 양에 따라 각 송신 서버(232, 232, 233, 234)에서 송신할 응답 패킷(235)을 추계적으로 결정할 수 있다. 또한, 상기 송신 서버(232, 232, 233, 234)의 부하 양의 측정 시간을 1분 또는 1시간 등의 일정 시간 단위의 간격으로 적용하여, 소정의 시간에 따라 변화하는 각 송신 서버(232, 232, 233, 234)의 부하의 양에 보다 신속하게 대처 할 수 있다.In addition, the control unit 620 may determine the number of response packets 235 each transmission server 232, 232, 233, and 234 transmits to the client 210, and each transmission server 232, 232. And a method of dynamically determining the number of the response packets 235 generated by the first, second, and second periods 233, 234 and estimating the response packets 235. Means to statistically determine the number of response packets 235 according to the amount of load that changes with time. For example, according to the amount of load during each day of each transmission server 232, 232, 233, and 234, the response packet 235 to be transmitted from each transmission server 232, 232, 233, and 234 is determined to be estimated. Can be. In addition, by applying the measurement time of the load amount of the transmission server (232, 232, 233, 234) at intervals of a predetermined time unit such as one minute or one hour, each transmission server (232, It is possible to cope with the amount of load of the 232, 233, 234 more quickly.

제어부(620)는 이와 같은 방법에 의하여 상기 복수 개의 송신 서버(232, 232, 233, 234) 각각에 의하여 생성되는 응답 패킷(235)의 수를 결정하여 제 1 정보(222)를 생성하고, 상기 송신 모듈(630)로 전달한다.The control unit 620 generates the first information 222 by determining the number of response packets 235 generated by each of the plurality of transmission servers 232, 232, 233, and 234 by the above method. Transfer to the transmission module 630.

송신 모듈(630)은 상기 제어부(620)로부터 상기 제 1 정보(222)를 전달받아 각 송신 서버(232, 232, 233, 234)로 송신한다. 각 송신 서버(232, 232, 233, 234)는 상기 제 1 정보(222)를 수신하고 그에 따라 클라이언트(210)로 응답 패킷(235)을 송신한다.The transmission module 630 receives the first information 222 from the controller 620 and transmits the first information 222 to each transmission server 232, 232, 233, and 234. Each sending server 232, 232, 233, 234 receives the first information 222 and accordingly sends a response packet 235 to the client 210.

본 발명에 따르면, L4, L7 스위치와 같은 부하 분산 장치의 사용 없이도 서버에 집중되는 부하를 분산시켜 병목 현상을 해소하고 효율적인 데이터 통신이 가능하다.According to the present invention, it is possible to solve the bottleneck and efficient data communication by distributing the load concentrated on the server without using load balancers such as L4 and L7 switches.

또한 본 발명에 따르면, 클라이언트로부터의 데이터 수신은 수신 서버가 전담하고, 클라이언트로의 데이터 송신은 송신 서버가 전담하므로, 특정한 지점에 병목 현상이 발생하지 않는 분산 시스템이 제공된다. 특히, 종래의 L4 스위치 등이 수신되는 패킷뿐 아니라 송신하는 패킷도 모두 L4 스위치를 통하여야 하던 것에 비하여, 본 발명은 수신되는 패킷은 수신 서버로만 수신되고, 송신되는 패킷은 상기 수신 서버를 통하지 않고, 바로 송신 서버에 의하여 송신되므로, 종래기술에 따른 병목 현상의 문제가 해결된다.In addition, according to the present invention, since the receiving server is dedicated to receiving data from the client and the transmitting server is dedicated to transmitting data to the client, a distributed system is provided in which no bottleneck occurs at a specific point. In particular, the conventional L4 switch or the like, as well as the packet to be transmitted all received through the L4 switch, the present invention, the received packet is received only to the receiving server, the transmitted packet is not sent through the receiving server Since it is transmitted directly by the transmission server, the problem of the bottleneck according to the prior art is solved.

또한 본 발명에 따르면, 클라이언트로부터의 데이터 수신은 수신 서버가 전담하고, 클라이언트로의 데이터 송신은 송신 서버가 전담하는 구성에 있어서, 클라이언트에 별도의 프로그램을 설치하는 번거로움 없이, 클라이언트로부터의 하나의 서비스 요청 패킷에 응답하여, 복수 개의 송신 서버가 함께 상기 서비스 요청 패킷에 대응한 응답 패킷을 상기 클라이언트에게 송신하더라도 클라이언트는 이를 하나의 서버로부터 송신된 응답 패킷들로 인식시킬 수 있다.Further, according to the present invention, in the configuration in which the receiving server is dedicated to receiving data from the client, and the transmitting server is dedicated to receiving data from the client, one client from the client can be used without any trouble in installing a separate program on the client. In response to the service request packet, even if a plurality of transmitting servers together transmit a response packet corresponding to the service request packet to the client, the client may recognize the response packets as response packets transmitted from one server.

또한, 본 발명을 이용하면 분산된 네트워크 자원을 하나의 네트워크 자원처럼 인식하여 사용하는 네트워크 가상화(network virtualization)가 가능하다.In addition, the present invention enables network virtualization that recognizes and uses distributed network resources as one network resource.

또한, 본 발명에 따르면, 클라이언트로의 데이터 송신을 전담하는 복수 개의 송신 서버를 사용할 때, 상기 복수 개의 송신 서버들 각각에 의하여 송신되는 데이터의 양을 효율적으로 결정하여 데이터 전송 효율을 최대화할 수 있다.In addition, according to the present invention, when using a plurality of transmission servers dedicated to data transmission to a client, it is possible to efficiently determine the amount of data transmitted by each of the plurality of transmission servers to maximize data transmission efficiency. .

또한, 본 발명에 따르면, 복수 개로 구성된 송신 서버가 시퀀스 넘버가 다른 응답 패킷을 각각 클라이언트로 송신하고, 클라이언트는 복수 개의 송신 서버로부터 응답 패킷을 수신 할 수 있으므로 응답 패킷의 수신 속도 및 효율이 향상되어 기존의 서비스 처리 시스템보다 빠르게 원하는 서비스를 받을 수 있다.In addition, according to the present invention, since a plurality of transmission servers transmit response packets having different sequence numbers to the clients, and the client can receive response packets from the plurality of transmission servers, the reception speed and efficiency of the response packets are improved. Receive desired service faster than existing service processing system.

또한 종래의 P2P 기술은 청크 단위로(chunk by chunk) 병렬화가 진행되므로, 따라서 전용 프로그램의 설치가 필수적이었다. 그러나, 본 발명에서는 패킷 단위로(packet by packet) 병렬화가 진행되므로, 전용 프로그램의 설치가 필요 없다.In addition, in the conventional P2P technology, since parallelization proceeds in chunks, installation of a dedicated program was essential. However, in the present invention, since packet by packet parallelization proceeds, there is no need to install a dedicated program.

이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 이는 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명 사상은 아래에 기재된 특허 청구 범위에 의해서만 파악되어야 하고, 이의 균등 또는 등가적 변형 모두는 본 발명 사상의 범주에 속한다고 할 것이다.As described above, the present invention has been described by way of limited embodiments and drawings, but the present invention is not limited to the above-described embodiments, which can be variously modified and modified by those skilled in the art to which the present invention pertains. Modifications are possible. Accordingly, the spirit of the present invention should be understood only by the claims set forth below, and all equivalent or equivalent modifications thereof will belong to the scope of the present invention.

도 1은 본 발명의 일례에 따른 서비스 처리 시스템의 구성도를 도시한 도면이다.1 is a diagram illustrating a configuration of a service processing system according to an example of the present invention.

도 2는 본 발명의 또 다른 일례에 따른 서비스 처리 시스템의 구성도를 도시한 도면이다.2 is a diagram illustrating a configuration of a service processing system according to still another embodiment of the present invention.

도 3은 본 발명에 따른 서비스 요청 패킷을 도시한 도면이다.3 is a diagram illustrating a service request packet according to the present invention.

도 4는 본 발명에 따른 제 1 정보를 도시한 도면이다.4 is a diagram illustrating first information according to the present invention.

도 5는 본 발명에 따른 응답 패킷을 도시한 도면이다.5 is a diagram illustrating a response packet according to the present invention.

도 6은 본 발명에 따른 일례에 따른 수신서버의 구성도를 도시한 도면이다.6 is a diagram illustrating a configuration of a receiving server according to an example according to the present invention.

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

100: 송수신 네트워크100: transmit and receive network

110: 클라이언트110: client

125: 송신 서버 그룹125: Outgoing server group

120: 수신 서버120: receiving server

130: 제 1 송신 서버130: first sending server

135: 제 2 송신 서버135: second sending server

140: 서비스 요청 패킷140: service request packet

150: 제 1 정보150: first information

160: 응답 패킷160: response packet

Claims (20)

복수 개의 서버; 및A plurality of servers; And 상기 복수 개의 서버와 물리적으로 구분되고, 상기 복수 개의 서버와 네트워크로 연결되고, 클라이언트로부터 서비스 요청 패킷을 수신하고 상기 서비스 요청 패킷에 대응한 제 1 정보를 생성하여 상기 복수 개의 서버로부터 선택된 복수 개의 송신 서버에게 상기 제 1 정보를 송신하는 수신 서버A plurality of transmissions selected physically from the plurality of servers, physically separated from the plurality of servers, connected to the network with the plurality of servers, receiving a service request packet from a client, generating first information corresponding to the service request packet A receiving server for transmitting the first information to the server 를 포함하고,Including, 상기 복수 개의 송신 서버의 각각은 상기 제 1 정보에 따라, 상기 서비스 요청 패킷에 대응한 응답 패킷을 생성하여 상기 클라이언트로 전송하고,Each of the plurality of transmitting servers generates a response packet corresponding to the service request packet and transmits the response packet to the client according to the first information. 상기 제 1 정보는,The first information is, 상기 복수 개의 송신 서버의 각각이 상기 서비스 요청 패킷에 대응하여 생성할 응답 패킷에 관한 정보를 포함하는 것을 특징으로 하는 서비스 처리 시스템.And each of the plurality of transmission servers includes information on a response packet to be generated in response to the service request packet. 삭제delete 제 1항에 있어서,The method of claim 1, 상기 서비스 요청 패킷에 대응하여 상기 복수 개의 송신 서버의 각각에 의하여 생성된 응답 패킷의 시퀀스 넘버는 서로 다른 것을 특징으로 하는 서비스 처리 시스템.And a sequence number of a response packet generated by each of the plurality of transmission servers corresponding to the service request packet is different. 제 1항에 있어서, 상기 수신 서버는,The method of claim 1, wherein the receiving server, 상기 복수 개의 송신 서버의 각각에 의하여 생성되는 상기 응답 패킷의 시퀀스 넘버에 관한 정보를 상기 제 1 정보에 포함하여 상기 복수 개의 송신 서버의 각각에 송신하는 것을 특징으로 하는 서비스 처리 시스템.And the information relating to the sequence number of the response packet generated by each of the plurality of transmission servers is included in the first information and transmitted to each of the plurality of transmission servers. 제4항에 있어서, 상기 수신 서버는,The method of claim 4, wherein the receiving server, 상기 복수 개의 송신 서버의 각각에 의하여 생성되는 상기 응답 패킷의 수를 상기 송신 서버 각각의 유휴 대역폭, 업링크 대역폭, 부하, 홉수, 응답 패킷의 손실률 중 적어도 하나 이상의 기준에 따라 결정하는 것을 특징으로 하는 서비스 처리 시스템.Determine the number of response packets generated by each of the plurality of transmission servers according to at least one criterion of idle bandwidth, uplink bandwidth, load, number of hops, and loss rate of response packets of each transmission server. Service processing system. 제 1항에 있어서,The method of claim 1, 상기 서비스 요청 패킷에 대한 상기 응답 패킷의 소스 주소는 상기 송신 서버 및 상기 수신 서버에 할당된 대표 네트워크 주소이고, 상기 대표 네트워크 주소를 목적지 주소로 하는 패킷은 상기 수신 서버에 수신되는 것을 특징으로 하는 서비스 처리 시스템.The source address of the response packet to the service request packet is a representative network address assigned to the sending server and the receiving server, and a packet having the representative network address as a destination address is received at the receiving server. Processing system. 제 1항에 있어서,The method of claim 1, 상기 서비스 요청 패킷에 대응한 상기 제 1 정보는 상기 서비스 요청 패킷의 소스 네트워크 주소 및 상기 서비스 요청 패킷의 소스 포트 번호를 포함하는 것을 특징으로 하는 서비스 처리 시스템.And the first information corresponding to the service request packet includes a source network address of the service request packet and a source port number of the service request packet. 제7항에 있어서,The method of claim 7, wherein 상기 서비스 요청 패킷에 대응한 상기 제 1 정보는 상기 서비스 요청 패킷의 목적지 포트 번호를 포함하는 것을 특징으로 하는 서비스 처리 시스템.And the first information corresponding to the service request packet includes a destination port number of the service request packet. 제8항에 있어서,The method of claim 8, 상기 서비스 요청 패킷에 대한 상기 응답 패킷의 소스 포트 번호는 상기 제 1 정보에 포함된 상기 서비스 요청 패킷의 목적지 포트 번호이고, 상기 응답 패킷의 목적지 포트 번호는 상기 제 1 정보에 포함된 상기 서비스 요청 패킷의 소스 포트 번호인 것을 특징으로 하는 서비스 처리 시스템.The source port number of the response packet to the service request packet is a destination port number of the service request packet included in the first information, and the destination port number of the response packet is the service request packet included in the first information. And a source port number of the service processing system. 제 1항에 있어서, 상기 수신 서버는,The method of claim 1, wherein the receiving server, 상기 서비스 요청 패킷에 대한 응답 패킷을 생성하여 상기 클라이언트로 송신하지 않는 것을 특징으로 하는 서비스 처리 시스템.And do not generate a response packet to the service request packet to the client. 제 1항에 있어서, 상기 송신 서버는,The method of claim 1, wherein the transmission server, 상기 클라이언트로부터 상기 서비스 요청 패킷을 수신하지 않는 것을 특징으로 하는 서비스 처리 시스템.And do not receive the service request packet from the client. 제 1항에 있어서,The method of claim 1, 상기 수신 서버는 상기 복수 개의 서버의 유휴 대역폭을 측정하고, 상기 유휴 대역폭을 참조하여 상기 제 1 정보를 전달할 상기 복수 개의 송신 서버를 선택하는 것을 특징으로 하는 서비스 처리 시스템.And the reception server measures idle bandwidths of the plurality of servers and selects the plurality of transmission servers to transfer the first information with reference to the idle bandwidths. 물리적으로 구분되는 복수 개의 서버와 네트워크로 연결된 수신 서버에 있어서,In the receiving server connected to the plurality of physically separated servers and the network, 클라이언트로부터 서비스 요청 패킷을 수신하는 수신 모듈;A receiving module for receiving a service request packet from a client; 상기 서비스 요청 패킷에 대응한 제 1 정보를 생성하고, 상기 복수 개의 서버로부터 상기 제 1 정보를 송신할 복수 개의 송신 서버를 선택하고, 상기 서비스 요청 패킷에 대응하여 상기 복수 개의 송신 서버의 각각에 의하여 생성되는 응답 패킷의 수를 결정하는 제어부; 및Generating a first information corresponding to the service request packet, selecting a plurality of transmission servers to transmit the first information from the plurality of servers, and by each of the plurality of transmission servers in response to the service request packet. A controller to determine the number of response packets generated; And 상기 제 1 정보를 상기 복수 개의 송신 서버에게 송신하는 송신 모듈A transmission module for transmitting the first information to the plurality of transmission servers 을 포함하는 것을 특징으로 하는 수신 서버.Receiving server comprising a. 제 13항에 있어서, 상기 제어부는,The method of claim 13, wherein the control unit, 상기 복수 개의 송신 서버의 각각에 의하여 생성되는 상기 응답 패킷의 시퀀스 넘버에 관한 정보를 상기 제 1 정보에 포함하는 것을 특징으로 하는 수신 서버.And the first information includes information on a sequence number of the response packet generated by each of the plurality of transmission servers. 제 14항에 있어서,The method of claim 14, 상기 서비스 요청 패킷에 대응하여 상기 복수 개의 송신 서버의 각각에 의하여 생성된 응답 패킷의 시퀀스 넘버는 서로 다른 것을 특징으로 하는 수신 서버.And a sequence number of a response packet generated by each of the plurality of transmission servers corresponding to the service request packet is different. 제 13항에 있어서, 상기 제어부는,The method of claim 13, wherein the control unit, 상기 복수 개의 송신 서버의 각각의 업 링크 대역폭에 기초하여 상기 복수 개의 송신 서버의 각각에 의하여 생성되는 상기 응답 패킷의 수를 결정하는 것을 특징으로 하는 수신 서버.And determine the number of response packets generated by each of the plurality of transmission servers based on each uplink bandwidth of the plurality of transmission servers. 제 13항에 있어서, 상기 제어부는,The method of claim 13, wherein the control unit, 상기 복수 개의 송신 서버의 각각으로부터 상기 클라이언트까지의 홉(hop) 수에 기초하여 상기 복수 개의 송신 서버의 각각에 의하여 생성되는 상기 응답 패킷의 수를 결정하는 것을 특징으로 하는 수신 서버.And determine the number of response packets generated by each of the plurality of transmission servers based on the number of hops from each of the plurality of transmission servers to the client. 제 13항에 있어서, 상기 제어부는,The method of claim 13, wherein the control unit, 상기 복수 개의 송신 서버의 각각의 부하(load)에 기초하여 상기 복수 개의 송신 서버의 각각에 의하여 생성되는 상기 응답 패킷의 수를 결정하는 것을 특징으로 하는 수신 서버.And determine the number of the response packets generated by each of the plurality of transmission servers based on each load of the plurality of transmission servers. 제 13항에 있어서, 상기 제어부는,The method of claim 13, wherein the control unit, 상기 복수 개의 송신 서버의 각각의 단위 시간당 패킷 손실에 기초하여 상기 복수 개의 송신 서버의 각각에 의하여 생성되는 상기 응답 패킷의 수를 결정하는 것을 특징으로 하는 수신 서버.And a number of the response packets generated by each of the plurality of transmission servers based on packet loss per unit time of each of the plurality of transmission servers. 제 13항에 있어서, 상기 제어부는,The method of claim 13, wherein the control unit, 상기 복수 개의 송신 서버의 각각에 의하여 생성되는 상기 응답 패킷의 수를 추계적(stochastic)으로 결정하여 동적으로 변경하는 것을 특징으로 하는 수신 서버.And a number of the response packets generated by each of the plurality of transmission servers is stochastic and dynamically changes.
KR1020060124703A 2006-12-08 2006-12-08 Service processing system KR100915424B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060124703A KR100915424B1 (en) 2006-12-08 2006-12-08 Service processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060124703A KR100915424B1 (en) 2006-12-08 2006-12-08 Service processing system

Publications (2)

Publication Number Publication Date
KR20080052924A KR20080052924A (en) 2008-06-12
KR100915424B1 true KR100915424B1 (en) 2009-09-03

Family

ID=39807444

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060124703A KR100915424B1 (en) 2006-12-08 2006-12-08 Service processing system

Country Status (1)

Country Link
KR (1) KR100915424B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101011986B1 (en) * 2007-12-31 2011-01-31 팅크웨어(주) Distributed computing system, data classifying system and method for offerring distributed service

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020029441A (en) * 2000-08-21 2002-04-19 김영민 Distributed Server System and Method for Providing Data Using the Same
KR20040074752A (en) * 2003-02-18 2004-08-26 엘지엔시스(주) An apparatus and method for load balancing in finance server system
WO2005062176A1 (en) * 2003-12-18 2005-07-07 Club It Corporation Server/client system, load distribution device, load distribution method, and load distribution program

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020029441A (en) * 2000-08-21 2002-04-19 김영민 Distributed Server System and Method for Providing Data Using the Same
KR20040074752A (en) * 2003-02-18 2004-08-26 엘지엔시스(주) An apparatus and method for load balancing in finance server system
WO2005062176A1 (en) * 2003-12-18 2005-07-07 Club It Corporation Server/client system, load distribution device, load distribution method, and load distribution program
KR20070001911A (en) * 2003-12-18 2007-01-04 클러비트 가부시키가이샤 Server/client system, load distribution device, load distribution method, and load distribution program

Also Published As

Publication number Publication date
KR20080052924A (en) 2008-06-12

Similar Documents

Publication Publication Date Title
US9386085B2 (en) Techniques for providing scalable application delivery controller services
US8677011B2 (en) Load distribution system, load distribution method, apparatuses constituting load distribution system, and program
US6963917B1 (en) Methods, systems and computer program products for policy based distribution of workload to subsets of potential servers
CN102075445B (en) Load balancing method and device
US7792140B2 (en) Reflecting the bandwidth assigned to a virtual network interface card through its link speed
Gilly et al. An up-to-date survey in web load balancing
US20010014097A1 (en) Method and apparatus for providing an integrated cluster alias address
EP0858189A2 (en) Networking method
Gandhi et al. Rubik: Unlocking the power of locality and end-point flexibility in cloud scale load balancing
CN107948677B (en) Scheduling method, server and first peer node
US8630296B2 (en) Shared and separate network stack instances
JP5637749B2 (en) Packet relay device
JP5871908B2 (en) Method and system for controlling data communication within a network
EP3012742B1 (en) Data distribution system, data communication device and program for data distribution
US9832072B1 (en) Self-configuring computer network router
KR100915424B1 (en) Service processing system
Hwang et al. Load balancing and routing mechanism based on software defined network in data centers
Saifullah et al. Open flow-based server load balancing using improved server health reports
KR101541168B1 (en) Route control method for flow of controller in software defined network
CN109716310A (en) Server unit, transmitting device and program for content distribution system
KR100920327B1 (en) Service processing system
KR100922306B1 (en) Service processing system
US20240113959A1 (en) Instance-affine service scheduling
KR100890996B1 (en) Distributed flow control system
JP7099068B2 (en) Distributor, distribution method and distribution program

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee