KR100989490B1 - Sysem and its method for load distribution between servers - Google Patents

Sysem and its method for load distribution between servers Download PDF

Info

Publication number
KR100989490B1
KR100989490B1 KR1020030040058A KR20030040058A KR100989490B1 KR 100989490 B1 KR100989490 B1 KR 100989490B1 KR 1020030040058 A KR1020030040058 A KR 1020030040058A KR 20030040058 A KR20030040058 A KR 20030040058A KR 100989490 B1 KR100989490 B1 KR 100989490B1
Authority
KR
South Korea
Prior art keywords
server
service
load balancing
servers
state information
Prior art date
Application number
KR1020030040058A
Other languages
Korean (ko)
Other versions
KR20040110647A (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 KR1020030040058A priority Critical patent/KR100989490B1/en
Publication of KR20040110647A publication Critical patent/KR20040110647A/en
Application granted granted Critical
Publication of KR100989490B1 publication Critical patent/KR100989490B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5678Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)

Abstract

1. 청구범위에 기재된 발명이 속하는 기술분야1. TECHNICAL FIELD OF THE INVENTION

본 발명은, 각 서버간 부하 분산 시스템 및 그 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것임.The present invention relates to a load-balancing system between servers and a method thereof and a computer-readable recording medium having recorded thereon a program for realizing the method.

2. 발명이 해결하려고 하는 기술적 과제2. The technical problem to be solved by the invention

본 발명은, 서버와 서버 사이에서 발생하는 트랜잭션 처리시 부하를 분산시키기 위한 방법으로서, 하나의 서버에서 다른 서버로 서비스 요청시 각 서버에서 실시간으로 갱신되는 서버 상태 정보와 부하 분산 알고리즘을 이용하여, 동일한 서비스를 제공하는 서버 팜에서 하나의 서버를 선택함으로써 서버간에 발생하는 부하를 적절하게 분산시키기 위한, 각 서버간 부하 분산 시스템 및 그 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는데 그 목적이 있음.The present invention is a method for distributing load in processing a transaction occurring between a server and a server, by using server state information and a load balancing algorithm that is updated in real time at each server when a service request is made from one server to another server, By selecting one server from a server farm that provides the same service, a load-balancing system among the servers and a method for realizing the method and a program for realizing the method can be read by a computer that appropriately distributes the load generated between the servers. Its purpose is to provide a record carrier.

3. 발명의 해결 방법의 요지3. Summary of the Solution of the Invention

본 발명은, 각 서버간 부하 분산 시스템에 있어서, 다수의 서버가 동일한 서비스를 제공하는 서버 그룹인 서버 팜들이 계층적으로 연결되어, 상하위 서버간에 서비스 요청시 각 서버에서 실시간으로 갱신되는 서버 상태 정보와 부하분산알고리즘을 이용하여 상기 서버 팜에서 하나의 서버를 선택하여 서비스를 수행하되, 상기 각 서버는, 상하위 계층의 각 서버들의 상태를 저장하고 있는 상태 정보 테이블을 관리하기 위한 서버 상태 관리 수단; 자신의 리소스 상태 및 서비스 제공 상태를 상하위 계층의 각 서버들에게 주기적으로 전송해주기 위한 서버 상태 정보 전송 수단; 상하위 계층의 각 서버들로부터의 서비스 요청에 따라 해당 서비스를 수행하는 서버들에 대한 정보를 상기 상태 정보 테이블을 이용하여 추출한 후에 해당 서비스에 대하여 설정되어 있는 부하 분산 알고리즘에 따라 서비스 수행 서버를 선택하기 위한 서버 선택 수단; 및 상기 서버 선택 수단에서 선택된 상기 서비스 수행 서버에 서비스를 요청하기 위한 서비스 요청 수단을 포함함.According to the present invention, in a load balancing system between servers, server farms, which are server groups in which a plurality of servers provide the same service, are hierarchically connected, and server state information updated in real time by each server when a service request is performed between upper and lower servers. And performing a service by selecting one server in the server farm by using a load balancing algorithm, each server comprising: server state management means for managing a state information table storing states of respective servers of upper and lower hierarchies; Server state information transmitting means for periodically transmitting its resource state and service provision state to respective servers of the upper and lower layers; Selecting a service performing server according to the load balancing algorithm set for the service after extracting information on the servers performing the service according to the service request from each server in the upper and lower layers using the state information table. Server selection means for; And service requesting means for requesting a service from the service performing server selected by the server selecting means.

4. 발명의 중요한 용도4. Important uses of the invention

본 발명은 부하 분산 시스템 등에 이용됨.
The invention is used in load balancing systems and the like.

서버 팜, 각 서버간 부하 분산, 상태 정보 테이블, 부하분산알고리즘Server farm, load balancing between each server, state information table, load balancing algorithm

Description

각 서버간 부하 분산 시스템 및 그 방법{SYSEM AND ITS METHOD FOR LOAD DISTRIBUTION BETWEEN SERVERS} Load balancing system between each server and its method {SYSEM AND ITS METHOD FOR LOAD DISTRIBUTION BETWEEN SERVERS}             

도 1은 종래 방법에 따른 서버 부하 분산 스위치를 이용한 서버 시스템의 일실시예 구성도.1 is a configuration diagram of a server system using a server load balancing switch according to a conventional method.

도 2는 종래 방법에 따른 클러스터링을 이용한 서버 시스템의 일실시예 구성도.2 is a configuration diagram of a server system using clustering according to a conventional method.

도 3은 본 발명에 따른 각 서버간 부하 분산 시스템의 일실시예 구성도.Figure 3 is an embodiment configuration of a load balancing system between each server according to the present invention.

도 4는 본 발명에 따른 각 서버의 일실시예 상세 구성도.Figure 4 is a detailed configuration diagram of one embodiment of each server according to the present invention.

도 5는 본 발명에 따른 상태 정보 테이블의 일실시예 구조도.5 is a structural diagram of an embodiment of a state information table according to the present invention;

도 6은 본 발명에 따른 각 서버간 부하 분산 방법에 대한 일실시예 흐름도.
6 is a flowchart illustrating an embodiment of a method for load balancing between servers according to the present invention.

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

31 : 웹 서버 팜 32 : eAI 서버 팜31: Web Server Farm 32: eAI Server Farm

33 : SCM 서버 팜 34 : ERP 서버 팜33: SCM Server Farm 34: ERP Server Farm

35 : 클라이언트 41 : 서버 상태 관리부35: client 41: server state management unit

42 : 서버 상태 정보 전송부 43 : 서버 선택부 42: server status information transmission unit 43: server selection unit                 

44 : 서비스 요청부
44: service request unit

본 발명은, 각 서버간 부하 분산 시스템 및 그 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것으로서, 하나의 서버에서 다른 서버로 서비스 요청시 각 서버에서 실시간으로 갱신되는 서버 상태 정보와 부하 분산 알고리즘을 이용하여, 동일한 서비스를 제공하는 서버 팜에서 하나의 서버를 선택함으로써 서버간에 발생하는 부하를 적절하게 분산시키기 위한, 각 서버간 부하 분산 시스템 및 그 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것이다.The present invention relates to a load-balancing system between each server, and a method and a computer-readable recording medium recording a program for realizing the method, which are updated in real time when a service is requested from one server to another server. A load balancing system and a method between the servers and the method for appropriately distributing the load generated between the servers by selecting one server in a server farm providing the same service by using the server state information and load balancing algorithm The present invention relates to a computer-readable recording medium having recorded thereon a program for realizing this.

흔히 말하는 교통 체증은 현실 세계의 도로에서만 발생하는 것이 아니라, 우리 사회의 중요한 인프라 구실을 하고 있는 인터넷에서도 트래픽 체증이 일반화되고 있으며, 그로 인한 사용자 개개인의 피해와 우리 사회의 비용 부담은 이만저만 큰 것이 아니다.Traffic jams are not only happening on roads in the real world, but traffic jams are becoming common on the Internet, which serves as an important infrastructure for our society, and the damage to each user and the cost burden of our society are not so great. .

일례로, 대입 인터넷접수 마감날 "서버 다운으로 접속이 안됩니다" 라는 메시지에 많은 수험생과 부모들이 발을 동동 굴렀다는 신문의 보도도 심심찮게 접할 수 있다. 또한, 온라인 주식거래 도중 시스템 장애로 손해를 보는 경우도 많다. 공들여 작성한 이력서를 온라인으로 접수했는데 회사 서버다운으로 접수 자체가 안된 것을 뒤늦게 발견하고 허탈해하기도 한다. 이와 같이, 인터넷 뱅킹과 사이버 트레이딩 등 온라인으로 처리하는 업무가 급증하고 있는 만큼 기업에 있어서 효율적인 시스템 관리의 필요성은 더욱 절실하다고 하겠다.For example, the newspaper reports that many examinees and parents rolled their feet on the message "Can't connect to the server down" on the deadline. In addition, they often suffer from system failures during online stock trading. I received my elaborate resume online, but I found it late and found it unusable due to the company's server down. As such, the number of online processing such as Internet banking and cyber trading is increasing rapidly. Therefore, the necessity of efficient system management is more urgent for the enterprise.

한편, 서버다운은 주로 사용자 폭주로 처리해야 할 트래픽이 가중될 때 발생한다. 특히, 모든 트래픽이 거치는 특정 서버나 방화벽 주변에 데이터가 몰리면 장애가 일어나기 쉽다. 즉, 서버에 과도한 트랜잭션 발생시 병목 현상을 일으키게 되므로, 서버의 부하를 적절히 분산시키는 기술이 필요하다.Server downtime, on the other hand, occurs mainly when the traffic that needs to be handled due to congestion increases. In particular, if data is gathered around a particular server or firewall through which all traffic passes, it is prone to failure. In other words, since a bottleneck occurs when excessive transactions occur in the server, a technique for properly balancing the load on the server is required.

일반적으로 서버의 부하를 분산시키는 기술은 클라이언트로부터 발생되는 트랜잭션을 분산시키기 위하여 특정한 알고리즘에 따라서 서버를 선택하는 부하 분산 스위치를 사용하는 방법과 클러스터링을 통해서 이중화 및 부하 분산을 제공하는 방법이 널리 쓰이고 있다. 이를 도 1과 도2를 각각 참조하여 상세히 살펴보기로 한다.In general, a technique for load balancing a server is to use a load balancing switch that selects a server according to a specific algorithm to distribute transactions generated from a client, and to provide redundancy and load balancing through clustering. . This will be described in detail with reference to FIGS. 1 and 2, respectively.

먼저, 도 2에 도시된 바와 같이, 클러스터링을 이용한 서버 시스템은 두개 이상의 서버에 동일한 애플리케이션 프로그램을 설치한 뒤 가상의 대표 IP주소를 설정해 사용자가 이 대표 IP로 접속할 때 서버 간 고유의 알고리즘을 이용해 여러 서버에 부하를 분산해 성능을 높인다는 개념이다. 특히, 이 방식은 특정 서버의 장애 시에도 서비스를 중단없이 계속할 수 있도록 지원한다. 그러나, 이 방법은 서버에 공유 스토리지(SAN, SCSI)와 서버간을 연결하는 전용 통신 장치가 필요하고, 추가로 고가의 부하 분산용 애플리케이션 프로그램을 설치해야 하므로, 소프트웨어 및 하드웨어 구입에 따른 추가비용과 서버의 성능 저하 등의 문제점이 있었다. 또 한, 까다로운 하드웨어, 소프트웨어 환경 설정과 운영 경험이 필요하며, 클러스터링으로 묶이는 서버의 수가 늘수록 시스템이 불안정해지는 단점이 있다.First, as shown in FIG. 2, a server system using clustering uses a unique algorithm between servers when a user connects to this representative IP by installing a virtual representative IP address after installing the same application program on two or more servers. The concept is to increase the performance by balancing the load on the server. In particular, this approach allows service to continue uninterrupted even in the event of a specific server failure. However, this method requires dedicated communication devices that connect shared storage (SAN, SCSI) and server-to-server on servers, and requires the installation of additional expensive load balancing application programs. There was a problem such as poor server performance. In addition, it requires difficult hardware and software configuration and operation experience, and the system becomes unstable as the number of servers bound by clustering increases.

그리고, 서버 부하 분산 스위치를 이용한 서버 시스템은 도 1에 도시된 바와 같다. 일반적으로 부하 분산 스위치로 흔히 쓰이는 것이 레이어4 스위치이다. 보통 L4 스위치로 불리는데 서버 앞단에 위치해서 서버들을 대표하는 공인 IP주소(VIP)를 갖고 외부에서 서버 접속 요청이 있을 때 이 주소로 접속을 요구하게 된다. 이때 L4 스위치는 요청하는 서비스의 포트에 따라서 적절한 서버로 세션을 넘겨주는 역할을 한다. 이 방법은 지금까지도 서버 부하 분산에 가장 많이 사용되는 방법으로, 서비스 사업자들은 고가의 고성능 서버보다 여러 대의 저가 서버를 이용해 높은 성능의 안정적인 서비스를 할 수 있게 되었다. 최근에는 레이어4 뿐 아니라 레이어7까지 모든 영역을 이용한 부하 분산 서비스도 가능하기 때문에 L4―L7 스위치라고 부르기도 한다. 그러나, 이 방법은 스위치 도입 비용과 네트워크 변경 비용이 많이 들게 된다.In addition, the server system using the server load balancing switch is as shown in FIG. Commonly used as a load balancing switch is a layer 4 switch. Usually called L4 switch, it is located at the front of the server and has a public IP address (VIP) that represents the servers and requests connection to this address when a server connection request is made from outside. At this time, L4 switch plays a role of handing session to appropriate server according to requested service port. This method is still the most widely used method for server load balancing, allowing service providers to provide high performance and stable service using multiple low cost servers rather than expensive high performance servers. Recently, it is also called L4-L7 switch because load balancing service using all areas not only layer 4 but also layer 7 is possible. However, this method is expensive to switch and network change.

한편, 위에서 설명한 일반적인 서버 부하 분산 방법들은 하이퍼 텍스트 전송 프로토콜(HTTP : Hypertext Transfer Protocol), 파일 전송 프로토콜(FTP : File Transfer Protocol) 등을 이용하여 클라이언트에서 서버로 전달되는 트랜잭션에 대한 부하에 대해서만 분산 기능을 제공하고, 서버에서 서버로 전달되는 데이터베이스 관리 시스템(DBMS : DataBase Management System), 소켓(Socket), 원격 프로시져 호출(RPC : Remote Procedure Call) 등에 대한 부하 분산 기능은 제공되지 않는 문제점이 있었다. On the other hand, the general server load balancing methods described above are distributed only for the load on the transactions transferred from the client to the server using the Hypertext Transfer Protocol (HTTP) and the File Transfer Protocol (FTP). There was a problem that the load balancing function for the DBMS (Database Management System), the socket, the remote procedure call (RPC), etc., transmitted from the server to the server was not provided.                         

또한, 종래의 일반적인 서버 부하 분산 방법들은 단순한 부하 분산 알고리즘(Round Robin, Hash, Least Connection Scheduling 등)만을 지원하고 있기 때문에 어플리케이션 특성에 따른 유연한 부하 분산 알고리즘을 적용할 수 없었고, 그에 따라 보다 효과적으로 서버 부하 분산이 이루어지지 못하는 문제점이 있었다.
In addition, conventional server load balancing methods only support simple load balancing algorithms (Round Robin, Hash, Least Connection Scheduling, etc.), so that a flexible load balancing algorithm according to application characteristics cannot be applied. There was a problem that the dispersion is not achieved.

본 발명은, 상기와 같은 문제점을 해결하기 위하여 제안된 것으로, 서버와 서버 사이에서 발생하는 트랜잭션 처리시 부하를 분산시키기 위한 방법으로서, 하나의 서버에서 다른 서버로 서비스 요청시 각 서버에서 실시간으로 갱신되는 서버 상태 정보와 부하분산알고리즘을 이용하여, 동일한 서비스를 제공하는 서버 팜에서 하나의 서버를 선택함으로써 서버간에 발생하는 부하를 적절하게 분산시키기 위한, 각 서버간 부하 분산 시스템 및 그 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는데 그 목적이 있다.
The present invention, which is proposed to solve the above problems, as a method for distributing the load during the transaction processing between the server and the server, updating in real time at each server when a service request from one server to another server A load balancing system and a method among the servers, and a method thereof, for properly distributing loads among servers by selecting one server in a server farm providing the same service by using the server state information and the load balancing algorithm. An object of the present invention is to provide a computer-readable recording medium having recorded thereon a program for realizing this.

상기의 목적을 달성하기 위한 본 발명은, 각 서버간 부하 분산 시스템에 있어서, 다수의 서버가 동일한 서비스를 제공하는 서버 그룹인 서버 팜들이 계층적으로 연결되어, 상하위 서버간에 서비스 요청시 각 서버에서 실시간으로 갱신되는 서버 상태 정보와 부하분산알고리즘을 이용하여 상기 서버 팜에서 하나의 서버를 선택하여 서비스를 수행하되, 상기 각 서버는, 상하위 계층의 각 서버들의 상태를 저 장하고 있는 상태 정보 테이블을 관리하기 위한 서버 상태 관리 수단; 자신의 리소스 상태 및 서비스 제공 상태를 상하위 계층의 각 서버들에게 주기적으로 전송해주기 위한 서버 상태 정보 전송 수단; 상하위 계층의 각 서버들로부터의 서비스 요청에 따라 해당 서비스를 수행하는 서버들에 대한 정보를 상기 상태 정보 테이블을 이용하여 추출한 후에 해당 서비스에 대하여 설정되어 있는 부하 분산 알고리즘에 따라 서비스 수행 서버를 선택하기 위한 서버 선택 수단; 및 상기 서버 선택 수단에서 선택된 상기 서비스 수행 서버에 서비스를 요청하기 위한 서비스 요청 수단을 포함한다.The present invention for achieving the above object is, in the load balancing system between each server, a server farm, which is a server group in which a plurality of servers provide the same service is connected hierarchically, each server at the time of service request between the upper and lower servers The server status information and the load balancing algorithm are updated in real time to select a server in the server farm to perform a service, wherein each server stores a state information table that stores the state of each server in the upper and lower hierarchies. Server state management means for managing; Server state information transmitting means for periodically transmitting its resource state and service provision state to respective servers of the upper and lower layers; Selecting a service performing server according to the load balancing algorithm set for the service after extracting information on the servers performing the service according to the service request from each server in the upper and lower layers using the state information table. Server selection means for; And service requesting means for requesting a service from the service performing server selected by the server selecting means.

또한, 본 발명은, 각 서버간 부하 분산 방법에 있어서, 동일한 서비스를 제공하는 다수의 서버로 구성된 서버 팜에 포함된 각 서버가 자신의 상태 정보를 상하위 계층의 각 서버들에게 주기적으로 전송하고, 상기 상하위 계층의 각 서버들로부터 일정 주기로 전송되는 상태 정보를 상태 정보 테이블에 저장/관리하는 제 1 단계; 서비스를 요청받은 서버가 상태 정보 테이블에서 상기 서비스를 수행하는 서버들에 대한 정보를 추출하는 제 2 단계; 상기 서버가 상기 추출한 서버들의 정보를 이용하여 상기 서비스에 대하여 설정되어 있는 부하 분산 알고리즘에 따라 서비스 수행 서버를 선택하는 제 3 단계; 및 상기 서버가 상기 선택된 서비스 수행 서버로 서비스 요청 신호를 전송하는 제 4 단계를 포함한다.In addition, the present invention, in the load balancing method between each server, each server included in the server farm consisting of a plurality of servers providing the same service periodically transmits its status information to each server in the upper and lower tiers, A first step of storing / managing state information transmitted from respective servers of the upper and lower hierarchies in a state information table; A second step of extracting information on servers performing the service from a state information table by a server receiving a service; A third step of selecting, by the server, a service performing server according to a load balancing algorithm set for the service by using the extracted information of the servers; And a fourth step of the server transmitting a service request signal to the selected service performing server.

한편, 본 발명은, 각 서버간 부하 분산 시스템의 각 서버에, 동일한 서비스를 제공하는 다수의 서버로 구성된 서버 팜에 포함된 각 서버가 자신의 상태 정보를 상하위 계층의 각 서버들에게 주기적으로 전송하고, 상기 각 상하위 계층의 각 서버들로부터 일정 주기로 전송되는 상태 정보를 상태 정보 테이블에 저장/관리하는 제 1 기능; 서비스를 요청받은 서버가 상태 정보 테이블에서 상기 서비스를 수행하는 서버들에 대한 정보를 추출하는 제 2 기능; 상기 서버가 상기 추출한 서버들의 정보를 이용하여 상기 서비스에 대하여 설정되어 있는 부하 분산 알고리즘에 따라 서비스 수행 서버를 선택하는 제 3 기능; 및 상기 서버가 상기 선택된 서비스 수행 서버로 서비스 요청 신호를 전송하는 제 4 기능을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.On the other hand, the present invention, each server in the server farm consisting of a plurality of servers providing the same service to each server in the load balancing system between each server periodically transmits its status information to each server in the upper and lower tiers A first function of storing / managing state information transmitted from respective servers of the upper and lower hierarchies in a state information table in a state information table; A second function of extracting information on servers performing the service from a state information table by a server receiving a service; A third function of selecting, by the server, a service performing server according to a load balancing algorithm set for the service by using the extracted information of the servers; And a computer readable recording medium having recorded thereon a program for realizing a fourth function of the server transmitting a service request signal to the selected service performing server.

상술한 목적, 특징들 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이다. 이하 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명한다.The above-mentioned objects, features and advantages will become more apparent from the following detailed description in conjunction with the accompanying drawings. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 3은 본 발명에 따른 각 서버간 부하 분산 시스템의 일실시예 구성도이다.3 is a diagram illustrating an embodiment of a load balancing system between servers according to the present invention.

도 3에 도시된 바와 같이, 본 발명에 따른 각 서버간 부하 분산 시스템은, 웹 서버 팜(31), 기업 애플리케이션 통합(EAI) 서버 팜(32), 공급망관리(SCM : Supply Chain Management) 서버 팜(33), 전사적자원관리(ERP : Enterprise Resource Planning) 서버 팜(34)을 포함한다. 이 때, 서버 팜은 동일한 서비스를 제공하는 서버 그룹을 지칭한다.As shown in FIG. 3, each server-to-server load balancing system according to the present invention includes a web server farm 31, an enterprise application integration (EAI) server farm 32, and a supply chain management (SCM) server farm. (33), an enterprise resource planning (ERP) server farm 34. At this time, the server farm refers to a group of servers providing the same service.

먼저, 웹 서버 팜(31)은 인터넷을 통하여 접속한 클라이언트의 요청에 따라 각종 서비스를 제공하기 위한 다수의 서버(311, 312, 313)를 포함한다.First, the web server farm 31 includes a plurality of servers 311, 312, and 313 for providing various services in response to a request of a client connected through the Internet.

그리고, 기업 애플리케이션 통합(EAI : Enterprise Application Integ) 서버 팜(32)은 미들웨어를 이용하여 비즈니스 로직을 중심으로 기업내 각종 애플리케이 션을 통합하는 기능을 수행하기 위한 다수의 서버(321, 322)를 포함한다. 전통적인 미들웨어가 개별적인 애플리케이션을 포인트 투 포인트로 적용했다면, 기업 애플리케이션 통합(EAI)은 기업내 상호 연관된 모든 애플리케이션(SCM, CRM, ERP)을 유기적으로 연동시켜 필요한 정보를 통합하고 관리하고 사용할 수 있게 하는 솔루션이다.In addition, the enterprise application integration (EAI) server farm 32 includes a plurality of servers 321 and 322 for performing a function of integrating various applications in the enterprise based on business logic using middleware. do. Where traditional middleware has applied individual applications point-to-point, Enterprise Application Integration (EAI) is a solution that integrates, manages, and uses the necessary information by organically linking all interrelated applications in the enterprise (SCM, CRM, ERP). to be.

또한, 공급망관리(SCM : Supply Chain Management) 서버 팜(33)은 기업의 부품구매, 제조, 판매까지의 모든 일정을 수립하고 고객의 수요계획 및 물류현황을 체계적으로 정리하며, 제품의 흐름을 원활하고 효율적으로 수행하기 위한 다수의 서버(331, 332)를 포함한다. 최근 대부분의 기업들은 공급망관리(SCM)를 통하여 총비용과 소요시간을 단축하고, 매출, 신축성, 고객대응성을 증가시키고 있다.In addition, the supply chain management (SCM) server farm 33 establishes all schedules for the purchase, manufacture, and sales of parts, systematically organizes the customer's demand planning and logistics, and smoothes the flow of products. And a plurality of servers 331 and 332 for performing efficiently. Recently, most companies have reduced their total cost and time through supply chain management (SCM), increasing sales, flexibility and customer responsiveness.

마지막으로, 전사적자원관리(ERP : Enterprise Resource Planning) 서버 팜(34)은 생산 및 생산관리 업무는 물론 설계, 재무, 회계, 영업, 인사 등 순수 관리 기능과 경영지원 기능을 수행하기 위한 다수의 서버(341, 342, 343)를 포함한다.Finally, the Enterprise Resource Planning (ERP) server farm 34 provides a number of servers to perform pure management and management support functions, including design, finance, accounting, sales, and human resources, as well as production and production management. (341, 342, 343).

한편, 클라이언트(35)는 웹 서버 팜(31)에 포함된 서버 중 하나에 접속하여 여러가지 서비스를 요청하게 된다. 그러면, 클라이언트(35)가 요청한 서비스를 제공해주기 위하여 각 서버 팜(31 내지 34) 간에는 트랜잭션이 발생하게 된다. 이 때, 본 발명에서는 각 서버 팜(31 내지 34) 간에 발생하는 트랜잭션을 효과적으로 분산시키는데 있어서, 별도의 하드웨어(부하 분산 스위치)나 소프트웨어의 도움없이 소프트웨어적으로 구현한다. 보다 상세한 구성은 도 4를 참조하여 설명하기로 한다.Meanwhile, the client 35 requests various services by accessing one of the servers included in the web server farm 31. Then, a transaction occurs between each server farm 31 to 34 in order to provide the service requested by the client 35. At this time, in the present invention, in effectively distributing transactions occurring between the server farms 31 to 34, the software is implemented without the help of a separate hardware (load distribution switch) or software. A more detailed configuration will be described with reference to FIG. 4.

도 4는 본 발명에 따른 각 서버의 일실시예 상세 구성도이다.4 is a detailed configuration diagram of one embodiment of each server according to the present invention.

도 4에 도시된 바와 같이, 본 발명에 따른 각 서버는, 상하위 계층의 각 서버들의 상태를 저장하고 있는 상태 정보 테이블을 관리하기 위한 서버 상태 관리부(41), 자기 자신의 리소스 상태(CPU, 메모리, 디스크 점유율) 및 서비스 제공 상태를 상하위 계층의 각 서버들에게 주기적으로 전송해주기 위한 서버 상태 정보 전송부(42), 상하위 계층의 각 서버들로부터 또는 클라이언트로부터의 서비스 요청에 따라 해당 서비스를 수행하는 서버들에 대한 정보를 서버 상태 관리부(41)의 상태 정보 테이블을 이용하여 추출한 후에 해당 서비스에 대하여 설정되어 있는 부하 분산 알고리즘에 따라 서비스 수행 서버를 선택하기 위한 서버 선택부(43), 및 서버 선택부(43)에서 선택된 서비스 수행 서버에 서비스를 요청하기 위한 서비스 요청부(44)를 포함한다.As shown in FIG. 4, each server according to the present invention includes a server state manager 41 for managing a state information table that stores states of upper and lower hierarchical servers, and a resource state (CPU, memory) of its own. Server status information transmission unit 42 for periodically transmitting the server share) and the service providing status to the servers of the upper and lower layers, and performing the corresponding service from the servers of the upper and lower layers or from the client. A server selector 43 for selecting a service performing server according to a load balancing algorithm set for the corresponding service after extracting information about the servers using the state information table of the server state manager 41, and server selection A service request unit 44 for requesting a service from the service performing server selected in the unit 43 is included.

상기 서버 상태 저장부(41)에 저장되어 있는 상태 정보 테이블에 대하여서는 도 5를 참조하여 후술하기로 한다.The state information table stored in the server state storage unit 41 will be described later with reference to FIG. 5.

도 5는 본 발명에 따른 상태 정보 테이블의 일실시예 구조도이다.5 is a structural diagram of an embodiment of a state information table according to the present invention.

도 5에 도시된 바와 같이, 본 발명에 따른 상태 정보 테이블은, 각 서버 팜을 유일하게 구별하기 위한 서비스이름 필드(51), 각 서버 팜에 할당되어 서비스 요청부(44)가 접속할 때 사용하기 위한 주소가 저장되어 있는 가상IP 필드(52), 각 서버 팜에 적합한 부하분산알고리즘이 설정되어 있는 부하분산알고리즘 필드(53), 서버의 실제 주소가 저장되어 있는 서버IP 필드(54), 각 서버의 서비스 제공 상태 를 저장하기 위한 서비스상태 필드(55), 및 서버의 리소스 상태를 저장하기 위한 서버상태 필드(56)를 포함한다. As shown in Fig. 5, the state information table according to the present invention includes a service name field 51 for uniquely distinguishing each server farm, and is assigned to each server farm for use when the service request unit 44 connects. A virtual IP field 52 for storing an address for the server, a load balancing algorithm field 53 for setting a load balancing algorithm suitable for each server farm, a server IP field 54 for storing a server's actual address, and each server A service status field 55 for storing a service provision state of the server, and a server status field 56 for storing a resource state of the server.

이 때, 서비스상태 필드(55) 및 서버상태 필드(56)의 각 세부 필드는 각 서비스 별로 각각 다른 정보로 구성된다. 즉, 기업 애플리케이션 통합(EAI) 서비스의 서비스상태 필드(55)는 응답시간(Response Time)(551), 러닝 인스턴스(Running Instance)(552), 슬리핑 인스턴스(Sleeping Instance)(553)을 포함하고, 공급망관리(SCM : Supply Chain Management) 서비스의 서비스상태 필드(55)는 액티브 세션(Active Session)(554), 실패한 전송(Aborted Tx)(555)을 포함하며, 전사적자원관리(ERP : Enterprise Resource Planning) 서비스의 서비스상태 필드(55)는 워킹 세트 피크(Working Set Peak)(556), 큐잉된 잡(job Queued)(557)을 포함한다. At this time, each detailed field of the service status field 55 and the server status field 56 is composed of different information for each service. That is, the service status field 55 of the enterprise application integration (EAI) service includes a response time 551, a running instance 552, and a sleeping instance 553. The Service Status field 55 of the Supply Chain Management (SCM) service includes an Active Session (554), an Aborted Tx (555), and Enterprise Resource Planning (ERP). The service status field 55 of the service includes a working set peak 556 and a job queued 557.

그리고, 서버상태 필드(56)의 각 세부 필드도 서비스상태 필드(55)와 마찬가지로 서비스에 따라 각각 다른 정보(CPU 점유율, 메모리 가용율 등)로 구성된다. Each detailed field of the server status field 56 is also composed of different information (CPU occupancy, memory availability, etc.) according to the service, similarly to the service status field 55.

또한, 부하분산알고리즘 필드(53)에는 여러가지 부하분산알고리즘이 우선순위를 가지고 설정되어 있다. 먼저, 가장 우선순위가 높은 부하분산알고리즘을 수행하여 하나의 서버를 선택할 수 없을 때는 그 다음 우선순위가 높은 부하분산알고리즘을 차례로 수행하여 하나의 서버를 선택한다. In the load balancing algorithm field 53, various load balancing algorithms are set with priority. First, if one server cannot be selected by executing the highest priority load balancing algorithm, the next one is selected by sequentially performing the load balancing algorithm with the highest priority.

부하분산알고리즘으로는 라운드 로빈(Round Robin), 가중치기반 라운드 로빈(Weighted Round Robin), 해쉬(Hash), 최소 접속 스케줄링(Least Connection Scheduling), 응답시간 우선 스케줄링(Response Time Fast) 등이 있을 수 있고, 서비스상태 필드(55)에 포함되는 세부 필드 및 서버상태 필드(56)에 포함되는 세부 필드의 내용에 따른 조건을 설정할 수도 있다. Load balancing algorithms can include Round Robin, Weighted Round Robin, Hash, Least Connection Scheduling, Response Time Fast, etc. The condition may be set according to the details of the details field included in the service status field 55 and the details field included in the server status field 56.

예를 들어, 기업 애플리케이션 통합(EAI) 서비스의 부하분산알고리즘 필드(55)는 기업 애플리케이션 통합(EAI) 서버 팜(32)에 포함되어 있는 각 서버(321, 322)의 서비스상태 필드(55)의 서브 필드를 이용하여, 제일 먼저 응답시간 우선(Response Time First)(531)으로 서버를 선택하고, 선택하지 못하였으면 최소 러닝 인스턴스(Running Instance Low)(532)를 가지는 서버를 선택하고, 선택하지 못하였으면 최소 슬리핑 인스턴스(Sleeping Instance Low)(533)를 가지는 서버를 선택한다.For example, the load balancing algorithm field 55 of an enterprise application integration (EAI) service may include the service status field 55 of each server 321, 322 included in the enterprise application integration (EAI) server farm 32. Using the subfields, first select a server as Response Time First 531, if not, select a server with a running instance low 532, and fail to select If so, the server having the minimum sleeping instance low 533 is selected.

그리고, 선택된 기업 애플리케이션 통합(EAI)(321)은 다시 공급망 관리(SCM) 서버 팜(33)에 포함되어 있는 각 서버(331,332)의 서비스상태 필드(55)의 서브 필드를 이용하여, 제일 먼저 페이지 스와핑 (Pages/Sec) (534) 이 5000 보다 작은 서버를 선택하고, 선택하지 못하였으면 실패한 전송(Arorted tx ) (535)이 가장 작은 서버를 선택하고, 선택하지 못하였으면 최소 CPU 사용량(CPU Usage) (536)을 가지는 서버로 선택한다.The selected enterprise application integration (EAI) 321 then first uses the subfields of the service status field 55 of each server 331,332 included in the supply chain management (SCM) server farm 33. Swapping (Pages / Sec) (534) selects a server less than 5000; if not, selects the server with the least number of unsuccessful transfers (Arorted tx); otherwise, minimum CPU Usage Select with a server (536).

또한, 기업 애플리케이션 통합(EAI)(321)은 다시 전사적 자원 관리(ERP) 서버 팜(34)에 포함되어 있는 각 서버(341,342,343)의 서비스상태 필드(55)의 서브 필드를 이용하여, 제일 먼저 위킹 세트 피크(Working Set Peak)(537)가 2000 이하이고 디스크 쓰기 활용(Disk Write Busy)(537)이 가장 작은 서버를 선택하고, 선택하지 못하였으면 큐잉된 잡(Job Queued)(538)이 100 보다 작은 서버를 선택하고, 선택하지 못하였으면 최소 네트워크 인터페이스 카드 활용도(539)를 가진 서버로 선택한다.In addition, enterprise application integration (EAI) 321 is first wicked, using the subfields of the service status field 55 of each server 341, 342, 343 included in the enterprise resource planning (ERP) server farm 34 again. If the working set peak (537) is less than or equal to 2000 and Disk Write Busy (537) selects the smallest server and fails to select it, the queued job (538) is greater than 100. Select a small server, and if not, select the server with the minimum network interface card utilization (539).

도 6은 본 발명에 따른 각 서버간 부하 분산 방법에 대한 일실시예 흐름도이다.6 is a flowchart illustrating an embodiment of a method for load balancing between servers according to the present invention.

우선, 각 서버의 부하 분산 프로그램은 일정 주기로 갱신되는 상태 정보 테이블을 관리하고 있으며, 각 서버 자신의 상태 정보를 상하위 계층의 각 서버들에게 주기적으로 전송한다.First of all, the load balancing program of each server manages a state information table updated at regular intervals, and periodically transmits its own state information to each server of the upper and lower layers.

먼저, 부하 분산 프로그램이 서비스 요청 신호를 입력받아(601) 상태 정보 테이블에서 상기 서비스를 수행하는 서버들에 대한 정보를 추출한 후(602) 상기 서비스에 대하여 설정되어 있는 부하 분산 알고리즘을 이용하여 실시간으로 서비스 수행 서버를 선택한다(603). 그리고, 상기 선택된 서비스 수행 서버로 상기 서비스의 처리를 요청하여 결과를 반환받는다(604).First, the load balancer receives the service request signal (601), extracts information on the servers performing the service from the state information table (602), and then uses the load balancing algorithm set for the service in real time. The service performing server is selected (603). In operation 604, the service is requested to the selected service execution server and the result is returned.

상술한 바와 같은 본 발명의 방법은 프로그램으로 구현되어 컴퓨터로 읽을 수 있는 기록매체(씨디롬, 램, 롬, 플로피 디스크, 하드 디스크, 광자기 디스크 등)에 저장될 수 있다. 이러한 과정은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있으므로 더 이상 상세히 설명하지 않기로 한다.The method of the present invention as described above may be implemented as a program and stored in a computer-readable recording medium (CD-ROM, RAM, ROM, floppy disk, hard disk, magneto-optical disk, etc.). Since this process can be easily implemented by those skilled in the art will not be described in more detail.

이상에서 설명한 본 발명은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다.
The present invention described above is capable of various substitutions, modifications, and changes without departing from the spirit of the present invention for those skilled in the art to which the present invention pertains. It is not limited by the drawings.

상기와 같이 본 발명은, 서버에서 서버로 전달되는 데이터베이스 관리 시스템(DBMS : DataBase Management System), 소켓(Socket), 원격 프로시져 호출(RPC : Remote Procedure Call) 등의 트랜잭션에 대한 부하 분산 기능은 제공하여, 보다 효과적으로 서버 간에 부하 분산이 이루어지도록 할 수 있는 효과가 있다.As described above, the present invention provides a load balancing function for transactions such as a database management system (DBMS), a socket, a remote procedure call (RPC), and the like, which are transmitted from a server to a server. As a result, load balancing between servers can be more effective.

Claims (9)

각 서버간 부하 분산 시스템에 있어서,In each server load balancing system, 다수의 서버가 동일한 서비스를 제공하는 서버 그룹인 서버 팜들이 계층적으로 연결되어, 상하위 서버간에 서비스 요청시 각 서버에서 상기 서버 팜 중 하나의 서버를 선택하여 서비스를 수행하되,Server farms, which are server groups in which multiple servers provide the same service, are connected hierarchically, and each server selects one of the server farms and performs a service when requesting service between upper and lower servers. 상기 각 서버는,Each server, 상하위 계층의 각 서버들의 상태를 저장하고 있는 상태 정보 테이블을 관리하기 위한 서버 상태 관리 수단;Server state management means for managing a state information table storing states of respective servers of the upper and lower hierarchies; 자신의 리소스 상태 및 서비스 제공 상태를 상하위 계층의 각 서버들에게 주기적으로 전송해주기 위한 서버 상태 정보 전송 수단; Server state information transmitting means for periodically transmitting its resource state and service provision state to respective servers of the upper and lower layers; 상하위 계층의 각 서버들로부터의 서비스 요청에 따라 해당 서비스를 수행하는 서버들에 대한 정보를 상기 상태 정보 테이블을 이용하여 추출한 후에 해당 서비스에 대하여 설정되어 있는 다수의 부하분산 알고리즘 중 우선순위에 따라 서비스 수행 서버를 선택하기 위한 서버 선택 수단; 및 In accordance with the service request from each server in the upper and lower layers, information on the servers performing the service is extracted by using the state information table, and then the service is performed according to the priority among a plurality of load balancing algorithms set for the service. Server selecting means for selecting a performing server; And 상기 서버 선택 수단에서 선택된 상기 서비스 수행 서버에 서비스를 요청하기 위한 서비스 요청 수단Service requesting means for requesting a service from the service performing server selected by the server selecting means 을 포함하는 각 서버간 부하 분산 시스템.Load balancing system between each server comprising a. 제 1 항에 있어서,The method of claim 1, 상기 상태 정보 테이블은,The state information table, 각 서버 팜에서 제공하는 서비스이름을 저장하기 위한 서비스이름 필드;A service name field for storing a service name provided by each server farm; 상기 각 서버 팜에 할당되어 있는 가상 IP를 저장하기 위한 가상IP 필드;A virtual IP field for storing a virtual IP assigned to each server farm; 상기 각 서버 팜에 적합한 상기 다수의 부하분산알고리즘이 설정되어 있는 부하분산알고리즘 필드;A load balancing algorithm field in which the plurality of load balancing algorithms are set for each server farm; 상기 각 서버의 실제 주소가 저장되어 있는 서버IP 필드; A server IP field in which an actual address of each server is stored; 상기 각 서버의 서비스 제공 상태를 저장하기 위한 서비스상태 필드; 및 A service status field for storing a service providing status of each server; And 상기 각 서버의 리소스 상태를 저장하기 위한 서버상태 필드Server status field for storing resource status of each server 를 포함하는 각 서버간 부하 분산 시스템.Load balancing system between each server comprising a. 제 2 항에 있어서,The method of claim 2, 상기 서비스상태 필드 및 상기 서버상태 필드는,The service status field and the server status field, 상기 각 서버팜 별로 각각 다른 서브 필드를 포함하는 것을 특징으로 하는 각 서버간 부하 분산 시스템.Load balancing system between each server, characterized in that it comprises a different sub-field for each server farm. 제 2 항 또는 제 3 항에 있어서,The method according to claim 2 or 3, 상기 부하분산알고리즘 필드는. The load balancing algorithm field is 상기 다수의 부하분산알고리즘이 우선순위를 가지고 설정되어 있는 것을 특징으로 하는 각 서버간 부하 분산 시스템.And said plurality of load balancing algorithms are set with priority. 제 4 항에 있어서,The method of claim 4, wherein 상기 부하분산알고리즘 필드는,The load balancing algorithm field is 상기 서비스상태 필드에 포함되는 서브 필드 및 서버상태 필드에 포함되는 서브 필드에 따른 서버 선택 조건이 설정되는 것을 특징으로 하는 각 서버간 부하 분산 시스템.And a server selection condition is set according to a subfield included in the service status field and a subfield included in a server status field. 각 서버간 부하 분산 방법에 있어서,In the load balancing method between each server, 동일한 서비스를 제공하는 다수의 서버로 구성된 서버 팜에 포함된 각 서버가 자신의 상태 정보를 상하위 계층의 각 서버들에게 주기적으로 전송하고, 상기 상하위 계층의 각 서버들로부터 일정 주기로 전송되는 상태 정보를 상태 정보 테이블에 저장/관리하는 단계; Each server included in a server farm composed of multiple servers providing the same service periodically transmits its own state information to each server in the upper and lower tiers, and receives the state information transmitted at regular intervals from the servers in the upper and lower tiers. Storing / managing the status information table; 서비스를 요청받은 서버가 상태 정보 테이블에서 상기 서비스를 수행하는 서버들에 대한 정보를 추출하는 단계; Extracting, by the server receiving the service, information about servers performing the service from a state information table; 상기 서버가 상기 추출한 서버들의 정보를 이용하여 상기 서비스에 대하여 설정되어 있는 다수의 부하 분산 알고리즘 중 우선순위에 따라 서비스 수행 서버를 선택하는 단계; 및Selecting, by the server, a service performing server according to a priority among a plurality of load balancing algorithms set for the service by using the extracted information of the servers; And 상기 서버가 상기 선택된 서비스 수행 서버로 서비스 요청 신호를 전송하는 단계The server transmitting a service request signal to the selected service performing server 를 포함하는 각 서버간 부하 분산 방법.Load balancing between each server comprising a. 제 6 항에 있어서,The method of claim 6, 상기 상태 정보 테이블은,The state information table, 각 서버 팜에서 제공하는 서비스이름을 저장하기 위한 서비스이름 필드;A service name field for storing a service name provided by each server farm; 상기 각 서버 팜에 할당되어 있는 가상 IP를 저장하기 위한 가상IP 필드;A virtual IP field for storing a virtual IP assigned to each server farm; 상기 각 서버 팜에 적합한 상기 다수의 부하분산알고리즘이 설정되어 있는 부하분산알고리즘 필드;A load balancing algorithm field in which the plurality of load balancing algorithms are set for each server farm; 상기 각 서버의 실제 주소가 저장되어 있는 서버IP 필드; A server IP field in which an actual address of each server is stored; 상기 각 서버의 서비스 제공 상태를 저장하기 위한 서비스상태 필드; 및 A service status field for storing a service providing status of each server; And 상기 각 서버의 리소스 상태를 저장하기 위한 서버상태 필드Server status field for storing resource status of each server 를 포함하는 각 서버간 부하 분산 방법.Load balancing between each server comprising a. 제 7 항에 있어서,The method of claim 7, wherein 상기 부하분산알고리즘 필드는. The load balancing algorithm field is 상기 다수의 부하분산알고리즘이 우선순위를 가지고 설정되어 있는 것을 특징으로 하는 각 서버간 부하 분산 방법.And the plurality of load balancing algorithms are set with priority. 각 서버간 부하 분산 시스템의 각 서버에,On each server in a load balancing system between each server, 동일한 서비스를 제공하는 다수의 서버로 구성된 서버 팜에 포함된 각 서버가 자신의 상태 정보를 상하위 계층의 각 서버들에게 주기적으로 전송하고, 상기 각 상하위 계층의 각 서버들로부터 일정 주기로 전송되는 상태 정보를 상태 정보 테이블에 저장/관리하는 기능; Each server included in a server farm consisting of a plurality of servers providing the same service periodically transmits its own state information to each server in the upper and lower tiers, and the state information transmitted at regular intervals from each server in the upper and lower tiers. Storing / managing a status information table; 서비스를 요청받은 서버가 상태 정보 테이블에서 상기 서비스를 수행하는 서버들에 대한 정보를 추출하는 기능; A function of extracting information on servers performing the service from a state information table by a server receiving a service; 상기 서버가 상기 추출한 서버들의 정보를 이용하여 상기 서비스에 대하여 설정되어 있는 다수의 부하 분산 알고리즘 중 우선순위에 따라 서비스 수행 서버를 선택하는 기능; 및Selecting, by the server, a service performing server according to a priority among a plurality of load balancing algorithms set for the service by using the extracted information of the servers; And 상기 서버가 상기 선택된 서비스 수행 서버로 서비스 요청 신호를 전송하는 기능The server sends a service request signal to the selected service performing server 을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.A computer-readable recording medium having recorded thereon a program for realizing this.
KR1020030040058A 2003-06-20 2003-06-20 Sysem and its method for load distribution between servers KR100989490B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020030040058A KR100989490B1 (en) 2003-06-20 2003-06-20 Sysem and its method for load distribution between servers

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030040058A KR100989490B1 (en) 2003-06-20 2003-06-20 Sysem and its method for load distribution between servers

Publications (2)

Publication Number Publication Date
KR20040110647A KR20040110647A (en) 2004-12-31
KR100989490B1 true KR100989490B1 (en) 2010-10-22

Family

ID=37383012

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030040058A KR100989490B1 (en) 2003-06-20 2003-06-20 Sysem and its method for load distribution between servers

Country Status (1)

Country Link
KR (1) KR100989490B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8671189B2 (en) 2010-12-23 2014-03-11 Electronics And Telecommunications Research Institute Dynamic load balancing system and method thereof
CN107835131A (en) * 2017-12-15 2018-03-23 北京星河星云信息技术有限公司 Network traffics dispatching method, device and storage medium

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100666451B1 (en) * 2004-07-07 2007-01-09 주식회사 파이오링크 A load balancing cluster system having unique mac/ip address on network and a method for clustering for enabling load balance
KR100718907B1 (en) 2005-09-16 2007-05-16 성균관대학교산학협력단 Load balancing system based on fuzzy grouping and the load balancing method
KR100834408B1 (en) * 2006-09-14 2008-06-04 한국전자통신연구원 The system and the method of task assignment in the distributed processing system
KR101048449B1 (en) * 2007-12-18 2011-07-11 삼성전자주식회사 Admission control device and method considering multiple service providers in broadband wireless communication system
KR101113943B1 (en) * 2008-12-22 2012-03-05 한국전자통신연구원 Method And Apparatus For Managing Workload And Distributed Computing System Using The Same

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000235535A (en) * 1999-02-16 2000-08-29 Nec Corp Method for measuring and substituting system load and distributed processing system
KR20010057769A (en) * 1999-12-23 2001-07-05 오길록 Method for load balancing of the homogeneous java application server using java servlet in the world wide web
JP2002091936A (en) 2000-09-11 2002-03-29 Hitachi Ltd Device for distributing load and method for estimating load
JP2002245018A (en) 2001-02-15 2002-08-30 Nippon Telegr & Teleph Corp <Ntt> Load distributing system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000235535A (en) * 1999-02-16 2000-08-29 Nec Corp Method for measuring and substituting system load and distributed processing system
KR20010057769A (en) * 1999-12-23 2001-07-05 오길록 Method for load balancing of the homogeneous java application server using java servlet in the world wide web
JP2002091936A (en) 2000-09-11 2002-03-29 Hitachi Ltd Device for distributing load and method for estimating load
JP2002245018A (en) 2001-02-15 2002-08-30 Nippon Telegr & Teleph Corp <Ntt> Load distributing system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8671189B2 (en) 2010-12-23 2014-03-11 Electronics And Telecommunications Research Institute Dynamic load balancing system and method thereof
CN107835131A (en) * 2017-12-15 2018-03-23 北京星河星云信息技术有限公司 Network traffics dispatching method, device and storage medium

Also Published As

Publication number Publication date
KR20040110647A (en) 2004-12-31

Similar Documents

Publication Publication Date Title
US7516221B2 (en) Hierarchical management of the dynamic allocation of resources in a multi-node system
US8239540B2 (en) Distributed computing based on multiple nodes with determined capacity selectively joining resource groups having resource requirements
CN100527090C (en) Method for dynamically distributing computer resource
CN101535978B (en) Message forwarding backup manager in a distributed server system
Chaczko et al. Availability and load balancing in cloud computing
US7937437B2 (en) Method and apparatus for processing a request using proxy servers
US8533674B2 (en) Method, system and apparatus for providing pay-per-use distributed computing resources
CN101136939B (en) Distributed computing system and method for executing application therein
CN107832153B (en) Hadoop cluster resource self-adaptive allocation method
US7774323B2 (en) Method and apparatus for delivering managed applications to remote locations
US7941556B2 (en) Monitoring for replica placement and request distribution
US7996529B2 (en) System for autonomic monitoring for web high availability
US20050262183A1 (en) Connection pool use of runtime load balancing service performance advisories
EP1654648B1 (en) Hierarchical management of the dynamic allocation of resources in a multi-node system
US20060080667A1 (en) Method and apparatus for applying policies
US20040243915A1 (en) Autonomic failover of grid-based services
CN104079630A (en) Business server side load balancing method, client side, server side and system
KR20140026503A (en) Cross-cloud management and troubleshooting
US6963828B1 (en) Metafarm sizer configuration optimization method for thin client sizing tool
CN101631143A (en) Multi-server system in load-balancing environment and file transmission method thereof
KR100989490B1 (en) Sysem and its method for load distribution between servers
CN116055499A (en) Method, equipment and medium for intelligently scheduling cluster tasks based on redis
CN114629782B (en) Anti-destruction succession method among multiple cloud platforms
US7072844B1 (en) Configuration interview session method for thin client sizing tool
Gupta et al. Distributed digital library system integration model based on aggregators

Legal Events

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

Payment date: 20131004

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20141006

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20151006

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20161005

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20170921

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20181001

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20190903

Year of fee payment: 10