KR100576713B1 - 동적 부하 분산 시스템 및 그 방법 - Google Patents

동적 부하 분산 시스템 및 그 방법 Download PDF

Info

Publication number
KR100576713B1
KR100576713B1 KR1020030093101A KR20030093101A KR100576713B1 KR 100576713 B1 KR100576713 B1 KR 100576713B1 KR 1020030093101 A KR1020030093101 A KR 1020030093101A KR 20030093101 A KR20030093101 A KR 20030093101A KR 100576713 B1 KR100576713 B1 KR 100576713B1
Authority
KR
South Korea
Prior art keywords
web application
application server
response speed
node
average response
Prior art date
Application number
KR1020030093101A
Other languages
English (en)
Other versions
KR20050063852A (ko
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 KR1020030093101A priority Critical patent/KR100576713B1/ko
Priority to JP2004158135A priority patent/JP2005182742A/ja
Publication of KR20050063852A publication Critical patent/KR20050063852A/ko
Application granted granted Critical
Publication of KR100576713B1 publication Critical patent/KR100576713B1/ko

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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • 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/1023Server selection for load balancing based on a hash applied to IP addresses or costs
    • 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/1029Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer And Data Communications (AREA)

Abstract

동적 부하 분산 시스템 및 그 방법이 개시된다. 부하 분산부는 소정의 노드 가중치 테이블을 기초로 적어도 하나 이상의 웹응용서버 중에서 클라이언트의 요청을 전송할 웹응용서버를 선택한다. 응답 속도 수집부는 각각의 웹응용서버에 구비되어 클라이언트의 요청에 대한 웹응용서버의 평균 응답 속도를 계산한다. 그리고, 중앙 노드관리부는 웹응용서버의 평균 응답 속도를 기초로 노드 가중치 테이블을 보정한다. 이로써, 특정 노드에서 처리되는 응용(application)의 응답속도가 비정상적으로 느려지는 것을 방지하여 클라이언트 요청에 대해 빠른 응답속도를 보장한다.
노드 가중치 테이블, 웹응용서버, 평균 응답 속도, 보정

Description

동적 부하 분산 시스템 및 그 방법{System and method for dynamic load balancing}
도 1은 본 발명에 따른 동적 부하 분산 시스템의 일 실시예의 구성을 도시한 도면,
도 2는 본 발명에 따른 동적 부하 분산 방법의 흐름을 도시한 흐름도,
도 3은 본 발명에 따른 부하 분산부의 동작을 도시한 흐름도,
도 4는 본 발명에 따른 중앙 노드 관리부의 동작을 도시한 흐름도, 그리고,
도 5는 본 발명에 따른 응답 속도 수집부의 동작을 도시한 흐름도이다.
본 발명은 동적 부하 분산 시스템 및 그 방법에 관한 것으로, 보다 상세하게는 다양한 종류의 비즈니스 응용(business application)을 서비스하는 서버들을 클러스터(cluster)로 구성하는 경우에 다중 서버들간에 부하 분산을 효율적으로 수행하는 동적 부하 분산 시스템 밑 그 방법에 관한 것이다.
일반적으로 단일 시스템을 사용하여 서비스를 하는 경우에, 사용자의 증가로 인하여 응답속도가 저하되어 사이트 사용자들에게 양질의 서비스를 제공하기 어려 운 문제점이 있다. 이러한 문제를 해결하기 위해 여러 대의 서버를 클러스터로 구성하여 사용자에게 서버스를 제공한다.
클러스터로 구성한 시스템에서 필요한 것이 각각의 서버에 클라이언트의 요청을 분배하는 부하 분산장치이다. 종래의 부하 분산장치에서 사용되고 있는 부하 분산 방법에는 여러 대의 서버에 클라이언트 요청을 순차적으로 분산하는 방법, 무작위(random) 방법으로 클라이언트 요청을 분배하는 방법 및 서로 다른 처리 능력을 가진 서버가 클러스터로 구성되어 있는 경우에 노드(각각의 서버)에 가중치(weight)를 주어 부하를 분배하는 방법이 있다. 이 외에 각 노드에 전달되는 클라이언트의 요청 수를 기반으로 가중치를 실행시간에 가변하여 부하를 분산하는 방법이 있다. 현재 상용화된 웹응용서버(Web Application Server)들은 상술한 방법들 중 어느 하나의 방법을 시스템 관리자가 선택할 수 있도록 한다.
종래의 인터넷 비즈니스 사이트에서는 서로 다른 응답시간을 가진 다양한 응용(application)들을 서비스하거나 하나의 응용에서도 각각의 클라이언트 요청마다 상이한 처리속도를 가진 응용들을 서비스한다.
따라서, 상기의 방법들을 사용하여 부하 분산을 할 경우, 클라이언트가 특정 노드(서버)에 요청 처리사간이 많이 소요되는 비즈니스를 호출하면 그 노드의 리소스를 많이 소모하게 되므로, 그 다음에 전달된 요청을 처리하는 시간이 지연될 수 있는 단점이 있다. 또한 가중치를 실행시간에 동적으로 변경하는 종래의 방법은 클라이언트 요청 수나 리소스의 사용량만을 기준으로 부하 분산을 하게 되므로 클라이언트의 응답속도에 대한 보장을 할 수 없는 단점이 있다.
본 발명이 이루고자 하는 기술적 과제는, 다수의 웹응용서버들로 구성된 클러스터 환경에서 웹응용서버들간의 부하를 효율적으로 분산하여 클라이언트의 요청에 대한 응답 속도를 최소화하는 동적 부하 분산 시스템 및 그 방법을 제공하는 데 있다.
상기의 기술적 과제를 달성하기 위한, 본 발명에 따른 동적 부하 분산 시스템의 일 실시예는, 소정의 노드 가중치 테이블을 기초로 적어도 하나 이상의 웹응용서버 중에서 클라이언트의 요청을 전송할 웹응용서버를 선택하는 부하 분산부; 상기 각각의 웹응용서버에 구비되어 상기 클라이언트의 요청에 대한 웹응용서버의 평균 응답 속도를 계산하는 응답 속도 수집부; 및 상기 웹응용서버의 평균 응답 속도를 기초로 상기 노드 가중치 테이블을 보정하는 중앙 노드관리부;를 포함한다.
상기의 기술적 과제를 달성하기 위한, 본 발명에 따른 동적 부하 분산 방법의 일 실시예는, 소정의 노드 가중치 테이블을 기초로 적어도 하나 이상의 웹응용서버 중에서 클라이언트의 요청을 전송할 웹응용서버를 선택하는 단계; 상기 클라이언트의 요청에 대한 상기 웹응용서버의 평균 응답 속도를 계산하는 단계; 및 상기 웹응용서버의 평균 응답 속도를 기초로 상기 노드 가중치 테이블을 보정하는 단계;를 포함한다.
이로써, 특정 노드에서 처리되는 응용의 응답속도가 비정상적으로 느려지는 것을 방지하여 클라이언트 요청에 대해 빠른 응답속도를 보장한다.
이하에서, 첨부된 도면들을 참조하여 본 발명에 따른 동적 부하 분산 시스템 및 그 방법에 대하여 상세히 설명한다.
도 1은 본 발명에 따른 동적 부하 분산 시스템의 일 실시예의 구성을 도시한 도면이다.
도 1을 참조하면, 본 발명에 따른 동적 부하 분산 시스템은 부하 분산부(100), 응답 속도 수집부(110 내지 114) 및 중앙 노드관리부(120)로 구성된다. 이 외에 인터넷을 통해 연결된 클라이언트(140), 클라이언트의 요청에 따른 동작을 수행하고 그 응답을 생성하는 웹응용서버(130 내지 134)가 존재한다.
부하 분산부(또는 웹 서버)(100)는 노드 가중치 테이블을 기초로 선택한 웹응용서버(130 내지 134)로 클라이언트 요청을 전송한다. 그리고 그 웹응용서버(130 내지 134)로부터 클라이언트 요청에 대한 응답을 수신하여 클라이언트(140)로 전송한다. 일반적으로 클라이언트(140)는 웹 브라우저를 통해 부하 분산부(100)에 요청을 전달하고, 부하 분산부(100)로부터 전송받은 응답을 웹 브라우저를 통해 화면에 출력한다. 부하 분산부(100)는 HTTP를 통해 클라이언트(140)로부터 요청을 수신한다.
또한, 부하 분산부(100)는 노드 가중치 테이블로부터 최적의 웹응용서버(130 내지 134)를 선택하여 해당 웹응용서버로 요청을 재전송하거나 요청 전달 실패하였을 경우에 차선 웹응용서버로 요청을 전달하여 해당 비즈니스 로직(business logic)을 처리하게 한다. 그리고 그 웹응용서버(130 내지 134)로부터 반환된 응답 페이지를 클라이언트(140)에게 전송한다.
비즈니스 로직은 업무에 필요한 데이터 처리를 수행하는 응용 프로그램의 일부로서, 데이터 입력, 수정, 조회 및 보고서 처리등을 수행하는 루틴을 말한다. 일반적으로 클라이언트 프로그램은 사용자 인터페이스와 비즈니스 로직으로 구성되며, 서버 프로그램은 대부분 비즈니스 로직으로 구성된다. 클라이언트/서버 모델의 경우에는 이외에도 통신링크가 추가되지만 통신과 관련된 인프라 스트럭처는 사용자 인터페이스처럼 비즈니스 로직의 일부는 아니다.
응답 속도 수집부(110 내지 114)는 각각의 웹응용서버(130 내지 134))에 구비되어 웹응용서버의 평균 응답속도를 계산한다. 즉, 응답 속도 수집부(110 내지 114)는 각각의 웹응용서버에 플러그인(Plug-in)되어 웹응용서버(130 내지 134)의 각각의 비즈니스 응용들의 요청 처리 속도를 취합하고 모든 응용들의 평균 응답속도를 계산한 후, 중앙 노드관리부(120)로 전송한다.
중앙 노드관리부(120)는 응답 속도 수집부(110 내지 114)로부터 수신한 평균 응답속도를 기초로 노드 가중치 테이블을 보정한다. 중앙 노드관리부(120)는 각각의 웹응용서버들의 평균 응답속도를 기초로 노드(웹응용서버)(130 내지 134)의 실제 가중치를 계산한 후 가중치 값이 원래 목표했던 가중치와 차이가 있는 경우에 노드 가중치 테이블의 가중치를 재조정한다. 그리고 중앙 노드관리부(120)는 재조정된 노드 가중치 테이블을 부하 분산부(100)로 전송한다. 그러면, 부하 분산부(100)는 재조장된 노드 가중치 테이블을 기초로 클라이언트 요청을 전송할 웹응용서버(130 내지 134)를 선택한다.
도 2는 본 발명에 따른 동적 부하 분산 방법의 흐름을 도시한 흐름도이다.
도 2를 참조하면, 부하 분산부(100)는 클라이언트로(140)부터 요청을 수신하면 수신한 요청을 전달할 웹응용서버(130 내지 134)를 선택한다(S200). 이때, 부하 분산부(100)는 노드 가중치 테이블을 기초로 요청을 전달한 최적의 웹응용서버(130 내지 134)를 선택한다(S200).
응답 속도 수집부(110 내지 114)는 각각의 웹응용서버(130 내지 134)에 구비되어 웹응용서버(130 내지 134)가 클라이언트 요청에 대한 소정의 응답을 생성할 때 까지의 평균응답속도를 계산한다(S210). 그리고 각각의 응답 속도 수집부(110 내지 114)는 계산된 평균 응답 속도를 중앙 노드관리부(120)로 전송한다.
중앙 노드관리부(120)는 수신한 각각의 웹응용서버(130 내지 134)의 평균 응답속도를 기초로 가중치를 계산하여 이전의 노드 가중치 테이블을 보정한다(S220). 중앙 노드관리부(120)는 보정된 노드 가중치 테이블을 부하 분산부(100)로 전송한다. 그리고, 부하 분산부(100)는 중앙 노드관리부(120)로부터 전송받은 노드 가중치 테이블을 이용하여 웹응용서버(130 내지 134)를 선택한다.
이하에서, 도 3 내지 도 5를 참조하여 도 2의 각 단계의 상세한 흐름에 대하여 살펴본다.
도 3은 본 발명에 따른 부하 분산부의 동작을 도시한 흐름도이다.
도 3을 참조하면, 부하 분산부(100)는 웹서버에 내장된 소프트웨어로 구현될 수 있으며, 부하 분산부(100)가 시작되면 중앙 노드관리부(120)와 멀티캐스트(multicast)를 통해 통신할 통신 관리자를 초기화한다(S300).
부하 분산부(100)가 받은 최초의 노드 가중치 테이블은 중앙 노드관리부(120)에 시스템 관리자가 설정한 목표 가중치 테이블이다(S305). 부하 분산부(100)는 최초에는 목표 가중치 테이블을 기초로 부하 분산을 시작한다. 중앙 노드관리부(120)로부터 가중치가 변경된 노드 가중치 테이블을 전달받으면, 부하 분산부(100)는 기존의 노드 가중치 테이블을 중앙 노드관리부(120)로부터 전달받은 노드 가중치 테이블로 교체한다(S305).
부하 분산부(100)는 클라이언트로(140)부터 요청을 접수하면(S310), 노드 가중치 테이블을 기초로 최적의 노드(웹응용서버)(130 내지 134)를 선택하고(S315), 선택한 노드(130 내지 134)로 요청을 전달한다(S320). 노드(130 내지 134)에 요청이 정상적으로 전달되면(S325) 노드(130 내지 134)로부터 요청에 대한 처리 결과를 수신하고(S335), 수신한 결과를 클라이언트(140)로 전송한다(S340). 그러나, 만약 해당 노드(130 내지 134)가 요청을 받지 못하거나 노드가 정상적으로 작동하지 않는다면(S325), 차기 노드(130 내지 134)에 요청을 재 전달하여 중단없는 서비스를 클라이언트에게 제공한다(S330). 노드 가중치 테이블의 가중치는 각 노드(130 내지 134)의 부하(load)를 나타내며 가중치가 낮을수록 부하가 적다. 따라서, 부하 분산부는 가중치가 가장낮은 노드(웹응용서버)(130 내지 134)로 클라이언트로 요청을 전송하며, 이 전송이 실패한 경우에는 그 다음 가중치가 낮은 웹응용서버로 클라이언트 요청을 전송한다.
도 4는 본 발명에 따른 중앙 노드 관리부의 동작을 도시한 흐름도이다.
도 4를 참조하면, 중앙 노드관리부(120)는 먼저 부하 분산부(100) 및 응답 속도 수집부(110 내지 114)와 멀티 캐스트 방법을 이용하여 통신하기 위한 통신관 리자(미도시)를 초기화한다(S400). 통신관리자(미도시)는 부하 분산부(100)의 응답 속도 수집부(110 내지 114)와 메시지를 송수신한다.
중앙 노드관리부(120)는 각각의 웹응용서버(130 내지 134)에 구비된 응답 속도 수집부(110 내지 114)로부터 평균 응답 속도를 포함하는 메시지를 수신한다(S405). 중앙 노드관리부(120)는 수신된 평균 응답 속도를 데이터베이스화하여 응답 속도 저장소(미도시)에 저장한 후(S410), 응답속도 저장소(미도시)에 저장된 평균 응답 속도를 정규화한다(S415). 정규화는 모든 노드(130 내지 134)의 평균응답속도의 합을 100으로 가정하고 현재 수신한 노드의 평균 응답 속도가 100 중에서 어느 정도의 비중을 차지하는가를 나타낸다. 이 값은 실제로 노드(웹응용서버)(130 내지 134)에 가중된 부하로 간주되며, 본 발명에서는 이 값을 부하분산을 위한 실질적인 가중치를 계산하는데 사용한다(S415).
중앙 노드관리부(120)에는 시스템 관리자가 최초에 작성한 목표 가중치가 존재한다. 중앙 노드관리부(120)는 계산된 가중치가 최초 목표 가중치와 상이한 경우에는 가중치를 보정한다. 다만 보정범위의 최소 및 최대 임계값을 설정하여 이 사이값 안에서 보정이 이루어지게 한다.
즉, 중앙 노드관리부(120)는 계산된 가중치와 목표 가중치의 차이가 보정을 하지 않아도 되는 범위에 있으면(S420), 보정을 행하지 않는다. 이는 가중치의 빈번한 변화와 갑작스러운 변화를 방지하기 위함이다. 노드 가중치 테이블의 값을 변경할 때, 계산된 가중치와 목표 가중치의 차이 값이 관리자가 설정한 최대 또는 최소의 임계값보다 큰 경우에는 이 차이값을 최대 또는 최소의 값으로 차이값을 대체 하고, 대체된 차이 값을 기초로 현재 노드의 고정 가중치 값을 보정한다(S425).
교정 가중치를 계산하는 방법을 예를 들어 설명하면 다음과 같다. 클러스터로 구성된 A,B,C의 웹응용서버들(130 내지 134)이 있고, 최초 목표 가중치 값이 각각 33,34,34로 설정되어 있으며, 가중치 차이값의 최대 또는 최소값을 -10 에서 +10으로 가정한다. 따라서, 차이값이 10이상이거나 -10이하이면 그 차이값은 10 또는 -10으로 대체된다.
웹응용서버A(130)의 응답 속도 수집부(110)로부터 전달된 평균 응답 속도를 정규화한 값이 41이라면 목표 가중치인 33과의 차이값은 8이다. 차이값이 8이므로 최대 임계값인 10보다 작으므로 최대 임계값으로 대체할 필요는 없다. 이 값을 Smoothing Factor인 2로 나누어 4라는 값을 얻는다. Smoothing Factor는 위에서 설명한 바와 같이 갑작스럽게 노드의 가중치 값이 변경되는 것을 방지하기 위하여 관리자에 의해 설정된 값으로, 보정 과정에서 교정 가중치 값을 나누어주는 값이다.
Smoothing Factor를 이용하여 얻어진 값인 4를 현재 웹응용서버A(130)의 가중치 값인 3에서 빼고, 나머지 웹응용서버B,C(132,134)에서 4의 값을 웹응용서버B,C(132,134)가 갖고 있던 가중치 값의 비율에 따라 각각 더한다. 즉, 33과 34는 거의 1:1의 비율이므로 웹응용서버B,C(132,134)의 가중치는 각각 2씩 더해진다. 이로써, 웹응용서버A(130)는 4만큼의 부하가 감소하고 나머지 웹응용서버들(132,134)은 4만큼의 부하를 더 수행하게 된다. 이러한 과정을 통해 중앙 노드관리부(120)는 29,35,36의 값으로 교정된 노드 가중치 테이블을 생성한다(S430).
중앙 노드관리부(120)는 교정한 노드 가중치 테이블을 부하 분산부(100)로 전달한다(S435). 따라서, 부하 분산부(100)는 중앙 노드관리부(120)로부터 수신한 노드 가중치 테이블을 기초로 부하 분산을 수행한다.
도 5는 본 발명에 따른 응답 속도 수집부의 동작을 도시한 흐름도이다.
도 5를 참조하면, 응답 속도 수집부(110 내지 114)는 각각의 웹응용서버(130 내지 134)에 플러그인 형태로 존재하며, 응답 속도 수집부(110 내지 114)가 시작되면(S500), 중앙 노드관리부(120)와 통신하기 위한 통신관리자(미도시)를 시작한다(S505).
응답 속도 수집부(110 내지 114)는 내부적으로 정보전달을 담당하는 쓰레드(Thread)가 존재한다(S510). 이와 같은 쓰레드를 두는 것은 웹응용서버(130 내지 134)의 실행시간 동작 시간에 부하를 주지 않기 위함이다. 정보전달 쓰레드는 호출된 모든 응용의 처리 속도를 시간단위로 평균값을 계산하고(S515), 평균 응답 시간을 포함하는 메시지를 생성한다(S520). 응답 속도 수집부(110 내지 114)는 생성한 메시지를 통신관리자(미도시)를 통해 중앙 노드관리부(120)로 전송한다(S525).
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매 체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
본 발명은 비즈니스 응용들의 평균 응답속도에 기초한 동적 부하 분석 방법으로, 종래의 다른 부하 분산 방법들에 비해 특정 노드에서 처리되는 응용의 응답속도가 비정상적으로 느려지는 것을 방지할 뿐만 아니라 모든 응용들의 응답속도가 느려지는 것을 방지하여 클라이언트 요청에 대해 빠른 응답속도를 보장한다.
또한, 부하 분산을 위해 필요한 노드의 실행시간 계산을 부하 분산부와 별도의 서버에서 수행함으로써, 부하 분산부의 실행시간 속도 저하를 방지할 수 있으며 시스템의 성능과 안정성을 보장할 수 있다.

Claims (7)

  1. 적어도 하나 이상의 웹응용서버의 평균 응답 속도를 기초로 작성된 노드 가중치 테이블을 이용하여 클라이언트의 응용 서비스 요청을 수행할 웹응용서버를 선택하는 부하 분산부;
    상기 각각의 웹응용서버에 구비되어 상기 클라이언트의 응용 서비스 요청에 대한 웹응용서버의 평균 응답 속도를 계산하는 응답 속도 수집부; 및
    상기 각각의 웹응용서버의 응답 속도 수집부로부터 평균 응답 속도를 취합한 후, 상기 웹응용서버들의 전체 평균 응답 속도의 합에서 상기 각각의 평균 응답 속도가 차지하는 비율을 기초로 상기 웹응용서버들의 가중치를 계산한 후, 상기 노드 가중치 테이블을 상기 계산된 가중치로 보정하는 중앙 노드관리부;를 포함하는 것을 특징으로 하는 동적 부하 분산 시스템.
  2. 제 1항에 있어서,
    상기 부하 분산부는 상기 선택된 웹응용서버로부터 상기 클라이언트 요청에 대한 정상적인 응답을 수신하지 못하면 상기 노드 가중치 테이블을 기초로 차선의 웹응용서버를 선택하는 것을 특징으로 하는 동적 부하 분산 시스템.
  3. 제 1항에 있어서,
    상기 중앙 노드관리부는 상기 각각의 웹응용서버의 평균 응답 속도의 합이 100이 되도록 환산하고, 상기 각각의 평균 응답 속도가 100 중에서 차지하는 비율을 기초로 상기 웹응용서버들의 가중치를 계산한 후, 상기 노드 가중치 테이블을 상기 계산된 가중치로 보정하는 것을 특징으로 하는 동적 부하 분산 시스템.
  4. 제 1항에 있어서,
    상기 중앙 노드관리부는 상기 노드 가중치 테이블의 가중치를 소정의 임계 변화폭내에서 보정하는 것을 특징으로 하는 동적 부하 분산 시스템.
  5. 적어도 하나 이상의 웹응용서버의 평균 응답 속도를 기초로 작성된 노드 가중치 테이블을 이용하여 클라이언트의 응용 서비스 요청을 수행할 웹응용서버를 선택하는 단계;
    상기 클라이언트의 요청에 대한 상기 웹응용서버의 평균 응답 속도를 계산하는 단계; 및
    상기 각각의 웹응용서버의 평균 응답 속도를 취합한 후, 상기 웹응용서버들의 전체 평균 응답 속도의 합에서 상기 각각의 평균 응답 속도가 차지하는 비율을 기초로 상기 웹응용서버들의 가중치를 계산한 후, 상기 노드 가중치 테이블을 상기 계산된 가중치로 보정하는 단계;를 포함하는 것을 특징으로 하는 동적 부하 분산 방법.
  6. 제 5항에 있어서,
    상기 선택 단계는 상기 선택된 웹응용서버로부터 상기 클라이언트 요청에 대한 정상적인 응답을 수신하지 못하면 상기 노드 가중치 테이블을 기초로 차선의 웹응용서버를 선택하는 단계를 포함하는 것을 특징으로 하는 동적 부하 분산 방법.
  7. 제 5항에 있어서,
    상기 보정 단계는 상기 노드 가중치 테이블의 가중치를 소정의 임계 변화폭내에서 보정하는 단계를 포함하는 것을 특징으로 하는 동적 부하 분산 방법.
KR1020030093101A 2003-12-18 2003-12-18 동적 부하 분산 시스템 및 그 방법 KR100576713B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020030093101A KR100576713B1 (ko) 2003-12-18 2003-12-18 동적 부하 분산 시스템 및 그 방법
JP2004158135A JP2005182742A (ja) 2003-12-18 2004-05-27 動的負荷分散システム及びその方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030093101A KR100576713B1 (ko) 2003-12-18 2003-12-18 동적 부하 분산 시스템 및 그 방법

Publications (2)

Publication Number Publication Date
KR20050063852A KR20050063852A (ko) 2005-06-29
KR100576713B1 true KR100576713B1 (ko) 2006-05-03

Family

ID=34793184

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030093101A KR100576713B1 (ko) 2003-12-18 2003-12-18 동적 부하 분산 시스템 및 그 방법

Country Status (2)

Country Link
JP (1) JP2005182742A (ko)
KR (1) KR100576713B1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100446495C (zh) * 2006-06-28 2008-12-24 华为技术有限公司 一种动态共享连接的方法和系统
KR100908868B1 (ko) * 2007-09-28 2009-07-21 주식회사 넥스지 가상 인터페이스를 통해 연결된 서버와 클라이언트사이에서 각 회선별로 트래픽을 분배하여 데이터를전송하는 방법 및 시스템
CN109995818A (zh) * 2017-12-29 2019-07-09 中移(杭州)信息技术有限公司 一种服务器负载均衡的方法及装置
CN110278251A (zh) * 2019-06-11 2019-09-24 中国农业机械化科学研究院 一种农机大数据平台服务器负载均衡方法
CN111124528B (zh) * 2019-11-11 2023-06-27 泰康保险集团股份有限公司 页面加载方法、装置、电子设备及计算机可读存储介质

Also Published As

Publication number Publication date
KR20050063852A (ko) 2005-06-29
JP2005182742A (ja) 2005-07-07

Similar Documents

Publication Publication Date Title
CN109308221B (zh) 一种基于WebSocket长连接的Nginx动态负载均衡方法
JP4230673B2 (ja) サービス管理装置
CN108712464A (zh) 一种面向集群微服务高可用的实现方法
Lu et al. Join-idle-queue: A novel load balancing algorithm for dynamically scalable web services
EP2515504B1 (en) Content delivery method, system and schedule server
US8626890B2 (en) Connection pool use of runtime load balancing service performance advisories
EP1472846B1 (en) Method and apparatus for web farm traffic control
CN109547517B (zh) 一种带宽资源调度方法和装置
US7437460B2 (en) Service placement for enforcing performance and availability levels in a multi-node system
US6898635B2 (en) Mobile communication system and method of selecting server in mobile communication system
EP2137944B1 (en) On-demand propagation of routing information in distributed computing system
US9703610B2 (en) Extensible centralized dynamic resource distribution in a clustered data grid
US20050256971A1 (en) Runtime load balancing of work across a clustered computing system using current service performance levels
CN109218355A (zh) 负载均衡引擎,客户端,分布式计算系统以及负载均衡方法
CN110933139A (zh) 一种解决Web服务器高并发的系统及方法
CN111381971A (zh) 一种基于Nginx的动态权重负载均衡方法
CN103067293A (zh) 负载均衡设备的连接管理和复用的方法和系统
CN112217894A (zh) 一种基于动态权重的负载均衡系统
CN102724105B (zh) 一种负载均衡方法和装置
CN108228393A (zh) 一种可扩展的大数据高可用的实现方法
CN117155942A (zh) 一种微服务动态自适应客户端负载均衡方法及系统
CN105450537A (zh) 确定节点负载信息及据此进行负载均衡和过载控制
KR100576713B1 (ko) 동적 부하 분산 시스템 및 그 방법
JP2001202318A (ja) データ配信システム
Antonis et al. A hierarchical adaptive distributed algorithm for load balancing

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

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee