KR100654391B1 - 클러스터 시스템 제어 방법 및 상기 제어 방법을 수행하는컴퓨터 판독 가능한 기록 매체를 포함하는 클러스터 시스템 - Google Patents

클러스터 시스템 제어 방법 및 상기 제어 방법을 수행하는컴퓨터 판독 가능한 기록 매체를 포함하는 클러스터 시스템 Download PDF

Info

Publication number
KR100654391B1
KR100654391B1 KR1020050033367A KR20050033367A KR100654391B1 KR 100654391 B1 KR100654391 B1 KR 100654391B1 KR 1020050033367 A KR1020050033367 A KR 1020050033367A KR 20050033367 A KR20050033367 A KR 20050033367A KR 100654391 B1 KR100654391 B1 KR 100654391B1
Authority
KR
South Korea
Prior art keywords
node
external terminal
web service
connection
cluster system
Prior art date
Application number
KR1020050033367A
Other languages
English (en)
Other versions
KR20060111061A (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 KR1020050033367A priority Critical patent/KR100654391B1/ko
Publication of KR20060111061A publication Critical patent/KR20060111061A/ko
Application granted granted Critical
Publication of KR100654391B1 publication Critical patent/KR100654391B1/ko

Links

Images

Classifications

    • EFIXED CONSTRUCTIONS
    • E06DOORS, WINDOWS, SHUTTERS, OR ROLLER BLINDS IN GENERAL; LADDERS
    • E06CLADDERS
    • E06C7/00Component parts, supporting parts, or accessories
    • E06C7/08Special construction of longitudinal members, or rungs or other treads
    • E06C7/081Rungs or other treads comprising anti-slip features
    • EFIXED CONSTRUCTIONS
    • E06DOORS, WINDOWS, SHUTTERS, OR ROLLER BLINDS IN GENERAL; LADDERS
    • E06CLADDERS
    • E06C7/00Component parts, supporting parts, or accessories
    • E06C7/08Special construction of longitudinal members, or rungs or other treads
    • E06C7/082Connections between rungs or treads and longitudinal members

Landscapes

  • Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Computer And Data Communications (AREA)

Abstract

본 발명은 클러스터 시스템 제어 방법 및 상기 제어 방법을 수행하는 컴퓨터 판독가능한 프로그램 매체를 포함하는 클러스터 시스템에 관한 것이다. 특히 본 발명은 개인 작업 처리와 외부 단말기로부터의 웹 서비스 요청에 대응하는 소정의 작업 처리가 가능한 복수 개의 노드와, 외부 단말기로부터 통신 네트워크를 통해 전송받는 웹 서비스 요청에 대응하는 작업을 상기 각 노드로 분배하는 부하 분산 서버를 포함하는 클러스터 시스템 제어 방법 및 상기 제어 방법을 수행하는 컴퓨터 판독 가능한 기록 매체를 포함하는 클러스터 시스템에 관한 것이다.
본 발명의 목적을 달성하기 위한 개인 작업 처리와 외부 단말기로부터의 웹 서비스 요청에 대응하는 소정의 작업 처리가 가능한 복수 개의 노드와, 외부 단말기로부터 통신 네트워크를 통해 전송받는 웹 서비스 요청에 대응하는 작업을 상기 각 노드로 분배하는 부하 분산 서버를 포함하는 클러스터 시스템을 제어하는 방법은, (1) 상기 노드로부터 개인 작업 처리를 위한 노드 자원 확보 요청 정보를 획득하는 단계와, (2) 각각의 노드의 자원 사용량 정보를 획득하는 단계와, (3) 외부 단말기로부터의 웹 서비스 요청을 획득하는 웹 서비스 요청 획득 단계와, (4) 상기 노드 자원 사용량 정보를 이용하여 상기 노드와 상기 웹 서비스를 요청한 외부 단말기와의 연결을 유도하는 부하 분산 단계와, (5) 상기 노드의 자원 확보 요청 정보를 이용하여 상기 각 노드와 외부 단말기와의 연결을 조절하는 부하 조정 단계를 포함하고, 상기 (5)의 부하 조정 단계는, (a) 외부 단말기로부터의 웹 서비스 요청 에 대응하는 작업을 수행하는데 사용되는 노드 자원 사용량을 상기 노드에 접속한 외부 단말기 수로 나눈 접속한 외부 단말기 당 노드 자원 사용량을 계산하는 제1 계산 단계와, (b) 상기 제1 계산 단계의 결과 값으로 상기 노드의 자원 확보 요청량을 나눈 자원 확보를 위한 접속 단말기 수를 계산하는 제2 계산 단계와, (c) 상기 제2 계산 단계의 수행 결과를 이용하여 상기 노드에 대한 외부 단말기의 접속을 차단하거나 유지하는 접속 조정 단계를 포함하도록 구성된다.
클러스터, 병렬 처리, 노드, 부하 분배, 가상 서버

Description

클러스터 시스템 제어 방법 및 상기 제어 방법을 수행하는 컴퓨터 판독 가능한 기록 매체를 포함하는 클러스터 시스템{Method for Controlling Cluster System and Cluster System Comprising A Program Recorded Media Readable by A Computer Executing The Method}
도 1은 본 발명에 의한 클러스터 시스템 제어 방법이 수행되는 클러스터 시스템의 예시도.
도 2는 본 발명에 의한 클러스터 시스템 제어 방법의 수행 단계를 도시한 절차 흐름도.
도 3a는 외부 단말기로부터의 웹 서비스 제공 요청만이 있고 각 노드에서 개인 작업을 위한 자원 확보 요청이 없는 경우 부하 분배 상황 예시도.
도 3b는 외부 단말기로부터의 웹 서비스 제공 요청과 각 노드로부터의 개인 작업을 위한 자원 확보 요청이 있는 경우 부하 분배 상황 예시도.
본 발명은 클러스터 시스템 제어 방법 및 상기 제어 방법을 수행하는 컴퓨터 판독 가능한 기록 매체를 포함하는 클러스터 시스템에 관한 것이다. 특히 본 발명 은 개인 작업 처리와 외부 단말기로부터의 웹 서비스 요청에 대응하는 소정의 작업 처리가 가능한 복수 개의 노드와, 외부 단말기로부터 통신 네트워크를 통해 전송받는 웹 서비스 요청에 대응하는 작업을 상기 각 노드로 분배하는 부하 분산 서버를 포함하는 클러스터 시스템 제어 방법 및 상기 제어 방법을 수행하는 컴퓨터 판독 가능한 기록 매체를 포함하는 클러스터 시스템에 관한 것이다.
종래 클러스터 시스템은 다수의 노드의 자원을 이용하여 처리 용량이 큰 단일의 컴퓨터와 같은 성능을 낼 수 있도록 제공되어 왔으며, 이러한 클러스터 시스템의 제어 방법에 대해서는 다양한 실시예가 널리 알려져 있다. 본 출원인은 각 노드의 자원 사용량을 주기적으로 체크하여 특정 노드의 과부하를 방지하고 전체적으로 부하가 균등하게 분산되도록 하는 클러스터 시스템 제어 방법이 수행되는 프로그램이 기록된 컴퓨터 판독 가능 기록 매체를 특허공개공보 10-2005-0001705호에서 개시한 바 있다.
한편 인터넷의 보급이 활성화됨에 따라 국내 대다수의 기업 및 관공서에서는 웹 서비스를 제공하며 있으며, 이러한 웹 서비스를 제공하기 위해서 기업 및 관공서에서는 독립된 웹 서버를 사용하고 있다. 특히 고성능 웹 서비스 제공이 기업에서는 고가의 슈퍼 컴퓨터를 이용하고 있는 실정이다. 그러나 웹 서비스를 제공하기 위해 고가의 슈퍼 컴퓨터를 이용한 웹 서버 장비를 구축하고 운영하기에는 경제적인 부담이 컸다. 따라서 상대적으로 저렴한 비용으로 고성능을 발휘하는 것이 가능한 병렬 처리 시스템이 주목받고 있지만 병렬 처리 시스템의 구축 비용과 구축에 따른 기술적인 문제로 인해 여전히 널리 활용되고 있지는 못하고 있다.
특히 병렬 처리 시스템을 구성함에 있어서 사원(社員)이 사무용 문서 작성이나 인터넷 검색등 개인 작업용 컴퓨터를 수행할 수 있도록 제공되는 사원 개인 컴퓨터를 이용하여 클러스터 시스템을 구축할 수 있게 되면 별도의 병렬 처리 시스템을 위한 컴퓨터의 구매 등이 필요없게 되어 구축 비용을 크게 절감할 수 있지만, 효율적으로 그러한 시스템을 구성하는 기술은 아직 나와 있지 아니하였다.
본 발명은 개인 작업을 수행하는 것이 가능한 사원 개인 컴퓨터를 노드로 하는 클러스터 시스템을 제공하는데 있어서, 특정 노드에 외부 컴퓨터의 접속이 몰려 개인 작업을 수행하는데 불편이 생기는 것을 방지하고 나아가 개인 작업 수행을 위한 자원 확보 요청에 부응하여 각 노드에 대한 외부 컴퓨터의 접속을 조정하는 것이 가능한 클러스터 시스템 제어 방법 및 상기 제어 방법을 수행하는 컴퓨터 판독 가능한 기록 매체를 포함하는 클러스터 시스템을 제공하는데 그 목적이 있다.
전술한 바와 같은 본 발명의 목적을 달성하기 위한 개인 작업 처리와 외부 단말기로부터의 웹 서비스 요청에 대응하는 소정의 작업 처리가 가능한 복수 개의 노드와, 외부 단말기로부터 통신 네트워크를 통해 전송받는 웹 서비스 요청에 대응하는 작업을 상기 각 노드로 분배하는 부하 분산 서버를 포함하는 클러스터 시스템을 제어하는 방법은, (1) 상기 노드로부터 개인 작업 처리를 위한 노드 자원 확보 요청 정보를 획득하는 단계와, (2) 각각의 노드의 자원 사용량 정보를 획득하는 단계와, (3) 외부 단말기로부터의 웹 서비스 요청을 획득하는 웹 서비스 요청 획득 단계와, (4) 상기 노드 자원 사용량 정보를 이용하여 상기 노드와 상기 웹 서비스를 요청한 외부 단말기와의 연결을 유도하는 부하 분산 단계와, (5) 상기 노드의 자원 확보 요청 정보를 이용하여 상기 각 노드와 외부 단말기와의 연결을 조절하는 부하 조정 단계를 포함하고, 상기 (5)의 부하 조정 단계는, (a) 외부 단말기로부터의 웹 서비스 요청에 대응하는 작업을 수행하는데 사용되는 노드 자원 사용량을 상기 노드에 접속한 외부 단말기 수로 나눈 접속한 외부 단말기 당 노드 자원 사용량을 계산하는 제1 계산 단계와, (b) 상기 제1 계산 단계의 결과 값으로 상기 노드의 자원 확보 요청량을 나눈 자원 확보를 위한 접속 단말기 수를 계산하는 제2 계산 단계와, (c) 상기 제2 계산 단계의 수행 결과를 이용하여 상기 노드에 대한 외부 단말기의 접속을 차단하거나 유지하는 접속 조정 단계를 포함하도록 구성된다.
본 발명에 의한 클러스터 시스템 제어 방법은 특히 외부 접속자와 노드의 연결을 중계하는 가상 서버를 포함하는 부하 분산 서버 에서 수행되는 것이 바람직하다.
상기 노드는 컴퓨터 단말기로 구성되는데, 특히 사원용 컴퓨터로 구성되는 것이 바람직하다. 또한, 상기 자원 사용량은 컴퓨터 단말기의 CPU 사용량인 것이 바람직하다.
이와 같은 구성에 의하면 개인 작업 처리가 가능한 노드에 웹 데몬을 설치하여 외부 단말기로부터 통신 네트워크를 통해 전송받는 웹 서비스 요청에 대응하는 작업을 수행하도록 구성하여 사원 개인 컴퓨터가 사원의 사무 처리를 위한 개인 작업을 수행함과 동시에 웹 서비스 제공을 위한 웹 서비스 작업을 수행하는 것이 가 능한 노드의 역할을 수행할 수 있게되어 클러스터 시스템 구축 비용을 크게 절감할 수 있다. 나아가 상기 부하 분산 단계를 둠으로써 특정 노드에 외부 단말기의 접속이 몰리는 현상을 줄여 각 노드에 부하를 균등하게 분배할 수 있게 되고, 상기 부하 조정 단계를 둠으로써 각 노드를 이용한 개인 작업을 수행하고자 하는 시도가 있을 때 개인 작업을 위한 노드 자원을 확보하도록 노드에 접속한 외부 단말기의 수를 조정할 수 있어 개인 작업과 웹 서비스 작업을 노드에서 처리하더라도 과부하에 의한 컴퓨터 다운 등을 방지할 수 있게 된다.
바람직하게는 상기 (4)의 부하 분산 단계는, 각각의 노드의 자원 사용량 정보를 이용하여 각각의 노드에 가중치를 부여하는 노드 가중치 계산 단계와, 상기 노드 가중치를 이용하여 상기 복수 개의 노드 중 어느 노드에 대한 외부 단말기 접속을 유도할지를 결정하는 스케쥴링 단계를 포함하도록 구성된다.
외부 단말기의 웹 서비스 요청이 있는 경우 클러스터 시스템의 가상 서버는 각 노드로 상기 웹 서비스 요청을 한 외부 단말기와의 접속을 유도하는 스케쥴링을 수행하는데 이를 가중치 부여를 통한 최소 연결 가중치 방식(Weighted Least-Connecton Scheduling)을 응용하도록 구성하는 것이 바람직하다.
바람직하게는, 상기 (5)의 부하 조정 단계는, 상기 노드에 접속해 있는 외부 단말기 중 상기 자원 확보를 위한 접속 단말기 수에 해당하는 외부 단말기의 접속을 차단하고 다른 노드와 연결되도록 유도하는 노드 자원 확보를 위한 접속 조정 단계를 포함하도록 구성된다.
외부 단말기에 대한 웹 서비스를 제공하기 위한 노드의 자원 사용량을 실제 각 외부 단말기의 요청에 대응한 작업별로 파악하는 것은 클러스터 시스템 전체의 작업 능률을 저하시키기 때문에 전술한 바와 같이 외부 단말기 당 자원 사용량과 같이 평균 값을 이용하여 노드 자원 확보를 위한 접속 조정을 수행하도록 구성함으로써 클러스터 시스템의 작업 능률을 향상 시킬 수 있다.
본 발명에 의한 개인 작업 처리와 외부 단말기로부터의 웹 서비스 요청에 대응하는 소정의 작업 처리가 가능한 복수 개의 노드와, 외부 단말기로부터 통신 네트워크를 통해 전송받는 웹 서비스 요청에 대응하는 작업을 상기 각 노드로 분배하는 부하 분산 서버를 포함하는 클러스터 시스템에 있어서, 상기 부하 분산 서버는, 상기 노드로부터 개인 작업 처리를 위한 노드 자원 확보 요청 정보를 획득하는 단계와, (1) 각각의 노드의 자원 사용량 정보를 획득하는 단계와, (2) 외부 단말기로부터의 웹 서비스 요청을 획득하는 웹 서비스 요청 획득 단계와, (3) 상기 노드 자원 사용량 정보를 이용하여 상기 노드와 상기 웹 서비스를 요청한 외부 단말기와의 연결을 유도하는 부하 분산 단계와, (4) 상기 노드의 자원 확보 요청 정보를 이용하여 상기 각 노드와 외부 단말기와의 연결을 조절하는 부하 조정 단계를 수행하는 프로그램이 기록된 컴퓨터 판독 가능 기록 매체를 포함하고, 상기 (4)의 부하 조정 단계는, (a) 외부 단말기로부터의 웹 서비스 요청에 대응하는 작업을 수행하는데 사용되는 노드 자원 사용량을 상기 노드에 접속한 외부 단말기 수로 나눈 접속한 외부 단말기 당 노드 자원 사용량을 계산하는 제1 계산 단계와, (b) 상기 제1 계산 단계의 결과 값으로 상기 노드의 자원 확보 요청량을 나눈 자원 확보를 위한 접속 단말기 수를 계산하는 제2 계산 단계와, (c) 상기 제2 계산 단계의 수행 결과를 이 용하여 상기 노드에 대한 외부 단말기의 접속을 차단하거나 유지하는 접속 조정 단계를 포함하는, 컴퓨터 판독 가능한 기록 매체를 포함하도록 구성된다.
이와 같은 구성에 의하면 상기 부하 분산 서버에서 앞서 설명한 바와 같은 클러스터 시스템 제어 방법을 수행하는 클러스터 시스템을 제공할 수 있게된다는 것이 이해될 것이다.
이하에서는 본 발명의 바람직한 실시예에 대해 첨부 도면을 참조하여 더욱 자세하게 설명한다.
도 1에는 본 발명에 의한 클러스터 시스템 제어 방법이 수행되는 클러스터 시스템의 예시도가 도시되어 있다.
도 1에 도시된 바와 같이 본 발명에 의한 클러스터 시스템 제어 방법이 수행되는 시스템은 클러스터 시스템을 구성하는 각 노드(20a, 20b, 20c)와, 상기 노드와 LAN, WAN 등 통신 네트워크를 통해 연결되는 로드 밸런서(Load Balancer; 10)로 구성된다. 상기 로드 밸런서(10)는 부하 분배기(Load Distributer; 100)를 포함하는데, 상기 부하 분배기는 각 노드(20a, 20b, 20c)에서의 자원 사용 현황을 파악하기 위해 제공되는 자원 체크 모듈(110)과, 외부 단말기(30a, 30b, 30c)의 웹 서비스 요청을 받아 각 노드(20a, 20b, 20c)로 전달하는 리눅스 가상 서버(Linux Virtual Server; 130)를 포함하도록 구성된다. 또한, 상기 로드 밸런서(10)는 각 노드(20a, 20b, 20c)로부터 개인 작업 수행을 위한 노드의 자원 확보 요청 정보를 입력받는 워크 모듈(200)를 더 포함한다.
본 발명은 사무용 문서 작업 등 컴퓨터의 자원 활용도가 낮은 개인 작업을 수행하는 사무용 컴퓨터를 클러스터 시스템의 노드로 활용하기 위해 착안된 것이며, 클러스터 시스템의 각 노드에 분배되는 외부 작업 처리 요청이 특정 노드에 몰리지 않도록 각 노드의 자원 사용 현황을 파악하여 파악된 사용 현황에 따라 가중치를 부여하도록 하고 나아가 사원(社員) 등의 개인 작업 수행이 원활이 이루어지도록하기 위해 각 노드로부터 개인 작업 수행을 위한 자원 확보 요청이 있는 경우 웹 서비스 제공을 위해 접속되어 있는 외부 단말기 중 자원 확보를 위해 접속이 해제될 필요가 있는 일부와의 접속 상태를 해제하고 다른 노드로 접속하여 웹 서비스를 제공받도록 구성된다.
이를 위하여 상기 로드 밸런서(10)에 상기 워크 모듈(200)이 탑재되어 각 노드의 자원 확보 요청 정보를 획득하며, 상기 부하 분배기(100)에는 상기 자원 체크 모듈(110)이 탑재되어 각 노드(20a, 20b, 20c)의 자원 사용 현황을 체크하고 노드(20a, 20b, 20c)에 외부 단말기(30a, 30b, 30c)를 연결시키는 우선 순위를 결정하기 위한 정보로 상기 자원 사용 현황을 이용하도록 구성된다.
도 2에는 본 발명에 의한 클러스터 시스템 제어 방법의 수행 단계를 도시한 절차 흐름도가 도시되어 있다. 도 2에 도시된 절차 흐름도의 순서는 실시예에 따라 다양하게 변형될 수 있다는 것이 이해될 것이며 도 2에 도시된 제어 방법의 절차 흐름 순서로 본 발명의 권리 범위가 제한되는 것은 아니다. 도 1을 참조하여 도 2에 도시된 바를 설명한다.
도 2에 도시된 바와 같이 본 발명에 의한 클러스터 시스템 제어 방법의 실시예에서는 먼저 부하 분배기(100)의 자원 체크 모듈(110)이 각 노드의 자원 사용량 을 주기적으로 체크한다(S110). 단계(S110)에서 체크된 각 노드의 자원 사용 현황을 이용하여 각 노드의 자원 사용량에 따라서 노드마다 가중치를 달리 부여한다(S120). 가중치를 부여하는 규칙은 설계 사양에 따라 정해질 수 있다. 단계(S130)에서는 리눅스 가상 서버(130)가 외부 단말기(30a, 30b, 30c)로부터 웹 서비스 요청을 획득한다.
이렇게 외부 단말기로부터 웹 서비스 요청을 획득하면 단계(S120)에서 부여된 가중치를 고려해서 가중치가 낮은 노드와 외부 단말기의 접속을 유도한다(S140).
이어서 상기 로드 밸런서(100)의 상기 워크 모듈(20)이 각 노드(20a, 20b, 20c)로부터 개인 작업 수행을 위한 노드의 자원 확보 요청 정보를 입력받는다(S210). 단계(S220)로 이행하여 자원 체크 모듈(110)에서 획득한 각 노드의 자원 사용량 정보를 이용하여 노드에 접속한 외부 단말기당 노드 자원 사용량을 계산한다.
다음으로 단계(S230)로 이행하여 상기 외부 단말기당 노드 자원 사용량으로 상기 노드 자원 확보 요청 단계에서 입력된 개인 작업을 위해 확보되어야 할 노드 자원량을 나누어 자원 확보를 위한 접속 단말기 수를 계산한다. 접속 단말기 수를 계산한 이후에는 각 노드에 접속되어 있는 외부 단말기 중 상기 단계(S230)에서 계산된 자원 확보를 위한 접속 단말기 수 만큼의 접속을 차단하고(S240), 상기 차단된 외부 단말기의 접속을 다른 노드로 유도한다(S250). 상기 접속 유도 단계는 앞서 설명한 바와 같이 각 노드의 자원 사용량을 이용한 가중치를 고려하여 가중치가 낮은 노드와 외부 단말기의 접속을 유도하는 단계(S140)로 돌아가도록 구성된다.
이하에서는 본 출원의 발명자가 설계한 클러스터 시스템 제어 방법의 응용예를 참고하여 본 발명을 더욱 자세히 설명한다.
본 발명에 의한 리눅스 가상 서버(Linux Virtual Server)는 IP 터널링을 이용하여 외부 단말기와 실제 서버간의 연결을 라우팅하도록 구성되며, 노드를 구성하는 실제 서버로의 작업 할당은 가중치 기반 최소 접속 스케쥴링(Weighted Least-Connection Scheduling) 방식으로 이루어진다. 상기 가중치 기반 최소 접속 스케쥴링은 각 노드의 자원 사용량을 주기적으로 체크하여 노드의 자원 사용량을 기준으로 가중치를 부여하여 다음 작업 처리를 자원 사용량이 가장 적은 노드에 요청하도록 구성하게 되는데, 이때 노드 자원량 체크는 리눅스를 채용한 경우 리모드 쉘(remote shell; rsh) 명령을 이용하여 각 노드의 중앙 처리 유니트(CPU) 사용량을 얻도록 구성한다. 한편, 상기 rsh 명령을 주기적으로 수행하여 노드 자원량 체크에 의한 부하 분산이 실시간 부하 현황에 근사하여 이루어지도록 하기 위해서 상기 작업 스케쥴링이 리눅스의 크론탭(crontab)을 이용하도록 구성된다.
이와 같은 구성은 본 출원인이 특허공개공보 제10-2005-0001705호에서 자세히 개시한바 있어 본 명세서에서는 자세한 설명을 생략하도록 한다.
도 1에 도시된 Work 모듈(200)에 대해 설명한다. Work 모듈(200)은 사원들의 컴퓨터 업무를 원활히 하기 위해서 개발된 모듈로써, 병렬 웹 서비스 제공에 의해 사원들의 업무가 방해되지 않도록 하는 역할을 한다. 즉 사원들은 자신들의 컴퓨터 업무를 원활히 처리하기 위하여 로드 밸런서(10)로 노드 자원의 확보를 요청 할 수 있다. 로드 밸런서(10)에서는 사원들의 자원 확보 요청을 받아들이기 위해서 자체 홈페이지를 개설하여 사원들은 상기 홈페이지에 접속하여 자신의 컴퓨터 자원의 확보를 요청할 수 있다. 로드 밸런서(10)는 사원들의 자원 확보 요청을 받아들여 부하 분배기(100)에게 자원 확보를 전달하게되며, 부하 분배기(100)에서는 이를 반영하여 자원 확보를 요청한 사원의 컴퓨터와 이미 접속해 있는 외부 단말기와의 접속을 차단하거나 유지하도록 한다.
Work 모듈을 구축하기 위해서는 사원들의 요청을 웹 서비스를 통해 처리하기 위한 PHP가 기본적으로 설치되어 있어야 하며, 웹 서비스를 제공하기 위한 프로그램이 설치되어야 하는데 리눅스 기반의 웹 서비스 제공을 위해서는 아파치 데몬이 설치되는 것이 바람직하다. Work 모듈의 적용을 위하여 부하 분배기(100)에서는 사원 컴퓨터에 연결된 접속자 수를 유동적으로 조절하는 알고리즘을 사용하는데, 먼저 자원 분배기(100)의 리눅스 가상 서버(130)에서는 자원 체크 모듈(100)으로부터 접속자 한명당 CPU 사용량을 체크하며, 상기 접속자 한명당 CPU 사용량은 아래와 같이 정의된다.
Figure 112005020929461-pat00001
한편, Work 모듈에서 필요로 하는 자원 확보 요구량을 이용하여 자원 확보를 위해서 필요한 접속자 수를 산정하는데 자원 확보를 위해서 필요한 접속자 수는 아래와 같이 정의된다.
Figure 112005020929461-pat00002
한편, 리눅스 가상 서버(130)에서는 산정된 접속자 수를 반영하여 특정 사원 컴퓨터로의 병렬 웹 서비스 연결을 유도한다. 즉, 노드에 접속되어 있는 외부 단말기 중 상기 자원 확보를 위한 접속자 수만큼의 연결을 차단하고 다른 노드로 분배하도록 구성하는 것이다.
이와 같은 구성에 의하면, 외부 단말기에 대한 웹 서비스를 제공하기 위한 웹 서비스 제공 작업 부하가 부하 분배기에 의해 각 노드에 균등하게 분배되어 있는 상태에서, 특정 노드에 자원 확보 요청이 발생하여 장차 그 노드에서 개인 작업이 이루어질 것이 예견되면 상기 특정 노드에서 기존의 웹 서비스 제공 작업과 개인 작업을 동시에 수행하게 됨에 따라 부하가 다른 노드에 비해 크게 걸리는 것을 방지하도록 전술한 바와 같이 특정 노드에 접속해 있는 외부 단말기 중 일부 또는 전부를 차단하고 다른 노드에서 상기 차단된 외부 단말기의 웹 서비스를 제공하도록 할 수 있어, 특정 노드에서의 개인 작업에 의한 과부하를 방지하도록 할 수 있게 된다.
이와 같이 자원 확보 요청이 발생하는 노드에 대한 외부 단말기의 접속을 유지하거나 차단하기 위해 접속한 외부 단말기 당 평균 CPU 사용량을 사용하는 이유는 각 노드에서 외부 단말기의 웹 서비스 제공 요청을 처리하기 위해 사용되는 CPU 사용량을 접속한 외부 단말기 별로 파악하기 용이하지 아니할 뿐더러, 일일이 이를 파악하는 경우 정보 획득을 위한 패킷 교환이 빈번하게 발생하여야 하고 결국 이는 전체적인 시스템의 효율면에서 바람직하지 아니하기 때문이다.
도 3a에는 외부 단말기로부터의 웹 서비스 제공 요청만이 있고 각 노드에서 개인 작업을 위한 자원 확보 요청이 없는 경우 부하 분배 상황 예시도가 도시되어 있다. 도 3a에 도시된 바와 같이 외부 단말기(30a, 30b, 30c)로부터의 웹 서비스 제공 요청만이 있고 각 노드에서 개인 작업을 위한 자원 확보 요청이 없는 경우 전술한 바와 같은 가중치 기반 최소 접속 스케쥴링을 통해 각 노드에 균일하게 웹 서비스 처리를 위한 자원 사용량이 60%가 되도록 작업 할당이 이루어진다.
도 3b에는 앞서 설명한 도 3b의 상황에서 제1 노드(20a)에서 개인 작업을 위한 노드 자원 확보를 30% 요청하고, 제3 노드(20c)에서 개인 작업을 위한 노드 자원 확보를 10% 요청한 경우의 부하 분배 상황 예시도가 도시되어 있다. 도 3b에 도시된 바와 같이 워크 모듈(200)은 상기 자원 확보 요청을 받아 이를 부하 분배기(100)로 전달하고, 상기 부하 분배기에서는 본 발명에 따른 클러스터 시스템 제어 방법에 따라 각 노드의 개인 작업을 위한 자원 확보 요청과 외부 단말기의 웹 서비스 제공 요청에 따른 전체 시스템 부하를 고려하여 각 노드의 부하가 균등하게 분배되도록 외부 단말기로부터의 웹 서비스 제공 요청에 대응하는 처리 작업을 수행할 것을 각 노드에 배분하도록 구성된다.
이상 첨부 도면을 참조하여 본 발명의 바람직한 실시예에 대하여 설명하였지만, 본 발명이 속하는 기술분야의 당업자는 본 발명이 기술적 사상이나 필수적 특징을 변경하지 아니하고 다른 구체적인 형태로 실시될 수 있다는 것이 이해될 것이다. 그러므로 앞서 설명한 실시예들은 예시적이며 특허청구범위를 한정하기 위한 것이 아니다. 본 발명의 권리범위는 특허청구범위에 의해 결정되며, 특허청구범위의 의미 및 범위 그리고 그 등가 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 권리범위에 포함되는 것으로 해석되어야 한다.
본 발명에 의하면 개인 작업을 수행하는 것이 가능한 컴퓨터 단말기를 노드로 하는 클러스터 시스템 및 상기 제어 방법을 수행하는 컴퓨터 판독 가능한 기록 매체를 포함하는 클러스터 시스템을 제공하는데 있어서, 특정 노드에 외부 컴퓨터의 접속이 몰려 개인 작업을 수행하는데 불편이 생기는 것을 방지하고 나아가 개인 작업 수행을 위한 자원 확보 요청에 부응하여 각 노드에 대한 외부 컴퓨터의 접속을 조정하는 것이 가능한 클러스터 시스템 제어 방법을 제공할 수 있게 된다. 따라서 본 발명에 의하면 개인 작업과 클러스터 시스템의 노드 단말기로써 외부의 웹 서비스 제공 요청을 처리하는 작업이 동시에 이루어지도록 하되, 외부 단말기의 웹 서비스 제공 요청을 처리하기 위해 발생되는 부하와 개인 작업을 처리하기 위해 발생되는 부하 모두를 고려하여 특정 노드에 과부하가 걸리게 되는 것을 방지할 수 있는 클러스터 시스템 제어 방법 및 상기 제어 방법을 수행하는 컴퓨터 판독 가능한 기록 매체를 포함하는 클러스터 시스템을 제공할 수 있게 된다.

Claims (4)

  1. 개인 작업 처리와 외부 단말기로부터의 웹 서비스 요청에 대응하는 소정의 작업 처리가 가능한 복수 개의 노드와, 외부 단말기로부터 통신 네트워크를 통해 전송받는 웹 서비스 요청에 대응하는 작업을 상기 각 노드로 분배하는 부하 분산 서버를 포함하는 클러스터 시스템을 제어하는 방법에 있어서,
    상기 노드로부터 개인 작업 처리를 위한 노드 자원 확보 요청 정보를 획득하는 단계와,
    각각의 노드의 자원 사용량 정보를 획득하는 단계와,
    외부 단말기로부터의 웹 서비스 요청을 획득하는 웹 서비스 요청 획득 단계와,
    상기 노드 자원 사용량 정보를 이용하여 상기 노드와 상기 웹 서비스를 요청한 외부 단말기와의 연결을 유도하는 부하 분산 단계와,
    상기 노드의 자원 확보 요청 정보를 이용하여 상기 각 노드와 외부 단말기와의 연결을 조절하는 부하 조정 단계를 포함하고,
    상기 부하 조정 단계는,
    외부 단말기로부터의 웹 서비스 요청에 대응하는 작업을 수행하는데 사용되는 노드 자원 사용량을 상기 노드에 접속한 외부 단말기 수로 나눈 접속한 외부 단말기 당 노드 자원 사용량을 계산하는 제1 계산 단계와,
    상기 제1 계산 단계의 결과 값으로 상기 노드의 자원 확보 요청량을 나눈 자 원 확보를 위한 접속 단말기 수를 계산하는 제2 계산 단계와,
    상기 제2 계산 단계의 수행 결과를 이용하여 상기 노드에 대한 외부 단말기의 접속을 차단하거나 유지하는 접속 조정 단계를 포함하는,
    클러스터 시스템 제어 방법.
  2. 청구항 1에 있어서,
    상기 부하 분산 단계는,
    각각의 노드의 자원 사용량 정보를 이용하여 각각의 노드에 가중치를 부여하는 노드 가중치 계산 단계와,
    상기 노드 가중치를 이용하여 상기 복수 개의 노드 중 어느 노드에 대한 외부 단말기 접속을 유도할지를 결정하는 스케쥴링 단계를 포함하는, 클러스터 시스템 제어 방법.
  3. 청구항 1 또는 청구항 2에 있어서,
    상기 부하 조정 단계는,
    상기 노드에 접속해 있는 외부 단말기 중 상기 자원 확보를 위한 접속 단말기 수에 해당하는 외부 단말기의 접속을 차단하고 다른 노드와 연결되도록 유도하는 노드 자원 확보를 위한 접속 조정 단계를 포함하는, 클러스터 시스템 제어 방법.
  4. 개인 작업 처리와 외부 단말기로부터의 웹 서비스 요청에 대응하는 소정의 작업 처리가 가능한 복수 개의 노드와, 외부 단말기로부터 통신 네트워크를 통해 전송받는 웹 서비스 요청에 대응하는 작업을 상기 각 노드로 분배하는 부하 분산 서버를 포함하는 클러스터 시스템에 있어서,
    상기 부하 분산 서버는,
    상기 노드로부터 개인 작업 처리를 위한 노드 자원 확보 요청 정보를 획득하는 단계와,
    각각의 노드의 자원 사용량 정보를 획득하는 단계와,
    외부 단말기로부터의 웹 서비스 요청을 획득하는 웹 서비스 요청 획득 단계와,
    상기 노드 자원 사용량 정보를 이용하여 상기 노드와 상기 웹 서비스를 요청한 외부 단말기와의 연결을 유도하는 부하 분산 단계와,
    상기 노드의 자원 확보 요청 정보를 이용하여 상기 각 노드와 외부 단말기와의 연결을 조절하는 부하 조정 단계를 수행하는 프로그램이 기록된 컴퓨터 판독 가능 기록 매체를 포함하며,
    상기 부하 조정 단계는,
    외부 단말기로부터의 웹 서비스 요청에 대응하는 작업을 수행하는데 사용되는 노드 자원 사용량을 상기 노드에 접속한 외부 단말기 수로 나눈 접속한 외부 단말기 당 노드 자원 사용량을 계산하는 제1 계산 단계와,
    상기 제1 계산 단계의 결과 값으로 상기 노드의 자원 확보 요청량을 나눈 자 원 확보를 위한 접속 단말기 수를 계산하는 제2 계산 단계와,
    상기 제2 계산 단계의 수행 결과를 이용하여 상기 노드에 대한 외부 단말기의 접속을 차단하거나 유지하는 접속 조정 단계를 포함하는, 클러스터 시스템.
KR1020050033367A 2005-04-22 2005-04-22 클러스터 시스템 제어 방법 및 상기 제어 방법을 수행하는컴퓨터 판독 가능한 기록 매체를 포함하는 클러스터 시스템 KR100654391B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050033367A KR100654391B1 (ko) 2005-04-22 2005-04-22 클러스터 시스템 제어 방법 및 상기 제어 방법을 수행하는컴퓨터 판독 가능한 기록 매체를 포함하는 클러스터 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050033367A KR100654391B1 (ko) 2005-04-22 2005-04-22 클러스터 시스템 제어 방법 및 상기 제어 방법을 수행하는컴퓨터 판독 가능한 기록 매체를 포함하는 클러스터 시스템

Publications (2)

Publication Number Publication Date
KR20060111061A KR20060111061A (ko) 2006-10-26
KR100654391B1 true KR100654391B1 (ko) 2006-12-06

Family

ID=37619930

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050033367A KR100654391B1 (ko) 2005-04-22 2005-04-22 클러스터 시스템 제어 방법 및 상기 제어 방법을 수행하는컴퓨터 판독 가능한 기록 매체를 포함하는 클러스터 시스템

Country Status (1)

Country Link
KR (1) KR100654391B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101578246B1 (ko) * 2010-04-02 2015-12-16 충북대학교 산학협력단 고속 서열 분석을 위한 병렬 Intra-Query 라우팅 알고리즘

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10334057A (ja) 1997-06-04 1998-12-18 Nippon Telegr & Teleph Corp <Ntt> 分散システム環境におけるバッチジョブの動的負荷分散処理方法およびそのシステム
KR19990072264A (ko) * 1998-02-19 1999-09-27 포만 제프리 엘 분산객체를구비한클라이언트/서버네트워크에서의서버객체사이의작업부하관리방법및장치
US6098091A (en) 1996-12-30 2000-08-01 Intel Corporation Method and system including a central computer that assigns tasks to idle workstations using availability schedules and computational capabilities
KR20010000624A (ko) * 2000-10-10 2001-01-05 최은석 고성능 컴퓨터를 이용한 연산기능 제공방법
JP2002259353A (ja) 2001-03-01 2002-09-13 Nippon Telegr & Teleph Corp <Ntt> 広域クラスタ通信の設定方法、クラスタノードマネージャ装置、クラスタ装置および広域クラスタネットワーク
KR20040084831A (ko) * 2003-03-26 2004-10-06 김기환 피투피 방식의 병렬 분산처리시스템 및 방법
KR20050001705A (ko) * 2003-06-26 2005-01-07 이광훈 클러스터 시스템 제어 방법 및 그 제어 방법이 수행되는프로그램이 기록된 컴퓨터 판독 가능 기록 매체
KR20050043616A (ko) * 2003-11-06 2005-05-11 인터내셔널 비지네스 머신즈 코포레이션 서버의 클러스터를 작동시키는 방법 및 시스템과 컴퓨터판독 가능한 기록 매체

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6098091A (en) 1996-12-30 2000-08-01 Intel Corporation Method and system including a central computer that assigns tasks to idle workstations using availability schedules and computational capabilities
JPH10334057A (ja) 1997-06-04 1998-12-18 Nippon Telegr & Teleph Corp <Ntt> 分散システム環境におけるバッチジョブの動的負荷分散処理方法およびそのシステム
KR19990072264A (ko) * 1998-02-19 1999-09-27 포만 제프리 엘 분산객체를구비한클라이언트/서버네트워크에서의서버객체사이의작업부하관리방법및장치
KR20010000624A (ko) * 2000-10-10 2001-01-05 최은석 고성능 컴퓨터를 이용한 연산기능 제공방법
JP2002259353A (ja) 2001-03-01 2002-09-13 Nippon Telegr & Teleph Corp <Ntt> 広域クラスタ通信の設定方法、クラスタノードマネージャ装置、クラスタ装置および広域クラスタネットワーク
KR20040084831A (ko) * 2003-03-26 2004-10-06 김기환 피투피 방식의 병렬 분산처리시스템 및 방법
KR20050001705A (ko) * 2003-06-26 2005-01-07 이광훈 클러스터 시스템 제어 방법 및 그 제어 방법이 수행되는프로그램이 기록된 컴퓨터 판독 가능 기록 매체
KR20050043616A (ko) * 2003-11-06 2005-05-11 인터내셔널 비지네스 머신즈 코포레이션 서버의 클러스터를 작동시키는 방법 및 시스템과 컴퓨터판독 가능한 기록 매체

Also Published As

Publication number Publication date
KR20060111061A (ko) 2006-10-26

Similar Documents

Publication Publication Date Title
CN103067293B (zh) 负载均衡设备的连接管理和复用的方法和系统
Moharana et al. Analysis of load balancers in cloud computing
KR100956636B1 (ko) 가상 서버 환경에서의 서비스 수준 관리 시스템 및 그 방법
Shah et al. Static load balancing algorithms in cloud computing: challenges & solutions
JP7174764B2 (ja) リソーススケジューリング方法、機器、システム、ならびにセンタサーバ
US8356098B2 (en) Dynamic management of workloads in clusters
Janakiraman et al. Improved artificial bee colony using monarchy butterfly optimization algorithm for load balancing (IABC-MBOA-LB) in cloud environments
Bonald et al. Enhanced cluster computing performance through proportional fairness
Vashistha et al. Comparative study of load balancing algorithms
Patel et al. A survey on load balancing and scheduling in cloud computing
Patel et al. A survey on load balancing in cloud computing
Chatterjee et al. A new clustered load balancing approach for distributed systems
KR100654391B1 (ko) 클러스터 시스템 제어 방법 및 상기 제어 방법을 수행하는컴퓨터 판독 가능한 기록 매체를 포함하는 클러스터 시스템
US20140359135A1 (en) System and method for enabling demand-based pooling of endpoint resources in a multi-application environment
Ashalatha et al. Dynamic load balancing methods for resource optimization in cloud computing environment
Liang et al. BAShuffler: Maximizing network bandwidth utilization in the shuffle of YARN
Kesidis et al. Scheduling distributed resources in heterogeneous private clouds
Manishankar et al. Dynamic load balancing for cloud partition in public cloud model using VISTA scheduler algorithm
Patni Centralized approach of load balancing in homogenous grid computing environment
Jayasinghe et al. A scalable multi-tier task assignment policy with minimum excess load
Shishira et al. A comprehensive survey on federated cloud computing and its future research directions
Rahman et al. Group based resource management and pricing model in cloud computing
Rekha et al. Service broker routing polices in cloud environment: a survey
Aggarwal et al. Dynamic load balancing based on CPU utilization and data locality in distributed database using priority policy
Singh et al. Load Balancing in Cloud Computing

Legal Events

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

Payment date: 20111117

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee