KR101156597B1 - 부하 균등화 장치 및 이를 이용한 부하 조정 방법 - Google Patents

부하 균등화 장치 및 이를 이용한 부하 조정 방법 Download PDF

Info

Publication number
KR101156597B1
KR101156597B1 KR1020100081600A KR20100081600A KR101156597B1 KR 101156597 B1 KR101156597 B1 KR 101156597B1 KR 1020100081600 A KR1020100081600 A KR 1020100081600A KR 20100081600 A KR20100081600 A KR 20100081600A KR 101156597 B1 KR101156597 B1 KR 101156597B1
Authority
KR
South Korea
Prior art keywords
server
servers
delay
load
value
Prior art date
Application number
KR1020100081600A
Other languages
English (en)
Other versions
KR20110069691A (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 US12/956,252 priority Critical patent/US20110153828A1/en
Publication of KR20110069691A publication Critical patent/KR20110069691A/ko
Application granted granted Critical
Publication of KR101156597B1 publication Critical patent/KR101156597B1/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/101Server selection for load balancing based on network conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 다수의 클라이언트와 다수의 서버를 연결시키는 통신망 상에 설치되는 부하 균등화 장치로서, 상기 다수의 서버 각각까지의 네트워크 전송 지연, 네트워크 대기 지연 및 상기 다수의 서버 각각에 대한 작업 처리 지연을 이용하여 서버측 지연 값을 각각 계산하는 서버측 지연 계산부와, 초기 상태에서 상기 다수의 서버에 대한 DC를 초기화한 후 상기 다수의 서버에 대한 연결 요청에 대해 상기 다수의 서버에 균등하게 배분하고, 상기 서버측 지연 계산부에서 계산된 서버 각각에 대한 서버측 지연 값의 합과 각 서버의 서버 지연 값을 이용하여 상기 다수의 서버 각각에 대한 지연 비를 계산한 후 상기 각 서버의 지연 비를 이용하여 상기 다수의 서버 각각의 DC를 계산하며, 상기 계산된 다수의 서버 각각의 DC를 기반으로 상기 다수의 서버 각각에 할당된 부하를 조정하는 연결 처리부를 포함한다.
이와 같이, 본 발명은 네트워크 전송 지연, 네트워크의 대기 지연, 서버측 작업 처리 지연 등을 이용하여 각 서버의 상태를 파악하고, 이를 기반으로 클라이언트의 요청을 처리함으로써, 클라이언트간 네트워크 성능을 균등하게 보장할 수 있는 효과가 있다.

Description

부하 균등화 장치 및 이를 이용한 부하 조정 방법{LOAD BALANCING APPARATUS AND METHOD FOR REGULATING LOAD USING THE SAME}
본 발명은 클라이언트 요청을 처리하기 위한 부하 균등화에 관한 것으로, 더욱 상세하게는 클라이언트 요청을 처리함에 있어 각 서버의 상태를 네트워크 전송 지연, 네트워크의 대기 지연, 서버측 작업 처리 지연 등을 이용하여 파악하고, 파악된 각 서버의 상태에 의거하여 클라이언트 요청을 처리할 수 있는 부하 균등화 장치 및 이를 이용한 부하 조정 방법에 관한 것이다.
라운드 로빈과 같은 종래의 부하 균등화 방법은 네트워크 또는 서버 부하에만 초점이 맞춰져 있어서 서버의 상태에 무관하게 부하를 균등화시키거나 서버에 따라 가중치를 두어 부하 균등화를 도모한다. 예를 들어, 서버가 군집되어 있는 서버 팜에 서로 다른 클라이언트 동일한 컨텐츠를 요청할 때 종래의 부하 균등화 방법은 부하가 가장 작은 적은 서버로 컨텐츠를 요청하게 된다. 여기서, 부하는 서버 상태를 고려하지 않은 것으로 부하가 가장 적다고 해서 서버의 상태가 가장 좋다고 할 수 없다. 다시 말해서, 서버 팜 내의 각 서버는 클라이언트 요청 외에도 다양한 작업, 예컨대 백업 작업을 수행 할 수 있어, 이와 같은 작업을 수행할 경우 부하 상태가 양호하나 서버 상태는 클라이언트 요청을 처리할 수 없을 수 있다.
이와 같이, 종래의 부하 균등화 방법은 서버의 상태와 무관하게 각 서버의 부하를 기준으로 클라이언트의 요청을 처리하기 때문에 부하가 작은 경우에도 클라이언트 요청을 제대 처리할 수 없는 문제가 내재하고 있다. 이러한 문제를 극복하기 위해 능동 측정, 예컨대 서버의 클라이언트 요청 처리 시간, 서버와 클라이언트간에 발생되는 트래픽 분석 등의 방법을 통해 서버의 상태를 파악하는 방법이 있지만 이는 추가적인 트래픽 발생을 야기할 뿐만 아니라 이러한 측정으로 인해 서버의 성능을 열화시킬 수 있는 문제점이 있다.
상기와 같은 문제점을 해결하기 위한 것으로서, 본 발명의 목적은 네트워크 전송 지연, 네트워크의 대기 지연, 서버측 작업 처리 지연 등을 이용하여 각 서버의 상태를 파악하고, 이를 기반으로 클라이언트의 요청을 처리함으로써, 클라이언트간 네트워크 성능을 균등하게 보장할 수 있는 부하 균등화 장치 및 이를 이용한 부하 조정 방법을 제공하는데 있다.1
본 발명의 목적은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 본 발명이 속하는 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 발명의 목적을 달성하기 위한 본 발명의 실시 예에 따른 부하 균등화 장치는 다수의 클라이언트와 다수의 서버를 연결시키는 통신망 상에 설치되는 부하 균등화 장치로서, 상기 각 서버까지의 네트워크 전송 지연, 네트워크 대기 지연 및 상기 다수의 서버 각각에 대한 작업 처리 지연을 이용하여 서버측 지연 값을 각각 계산하는 서버측 지연 계산부와, 상기 서버측 지연 계산부에서 계산된 각각의 서버측 지연 값을 기반으로 상기 다수의 서버 각각에 할당되는 부하를 조정하는 연결 처리부를 포함한다.
본 발명의 실시 예에 따른 부하 균등화 장치는 상기 각각의 서버측 지연 값에 대한 변화를 모니터링하여 상기 다수의 서버 각각에 대한 상태를 체크하는 상태 파악부를 더 포함할 수 있다.
본 발명의 실시 예에 따른 부하 균등화 장치에서 상기 서버측 지연 계산부는, 기 설정된 시간 간격으로 상기 다수의 서버 각각에 대한 서버측 지연 값을 계산하여 상기 연결 처리부에 제공할 수 있다.
본 발명의 실시 예에 따른 부하 균등화 장치에서 상기 연결 처리부는, 기 설정된 시간 동안 상기 기 설정된 시간 간격으로 상기 서버측 지연 계산부에서 계산된 상기 서버 지연 값과 서버측 지연 값 계산 횟수를 이용하여 상기 다수의 서버 각각에 대한 평균 지연 값을 계산하는 평균 지연 계산부와, 상기 평균 지연 값을 이용하여 상기 다수의 클라이언트의 연결 요청에 따라 상기 다수의 서버 각각에 대한 부하를 할당하는 부하 처리부를 포함할 수 있다.
다른 견지에서, 본 발명의 실시 예에 따른 부하 균등화 장치는 다수의 클라이언트와 다수의 서버를 연결시키는 통신망 상에 설치되는 부하 균등화 장치로서, 상기 각 서버까지의 네트워크 전송 지연, 네트워크 대기 지연 및 상기 다수의 서버 각각에 대한 작업 처리 지연을 이용하여 서버측 지연 값을 각각 계산하는 서버측 지연 계산부와, 초기 상태에서 상기 다수의 서버에 대한 DC(Deficit Counter)를 초기화한 후 상기 다수의 서버에 대한 연결 요청에 대해 상기 다수의 서버에 균등하게 배분하고, 상기 서버측 지연 계산부에서 계산된 서버 각각에 대한 서버측 지연 값의 합과 각 서버의 서버 지연 값을 이용하여 상기 각 서버에 대한 지연 비를 계산한 후 상기 각 서버의 지연 비를 이용하여 상기 각 서버의 DC를 계산하며, 상기 계산된 각 서버의 DC를 기반으로 상기 각 서버에 할당된 부하를 조정하는 연결 처리부를 포함한다.
본 발명의 실시 예에 따른 부하 균등화 장치에서 상기 연결 처리부는, 임의의 클라이언트가 임의의 서버에 대한 연결을 요청할 경우 상기 임의의 서버의 DC를 감소시킬 수 있다.
본 발명의 실시 예에 따른 부하 균등화 장치에서 상기 연결 처리부는, 상기 다수의 서버들 중 특정 서버의 DC가 "0"이 되거나 서버들간의 지연 차가 기 설정된 임계 값 이상인 경우 상기 각 서버별로 서버측 지연 값을 각각 계산하여 상기 각 서버에 대한 DC를 재계산한 후 상기 재계산된 DC를 이용하여 부하를 조정할 수 있다.
또 다른 견지에서 본 발명의 실시 예에 따른 부하 균등화 장치를 이용한 부하 조정 방법은 초기 상태에서 상기 다수의 서버에 대한 DC를 초기화시키는 단계와, 상기 다수의 서버에 대한 연결 요청에 대해 상기 다수의 서버에 균등하게 배분하는 단계와, 상기 균등화 장치에서 서버까지의 네트워크 전송 지연, 네트워크 대기 지연 및 상기 서버 각각의 작업 처리 지연을 이용하여 서버측 지연 값을 서버별로 각각 계산하는 단계와, 상기 다수의 서버에 대한 서버측 지연 값의 합과 각 서버의 서버 지연 값을 이용하여 상기 각 서버에 대한 지연 비를 계산하고, 상기 각 서버의 지연 비를 이용하여 상기 각 서버의 DC를 계산하는 단계와, 상기 계산된 각 서버의 DC를 기반으로 상기 각 서버에 할당된 부하를 조정하는 단계를 포함한다.
본 발명의 실시 예에 따른 부하 균등화 장치를 이용한 부하 조정 방법은 임의의 클라이언트가 임의의 서버에 대해 연결을 요청할 경우 상기 임의의 서버의 DC를 감소시키는 단계를 더 포함할 수 있다.
발명의 실시 예에 따른 부하 균등화 장치를 이용한 부하 조정 방법은 상기 다수의 서버들 중 특정 서버의 DC가 "0"이 되거나 서버들간의 지연 차가 기 설정된 임계 값 이상인 경우 상기 각 서버별로 각각 계산하는 단계로 진행하여 이후 단계를 수행할 수 있다.
본 발명은 네트워크 전송 지연, 네트워크의 대기 지연, 서버측 작업 처리 지연 등을 이용하여 각 서버의 상태를 파악하고, 이를 기반으로 클라이언트의 요청을 처리함으로써, 클라이언트간 네트워크 성능을 균등하게 보장할 수 있는 효과가 있다.
도 1은 본 발명의 실시 예에 따른 부하 균등화 장치를 도시한 블록도이며,
도 2는 본 발명의 실시 예에 따른 부하 균등화 장치가 서버측 지연을 측정한 후 이를 기반으로 각 서버에 할당되는 부하를 조정하는 과정을 도시한 흐름도이며,
도 3은 본 발명의 실시 예에 따른 부하 균등화 장치를 포함한 네트워크 망 구성을 도시한 도면이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
본 발명의 실시 예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명의 실시 예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
첨부된 블록도의 각 블록과 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수도 있다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 블록도의 각 블록 또는 흐름도 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 흐름도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실시 예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들 또는 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
본 발명의 실시 예에서는 클라이언트 요청을 처리함에 있어 각 서버의 상태를 네트워크 전송 지연, 네트워크의 대기 지연, 서버측 작업 처리 지연 등을 이용하여 파악하고, 파악된 각 서버의 상태에 의거하여 클라이언트 요청을 처리할 수 있는 부하 균등화 장치 및 이를 이용한 부하 조정 방법에 대해 설명한다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예를 상세히 설명하기로 한다.
도 1은 본 발명의 실시 예에 따른 부하 균등화 장치를 도시한 블록도이다.
도 1을 참조하면, 부하 균등화 장치는 서버측 지연 계산부(100), 평균 지연 계산부(112) 및 부하 처리부(114)로 구성된 연결 처리부(110), 상태 파악부(120) 등을 포함할 수 있다.
이러한 부하 균등화 장치는 인터넷 연결, 예컨대 TCP 연결에 대해 서버와의 지연을 측정하는 것으로, 도 3에 도시된 바와 같이, 클라이언트와 서버 사이에 위치하게 된다. 즉, 부하 균등화 장치는 클라이언트와 서버를 연결시키는 통신망 상에 설치되어 각 서버와의 지연을 측정한다.
TCP 연결 시 TCP 플래그들이 있는데, TCP 플래그들의 예로는 SYN, DATA, ACK, FIN 등을 들 수 있다. 서버와 클라이언트가 통신을 수행할 경우에는 쓰리 핸드 쉐이킹(three hand shaking)을 통해 SYN-SYN, ACK-ACK로 구성되며, 데이터를 전송할 경우 DATA-ACK로 구성되며, 연결 종료 시 FIN-FIN, ACK-ACK로 구성될 수 있다.
본 발명의 실시 예에서는 지연 측정 시 SYN-SYN, ACK-ACK를 최소 지연으로 정의한다.
한편, 데이터가 전송될 경우 지연의 종류로는 네트워크의 전송 지연, 네트워크의 대기 지연, 서버측 작업 처리 지연, 클라이언트의 작업 처리 지연으로 구성될 수 있다.
다수의 서버 중 j번째 서버(j)와 클라이언트 사이에 있는 부하 균등화 장치에서는 서버측 지연과 클라이언트측 지연으로 나눠서 지연을 측정하게 되는데, 서버측 지연은 부하 균등화 장치에서 서버(j)까지 네트워크 전송 지연(DP S), 네트워크의 대기 지연(DQ S), 서버측 작업 처리 지연(DC s)을 포함하며, 클라이언트 지연은 부하 균등화 장치에서 클라이언트까지 네트워크의 전송 지연(DP C), 네트워크의 대기 지연(DQ C), 클라이언트의 작업 처리 지연(DC C)을 포함할 수 있다.
이러한 원리를 이용하여 본 발병의 실시 예에 따른 부하 균등화 장치에서 서버측 지연 계산부(100)는 서버(j)에 대한 서버측 양방향 지연을 계산하는데, 즉 부하 균등화 장치에서 서버(j)까지의 네트워크 전송 지연(DP S), 네트워크의 대기 지연(DQ S), 서버측 작업 처리 지연(DC s)을 이용하여 아래의 수학식 1과 같이 서버(j)에 대한 서버측 지연 값(DR j)을 계산할 수 있다.
[수학식 1]
DR j = 2ㅧDP S(j) + 2ㅧDQ S(j) + DC s
상기의 수학식 1을 통해 서버측 지연 계산부(100)는 부하 균등화 장치에 연결된 다수의 서버 각각에 대한 서버측 지연 값을 계산할 수 있으며, 다수의 서버 각각에 대한 서버측 지연 값을 연결 처리부(110) 및 상태 파악부(120)에 제공한다.
본 발명의 실시 예에서의 서버측 지연 계산부(100)는 각 서버의 경로 및 각 서버의 용량의 고정된 상태를 전제로 각 서버에 대한 서버측 지연 값을 계산하며, 데이터를 전송할 경우인 DATA-ACK 상태에서 서버측 지연 값을 계산한다.
한편, 서버측 지연 계산부(100)는 소정 시간 간격으로 각 서버에 대한 서버측 지연 값을 계산할 수 있으며, 소정 시간 간격으로 계산된 각 서버에 대한 서버측 지연값을 연결 처리부(110)에 제공한다.
연결 처리부(110)는 서버측 지연 계산부(100)에서 계산된 각각의 서버측 지연 값을 기반으로 다수의 서버 각각에 할당되는 부하를 조정한다. 이러한 연결 처리부(110)는 기 설정된 시간 동안 소정 시간 간격으로 각 서버에 대한 서버측 지연 값을 서버측 지연 계산부(100)로부터 제공받고, 제공받은 서버측 지연 값과 서버측 지연 계산부(100)가 기 설정된 시간 동안 서버측 지연 값을 계산한 횟수를 이용하여 각 서버에 대한 평균 지연 값을 계산하는 평균 지연 계산부(112)와, 평균 지연 값을 이용하여 다수의 서버 각각에 대한 연결 요청 또는 부하를 할당하는 부하 처리부(114) 등을 포함할 수 있다.
또한, 연결 처리부(110)는 초기 상태에서 다수의 서버에 대한 DC(Deficit Counter, 이하 'DC'라고 한다.)를 초기화한 후 다수의 서버에 대한 연결 요청에 대해 상기 다수의 서버에 부하를 균등하게 배분하고, 서버측 지연 계산부(100)에서 계산된 서버 각각에 대한 서버측 지연 값의 합과 각 서버의 서버 지연 값을 이용하여 각 서버에 대한 지연 비를 계산한다.
연결 처리부(110)는 계산된 각 서버의 지연 비를 이용하여 각 서버의 DC를 계산하며, 계산된 각 서버의 DC를 기반으로 상기 각 서버에 할당된 부하를 조정한다.
상태 파악부(120)는 각각의 서버측 지연 값에 대한 변화를 모니터링한 후 다수의 서버 각각에 대한 상태를 체크할 수 있는데, 즉 임의의 서버에 대한 서버측 지연 값이 증가하는 경우 임의의 서버 상태가 기존에 비해 악화된 것으로 판단하며, 서버측 지연 값이 감소하는 경우 임의의 서버 상태가 기존에 비해 양호해졌다고 판단한다.
상기와 같은 구성을 갖는 부하 균등화 장치와 서버간의 지연을 측정하여 부하를 조정하는 과정에 대해 도 2 및 도 3을 참조하여 설명한다.
도 2는 본 발명의 실시 예에 따른 부하 균등화 장치가 서버측 지연을 측정한 후 이를 기반으로 각 서버에 할당되는 부하를 조정하는 과정을 도시한 흐름도이다.
도 2에 도시된 바와 같이, 먼저 부하 균등화 장치는 초기 상태에서 모든 서버, 예컨대 도 3에 도시된 바와 같은 서버 A, 서버 B, 서버 C에 대한 DC 값을 초기화(S200)시킨다. 다시 말해서, 부하 균등화 장치는 DC 값을 "0"으로 설정한다.
그런 다음, 부하 균등화 장치는 초기 상태에서 클라이언트의 연결 요청에 대해 서버 A, B, C에 균등하게 부하를 배분(S202)함으로써, 클라이언트의 연결 요청을 처리한다.
이후, 서버측 지연 계산부(100)는 서버 A와 부하 균등화 장치까지의 네트워크 전송 지연, 네트워크 대기 지연, 서버 A의 작업 처리 지연을 측정하고, 측정된 지연을 상기의 수학식 1에 적용하여 서버 A에 대한 서버측 지연 값을 계산하고, 이러한 방법으로 서버 B 및 서버 C에 대한 서버측 지연 값을 계산(S204)한다. 서버측 지연 값 계산에 필요한 네트워크 전송 지연, 네트워크 대기 지연, 서버 A의 작업 처리 지연은 데이터가 전송되는 경우, 즉 TCP 플래그들 중 DATA-ACK 상태일 때 측정될 수 있다. 서버 A, B, C에 대한 서버측 지연 값은 연결 처리부(110)에 제공된다.
그런 다음, 연결 처리부(110)는 서버 A, B, C의 서버측 지연 값의 합과 각 서버의 서버측 지연 값에 대한 지연 비를 각각 산출(S206)하고, 산출된 지연 비를 이용하여 DC 값을 계산(S208)한다. 다시 말해서, 서버 A, B, C의 서버측 지연 값의 합과 서버 A의 서버측 지연 값을 이용하여 서버 A에 대한 지연 비를 산출하고, 서버 A, B, C의 서버측 지연 값의 합과 서버 B의 서버측 지연 값을 이용하여 서버 B에 대한 지연 비를 산출하며, 서버 A, B, C의 서버측 지연 값의 합과 서버 C의 서버측 지연 값을 이용하여 서버 C에 대한 지연 비를 산출한다.
이후, 연결 처리부(110)는 계산된 DC 값을 이용하여 서버 A, B, C에 부하를 조정(S210)하는데, 즉 계산된 서버 A, B, C의 DC 값만큼 클라이언트 연결 요청에 따른 부하량을 설정한 후 설정된 부하량에 의거하여 클라이언트 연결 요청을 서버 A, B, C에 분배한다.
연결 처리부(110)는 임의의 서버, 예컨대 서버 A에 연결 요청을 할 때 마다 DC 값을 소정 값, 예컨대 "1" 감소시키고(S212), 특정 서버의 DC 값이 "0"이 되거나 서버간의 지연 차가 특정 값 이상인지를 판단(S214)한다.
S214의 판단 결과, 특정 서버의 DC 값이 "0"이 되거나 서버간의 지연 차가 특정 값 이상인 경우 연결 처리부(110)는 S206으로 진행하여 이후 단계를 수행한다.
본 발명의 실시 예에 따르면, 클라이언트 요청을 처리함에 있어 각 서버의 상태를 네트워크 전송 지연, 네트워크의 대기 지연, 서버측 작업 처리 지연 등을 이용하여 파악하고, 파악된 각 서버의 상태에 의거하여 클라이언트 요청을 처리함으로써, 클라이언트간 네트워크 성능을 균등하게 보장할 수 있다.
이상 본 발명의 구체적 실시 형태를 참조하여 본 발명을 설명하였으나, 이는 예시에 불과하며 본 발명의 범위를 제한하는 것이 아니다. 당업자는 본 발명의 범위를 벗어나지 않는 범위 내에서 설명된 실시형태들을 변경 또는 변형할 수 있다. 본 명세서에서 설명된 각 기능 블록들 또는 수단들은 프로그램 형식으로 구현될 수 있으며, 각각 별개로 구현되거나 2 이상이 하나로 통합되어 구현될 수 있다. 본 명세서 및 청구범위에서 별개인 것으로 설명된 모듈 등의 구성요소는 단순히 기능상 구별된 것으로 물리적으로는 하나의 수단으로 구현될 수 있으며, 단일한 것으로 설명된 수단 등의 구성요소도 수개의 구성요소의 결합으로 이루어질 수 있다. 또한 본 명세서에서 설명된 각 방법 단계들은 본 발명의 범위를 벗어나지 않고 그 순서가 변경될 수 있고, 다른 단계가 부가될 수 있다. 뿐만 아니라, 본 명세서에서 설명된 다양한 실시형태들은 각각 독립하여서뿐만 아니라 적절하게 결합되어 구현될 수도 있다. 따라서 본 발명의 범위는 설명된 실시형태가 아니라 첨부된 청구범위 및 그 균등물에 의해 정해져야 한다.
100 : 서버측 지연 계산부
110 : 연결 처리부
112 : 평균 지연 계산부
114 : 부하 처리부
120 : 상태 파악부

Claims (10)

  1. 삭제
  2. 삭제
  3. 삭제
  4. 삭제
  5. 다수의 클라이언트와 다수의 서버를 연결시키는 통신망 상에 설치되는 부하 균등화 장치로서,
    상기 다수의 서버 각각까지의 네트워크 전송 지연, 네트워크 대기 지연 및 상기 다수의 서버 각각에 대한 작업 처리 지연을 이용하여 서버측 지연 값을 각각 계산하는 서버측 지연 계산부와,
    초기 상태에서 상기 다수의 서버에 대한 DC를 초기화한 후 상기 다수의 서버에 대한 연결 요청에 대해 상기 다수의 서버에 균등하게 배분하고, 상기 서버측 지연 계산부에서 계산된 서버 각각에 대한 서버측 지연 값의 합과 각 서버의 서버 지연 값을 이용하여 상기 다수의 서버 각각에 대한 지연 비를 계산한 후 상기 각 서버의 지연 비를 이용하여 상기 다수의 서버 각각의 DC를 계산하며, 상기 계산된 다수의 서버 각각의 DC를 기반으로 상기 다수의 서버 각각에 할당된 부하를 조정하는 연결 처리부를 포함하는
    부하 균등화 장치.
  6. 제 5 항에 있어서,
    상기 연결 처리부는,
    임의의 클라이언트가 임의의 서버에 대한 연결을 요청할 경우 상기 임의의 서버의 DC를 감소시키는
    부하 균등화 장치.
  7. 제 6 항에 있어서,
    상기 연결 처리부는,
    상기 다수의 서버들 중 특정 서버의 DC가 "0"이 되거나 서버들간의 지연 차가 기 설정된 임계 값 이상인 경우 상기 각 서버별로 서버측 지연 값을 각각 계산하여 상기 각 서버에 대한 DC를 재계산한 후 상기 재계산된 DC를 이용하여 부하를 조정하는
    부하 균등화 장치.
  8. 다수의 클라이언트와 다수의 서버를 연결시키는 통신망 상에 설치되는 부하 균등화 장치를 이용한 부하 조정 방법으로서,
    초기 상태에서 상기 다수의 서버에 대한 DC를 초기화시키는 단계와,
    상기 다수의 서버에 대한 연결 요청에 대해 상기 다수의 서버에 균등하게 배분하는 단계와,
    상기 균등화 장치에서 서버까지의 네트워크 전송 지연, 네트워크 대기 지연 및 상기 서버 각각의 작업 처리 지연을 이용하여 서버측 지연 값을 서버별로 각각 계산하는 단계와,
    상기 다수의 서버에 대한 서버측 지연 값의 합과 각 서버의 서버 지연 값을 이용하여 상기 다수의 서버 각각에 대한 지연 비를 계산하고, 상기 다수의 서버 각각의 지연 비를 이용하여 상기 다수의 서버 각각의 DC를 계산하는 단계와,
    상기 계산된 다수의 서버 각각의 DC를 기반으로 상기 다수의 서버 각각에 할당된 부하를 조정하는 단계를 포함하는
    부하 균등화 장치를 이용한 부하 조정 방법.
  9. 제 8 항에 있어서,
    상기 부하 조정 방법은
    상기 다수의 서버 각각에 할당된 부하를 조정한 후 임의의 클라이언트가 임의의 서버에 대해 연결을 요청할 경우 상기 임의의 서버의 DC를 감소시키는 단계를 더 포함하는
    부하 균등화 장치를 이용한 부하 조정 방법.
  10. 제 9 항에 있어서,
    상기 부하 조정 방법은,
    상기 임의의 서버의 DC를 감소시킨 후 상기 임의의 서버의 DC가 "0"이 되거나 서버들간의 지연 차가 기 설정된 임계 값 이상인지를 판단하는 단계와,
    상기 판단 결과, 상기 임의의 서버의 DC가 "0"이 되거나 서버들간의 지연 차가 기 설정된 임계 값 이상인 경우 상기 서버측 지연 값을 서버별로 각각 계산하는 단계로 진행하여 이후 단계를 수행하는
    부하 균등화 장치를 이용한 부하 조정 방법.
KR1020100081600A 2009-12-17 2010-08-23 부하 균등화 장치 및 이를 이용한 부하 조정 방법 KR101156597B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US12/956,252 US20110153828A1 (en) 2009-12-17 2010-11-30 Load balancing apparatus and method for regulating load using the same

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020090125819 2009-12-17
KR20090125819 2009-12-17

Publications (2)

Publication Number Publication Date
KR20110069691A KR20110069691A (ko) 2011-06-23
KR101156597B1 true KR101156597B1 (ko) 2012-06-20

Family

ID=44401469

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100081600A KR101156597B1 (ko) 2009-12-17 2010-08-23 부하 균등화 장치 및 이를 이용한 부하 조정 방법

Country Status (1)

Country Link
KR (1) KR101156597B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130074828A (ko) 2011-12-23 2013-07-05 삼성전자주식회사 프록시 서버에 의한 데이터 흐름 제어 방법 및 장치

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080057483A (ko) * 2006-12-20 2008-06-25 삼성전자주식회사 서버, 클라이언트, 로드 밸런싱 시스템 및 그의 로드밸런싱 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080057483A (ko) * 2006-12-20 2008-06-25 삼성전자주식회사 서버, 클라이언트, 로드 밸런싱 시스템 및 그의 로드밸런싱 방법

Also Published As

Publication number Publication date
KR20110069691A (ko) 2011-06-23

Similar Documents

Publication Publication Date Title
US8429282B1 (en) System and method for avoiding system overload by maintaining an ideal request rate
Suresh et al. C3: Cutting tail latency in cloud data stores via adaptive replica selection
US8392558B1 (en) System and method for determining overload state for service requests
US20110153828A1 (en) Load balancing apparatus and method for regulating load using the same
US10044797B2 (en) Load balancing of distributed services
US20140025823A1 (en) Methods for managing contended resource utilization in a multiprocessor architecture and devices thereof
US10027760B2 (en) Methods, systems, and computer readable media for short and long term policy and charging rules function (PCRF) load balancing
KR102392442B1 (ko) 분류된 네트워크 스트림의 관리
US10397131B2 (en) Method and system for determining bandwidth demand
US11025710B1 (en) Systems and methods for dynamic load balancing based on server utilization and content popularity
CN104168332A (zh) 高性能计算中负载均衡与节点状态监控方法
US20120317283A1 (en) Proxy server, hierarchical network system, and distributed workload management method
US20170185456A1 (en) Dynamically scaled web service deployments
KR20150083713A (ko) 자원 관리를 위한 전자 장치 및 방법
CN110780989B (zh) 一种过载保护方法、装置、设备及介质
US20170163509A1 (en) Inter-node distance metric method and system
US20180309686A1 (en) Reducing rate limits of rate limiters
KR101448413B1 (ko) Atca-기반 장비에서 통신 트래픽을 스케줄링하기 위한 방법 및 장치
Sander et al. Analyzing the Influence of Resource Prioritization on HTTP/3 HOL Blocking and Performance.
KR101156597B1 (ko) 부하 균등화 장치 및 이를 이용한 부하 조정 방법
CN109995818A (zh) 一种服务器负载均衡的方法及装置
CN108200185A (zh) 一种实现负载均衡的方法及装置
TWI512485B (zh) 簽核動態調整方法及系統
Buh et al. Adaptive network-traffic balancing on multi-core software networking devices
CN109120480B (zh) 基于数据中心的链路优化方法及装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20150526

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee