KR101090890B1 - 분산 서버 기반의 그리드 시스템 및 동작 방법 - Google Patents

분산 서버 기반의 그리드 시스템 및 동작 방법 Download PDF

Info

Publication number
KR101090890B1
KR101090890B1 KR1020090084143A KR20090084143A KR101090890B1 KR 101090890 B1 KR101090890 B1 KR 101090890B1 KR 1020090084143 A KR1020090084143 A KR 1020090084143A KR 20090084143 A KR20090084143 A KR 20090084143A KR 101090890 B1 KR101090890 B1 KR 101090890B1
Authority
KR
South Korea
Prior art keywords
server
sub
providing computer
resource
resource providing
Prior art date
Application number
KR1020090084143A
Other languages
English (en)
Other versions
KR20110026303A (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 KR1020090084143A priority Critical patent/KR101090890B1/ko
Publication of KR20110026303A publication Critical patent/KR20110026303A/ko
Application granted granted Critical
Publication of KR101090890B1 publication Critical patent/KR101090890B1/ko

Links

Images

Classifications

    • 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/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • 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/5083Techniques for rebalancing the load in a distributed system

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

본 발명은 웹 사이트를 통해 회원가입을 하고, 상기 웹 사이트에서 제공하는 에이전트 프로그램을 다운로드 하여 설치한 후, 작업 수행 요청에 따라 유휴 상태의 컴퓨터 처리 기능을 제공하여 할당된 작업을 수행하고, 수행결과에 따른 결과 데이터를 제공하는 자원 제공 컴퓨터; 데이터 저장이 가능한 저장용량을 이용하여 상기 자원 제공 컴퓨터에서 전달하는 작업의 결과 데이터를 저장하고, 데이터 저장이 가능한 저장 용량에 대해 주기적으로 체크하여 부하 정보로서 출력하는 복수개의 서브 서버; 및 상기 웹 사이트를 제공하고, 자원제공 컴퓨터 및 서브 서버들과 인터넷망을 통해 연결되고, 상기 자원제공 컴퓨터의 유휴 처리능력을 이용하여 컴퓨터 처리 작업을 분산 처리하기 위한 작업을 할당하며, 상기 복수개의 서브 서버에서 제공하는 부하정보를 이용하여 서브 서버의 상태를 체크하고, 체크된 서브 서버의 상태에 따라 상기 자원 제공 컴퓨터에 결과 데이터 저장을 위한 서브 서버를 지정하는 메인 서버를 포함하는 분산 서버 기반의 그리드 시스템 및 그 동작 방법을 제공한다.
그리드 시스템, 분산 서버, 부하 균등

Description

분산 서버 기반의 그리드 시스템 및 동작 방법{Dispersion server based grid system and method of operating thereof}
본 발명은 분산 서버 기반의 그리드 시스템과 동작 방법에 관한 것으로, 특히 분산된 서브 서버를 이용하여 대용량 처리에 대한 결과 데이터 저장을 하는데 서버 시스템의 부하를 줄일 수 있도록 하는 분산 서버 기반의 그리드 시스템 및 동작 방법에 관한 것이다.
일반적으로 임의의 네트워크를 통해 전자화된 정보를 전달받기 위해서는 소정의 정보를 요구하는 컴퓨터(이하 클라이언트라 칭함)와, 클라이언트로부터 요구된 정보를 제공하는 컴퓨터(이하 서버라 칭함) 그리고 이들 간의 정보 전달 경로를 구성하는 네트워크가 존재해야 한다. 이 중 서버와 네트워크는 하나의 클라이언트에게만 서비스되는 자원이 아니므로, 복수의 서로 다른 클라이언트들의 요구에 응답할 때 과중한 부하가 걸리게 된다.
그 결과, 서버에 동시에 접속할 수 있는 클라이언트의 수는 제한되어야 하고 정보를 요구하는 클라이언트는 자신에게 할당된 대역폭 중의 일부만을 사용할 수밖에 없다.
이와 같은 문제점을 해결하기 위해서 인터넷을 통해 정보를 판매하는 콘텐츠 제공자(contents provider)들은 사용자/고객의 수를 늘이고 서비스의 품질을 향상시키기 위해서 서버의 역할을 할 수 있는 대용량의 고가 컴퓨터를 다수 구입하거나, 네트워크의 대역폭을 증가시키는 등의 막대한 투자를 해야 한다. 콘텐츠 제공자들은 정보제공 서비스를 안정적으로 제공하기 위하여 최대 클라이언트 수를 예측하고 그에 대비한 자원을 준비하여야 하는데, 예측한 최대 클라이언트 수만큼의 정보 요구가 발생하지 않은 경우에는 자원 낭비가 초래되고, 예측한 최대 클라이언트 수보다 정보를 요구하는 클라이언트의 수가 많은 경우에는 정상적인 서비스 제공이 어려운 문제는 여전히 존재한다.
이러한 문제를 해결하기 위한 그리드 시스템은 인터넷망을 통해서 연결된 가입자들의 컴퓨터를 에이전트로 하여, 에이전트의 저장용량 및 동작 능력을 이용하여 대용량이 필요한 업무를 처리할 수 있도록 한다.
그리드 시스템에서 실행되는 프로그램은 대부분이 최첨단 기초과학 분야의 것들이기 때문에 대용량의 데이터를 주로 취급하게 된다. 이로 인해 많은 에이전트를 통해 할당된 작업들의 수행의 결과들이 하나의 서버에 전송되는 경우에 네트워크 트래픽과 서버 시스템에 많은 부하를 줄 수 있다.
따라서 본 발명이 이루고자 하는 기술적 과제는 대용량 데이터를 저장해야 하는 그리드 시스템의 메인 서버 이외의 서브 서버를 연결하고, 서브 서버의 데이터 저장 능력에 따라 데이터 저장 여부를 제어함으로써 네트워크 트래픽과 서비스 시스템의 부하를 줄일 수 있는 분산 서버 기반의 그리드 시스템 및 동작 방법을 제공하는데 있다.
상기한 목적을 달성하기 위한 본 발명의 형태에 따르면, 웹 사이트에서 제공하는 에이전트 프로그램을 다운로드 하여 설치한 후, 작업 수행 요청에 따라 유휴 상태의 컴퓨터 처리 기능을 제공하여 할당된 작업을 수행하고, 수행결과에 따른 결과 데이터를 제공하는 자원 제공 컴퓨터, 데이터 저장이 가능한 저장용량을 이용하여 상기 자원 제공 컴퓨터에서 전달하는 작업의 결과 데이터를 저장하고, 데이터 저장이 가능한 저장 용량에 대해 주기적으로 체크하여 부하 정보로서 출력하는 복수개의 서브 서버 및 상기 웹 사이트를 제공하고, 자원제공 컴퓨터 및 서브 서버들과 인터넷망을 통해 연결되고, 상기 자원제공 컴퓨터의 유휴 처리능력을 이용하여 컴퓨터 처리 작업을 분산 처리하기 위한 작업을 할당하며, 상기 복수개의 서브 서버에서 제공하는 부하정보를 이용하여 서브 서버의 상태를 체크하고, 체크된 서브 서버의 상태에 따라 상기 자원 제공 컴퓨터의 결과 데이터 저장을 위한 서브 서버를 지정하는 메인 서버로 구성하되, 상기 자원 제공 컴퓨터의 에이전트 프로그램은, 상기 서브 서버에 로그인 절차를 수행하여 상기 결과 데이터 저장을 위한 인증을 수행하는 인증 모듈; 상기 메인 서버에서 전송받은 작업 데이터를 실행하고, 실행 결과에 따른 결과 데이터를 상기 메인 서버로부터 지정받은 서브 서버에 전송하는 응용 수행 모듈; 및 상기 자원 제공 컴퓨터의 자원 상태를 모니터링 하여 상기 메인 서버로 보고하는 자원 모니터링 모듈을 포함하고, 상기 서브 서버는 각각 하드 디스크의 가용 공간 정보를 주기적으로 체크하여 상기 부하정보로서 상기 메인 서버에 보고하는 서버 부하 정보 전달부 및 상기 자원 제공 컴퓨터로부터 전송되는 상기 결과 데이터를 저장하는 파일 관리부를 포함하며, 상기 메인 서버는, 상기 서브 서버와 자원 제공 컴퓨터 및 응용 작업에 관련한 정보를 저장하는 데이터베이스, 상기 서브 서버로부터 보고되는 상기 부하 정보를 이용하여 상기 서브 서버들의 부하를 확인하고, 부하 분산을 위해 상기 자원 제공 컴퓨터에 균등하게 상기 서브 서버를 지정하는 부하 분산부, 상기 인터넷망의 상기 웹 사이트를 통해 에이전트 프로그램을 제공하고, 상기 자원 제공 컴퓨터를 등록하고 결과를 다운 로드하는 기능을 수행하는 웹 인터페이스부, 상기 자원 제공 컴퓨터의 요청에 따라 상기 데이터베이스에 저장된 작업 데이터가 있는지를 검색하여 작업 데이터를 상기 자원 제공 컴퓨터에 할당하고, 작업을 실행중인 자원 제공 컴퓨터의 상태를 관리하는 자원 관리 및 할당부, 자원 관리 및 할당부의 응용 프로그램과 데이터를 관리하고 자원제공 컴퓨터상에서 수행된 결과를 전달받아 그 결과를 저장하는 데이터 관리부, 및 상기 자원 제공 컴퓨터에게 인증서의 발급 및 조회 서비스를 제공하여 올바른 자원 제공 컴퓨터로부터 전송된 작업 데이터 및 작업 결과 그리고 메시지를 판별하는 인증 서버를 포함하는 것을 특징으로 하는 분산 서버 기반의 그리드 시스템이 제공된다.
또한, 상기 메인 서버는, 상기 자원 제공 컴퓨터에 지정한 서브 서버로부터 제공되는 상기 부하정보를 이용하여 부하가 과중된다고 판단되는 경우, 다른 서브 서버를 상기 자원 제공 컴퓨터에 지정하는 것을 특징으로 한다.
그리고, 상기 자원 제공 컴퓨터는 상기 작업이 완료되면 작업 완료 결과에 대해 상기 메인 서버에 알리는 것을 특징으로 한다.
상기한 목적을 달성하기 위한 본 발명의 다른 형태에 따르면, 메인 서버에서 복수개의 서브 서버들로부터 주기적으로 보고되고 있는 부하 정보들을 입력받고 결과 데이터 저장이 가능한 서브 서버들을 구분하는 단계; 상기 메인 서버에서 제공하는 웹 사이트를 통해 회원 가입을 수행한 자원 제공 컴퓨터에 결과 데이터 저장을 위한 서브 서버를 상기 결과 데이터 저장이 가능한 서브 서버들 중에서 선택하여 지정하는 단계; 상기 자원 제공 컴퓨터로부터의 작업 요청에 따라, 미리 저장된미수행 작업 데이터를 검색하여 상기 자원 제공 컴퓨터에 할당하는 단계; 상기 자원 제공 컴퓨터로부터의 작업 완료 유무에 대한 결과 보고를 수신하는 단계; 상기 자원 제공 컴퓨터는 상기 메인 서버로의 결과 보고와 함께, 작업을 수행한 결과 데이터를 상기 자원 제공 컴퓨터로부터 지정받은 상기 서브 서버로 전송하여 저장하는 단계; 및 상기 자원 제공 컴퓨터가 작업을 수행하는 동안, 상기 메인 서버에서 상기 자원 제공 컴퓨터에 지정한 서브 서버가 결과 데이터 저장을 하기에 적합하지 않은 상태로 변경되는 경우, 다른 서브 서버를 상기 자원 제공 컴퓨터에 지정하는 단계를 포함하는 분산 서버 기반의 그리드 시스템의 동작 방법이 제공된다.
그리고, 상기 메인 서버와 상기 자원 제공 컴퓨터 및 상기 자원 제공 컴퓨터와 상기 서브 서버 간에 접속을 위한 인증 절차를 수행하는 것을 특징으로 한다.
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
이상에서 설명한 바와 같이, 본 발명에 따른 분산 서버 기반의 그리드 시스템 및 동작 방법은, 대용량 데이터를 저장해야 하는 그리드 시스템의 메인 서버 이외의 서브 서버를 연결하고, 서브 서버의 데이터 저장 능력에 따라 데이터 저장 여부를 제어함으로써 서브 서버의 성능과 부하를 고려하여 데이터를 저장하도록 함으로써 서버의 병목을 줄이고 많은 에이전트들에 안정적인 서비스를 제공할 수 있다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시 예를 설명하기로 한다. 그러나 본 발명은 이하에서 개시되는 실시 예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예는 본 발명의 개시가 완전하도록 하며 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이다.
도 1은 본 발명의 실시 예에 따른 분산 서버 기반의 그리드 시스템의 블록도 이다.
도 1을 참조하면, 본 발명의 실시 예에 따른 분산 서버 기반의 그리드 시스템은 인터넷망을 통해서 서비스 제공을 위한 메인 서버(100)와, 인터넷망 또는 메인 서버(100)에 직접 연결되고 상기 메인 서버(100)로 주기적인 상태 정보를 제공하고 메인 서버(100)의 제어에 따라 에이전트에서 입력되는 데이터를 저장하는 둘 이상의 서브 서버(200)들 및 상기 인터넷망과 연결되고, 메인 서버(100)가 제공하는 서비스에 가입하고 메인 서버(100)로부터 에이전트 프로그램을 다운로드하여 설치하여 유휴자원을 제공하는 자원 제공 PC(300)들을 포함한다.
메인 서버(100)는 자원 제공 PC(300)에 설치하기 위한 에이전트 프로그램을 제공하고, 자원제공 PC(300)의 요청에 따라 작업 데이터를 할당하고 실행중인 자원제공 PC(300)들의 상태를 관리한다.
또한 메인 서버(100)는 서브 서버(200)들에서 주기적으로 전달하는 하드디스크 가용 공간 정보를 분석하여 서브 서버(200)들의 자원 상태를 파악하여 실시간으로 부하 균등 정책을 통해 서브 서버(200)들의 부하가 균등하게 되도록 제어한다.
서브 서버(200)는 자원 제공 PC(300)가 작업을 완료한 결과 데이터를 저장하는 곳으로, 서브 서버(200)는 자원 모니터링을 통해서 하드 디스크의 용량을 포함한 자원 정보를 모니터링하고 이를 주기적으로 메인 서버(100)로 알린다.
자원 제공 PC(300)들은 메인 서버(100)가 인터넷망을 통해 제공하는 웹 사이트에 접속하여 회원 가입을 하여 등록하고, 메인 서버(100)가 제공하는 에이전트 프로그램을 설치한다.
그리고 유휴 자원을 이용하여 메인 서버(100)에서 할당하는 작업을 수행하고, 그에 따른 결과 데이터를 메인 서버(100)에서 지정하는 서브 서버(200)로 전송한다.
도 2는 도 1의 기능 블록들을 상세히 나타낸 블록도이다.
도 2를 참조하면, 메인 서버(100)는 데이터베이스(110), 부하 분산부(120), 웹 인터페이스부(130), 자원 관리 및 할당부(140), 데이터 관리부(150) 및 인증서버(160)를 포함한다.
그리고 서브 서버(200)는 서버 부하 정보 전달부(210) 및 파일 관리부(220)를 포함하고, 자원 제공 PC(300)는 인증 모듈(310), 응용 수행 모듈(320) 및 자원 모니터링 모듈(330)을 포함한다.
메인 서버(100)의 데이터베이스(110)는 서브 서버(200) 및 자원 제공 PC(300), 응용 작업에 관련한 제반 정보를 저장하고, 서버를 구성하는 각 요소들과 연동하여 정보를 관리한다.
부하 분산부(120)는 실시간으로 변화되는 서브 서버(200)들의 부하 분산을 위해서 부하 균등 정책을 수행한다. 부하 균등 정책은 서브 서버(200)에서 제공하는 하드 디스크 용량에 따라서 균등하게 모든 서브 서버(200)에 부하가 걸릴 수 있도록 자원 제공 PC(300)에서 제공하는 결과 데이터가 저장될 수 있도록 제어한다.
웹 인터페이스부(130)는 웹 기반의 그리드 시스템 서비스의 관리와 운영을 위한 인터페이스를 제공하는 포탈로서 응용 프로그램 및 데이터를 등록하고 결과를 다운로드 하는 기능을 수행한다.
그리고 자원 관리 할당부(140)는 자원 제공 PC(300)들이 요청에 따라서 해당 응용 프로그램과 작업 데이터를 할당하고, 실행중인 자원 제공 PC(300)들의 상태를 관리한다.
또한 데이터 관리부(150)는 응용 프로그램과 저장하고 관리하며 또한 자원 제공 PC(300)상에서 수행된 결과를 저장한다.
인증 서버(160)는 자원 제공 PC(300)에게 인증서 발급 또는 조회 서비스를 제공하여 올바른 자원제공 PC(300)로부터 전송된 작업 데이터 및 작업 결과 그리고 메시지를 판별하여 외부로부터의 공격을 방어할 수 있게 한다.
서브 서버(200)의 서버 부하 정보 전달부(210)는 자신의 하드 디스크의 가용 공간을 주기적으로 체크하여 메인 서버(100)로 보고하고, 파일 관리부(220)는 자원 제공 PC(300) 상에 설치된 에이전트 프로그램으로부터의 제어로 실행된 응용 프로그램들의 결과가 저장되는 저장수단으로 주로 대용량 정보를 관리하는 관리 모듈이다.
자원 제공 PC(300)의 인증 모듈(310)은 서브 서버(200)에 로그인을 하는 절차를 수행한다. 즉 메인 서버(100)로부터 지정받은 서브 서버(200)에 결과 데이터를 저장하기 위하여 서브 서버(200)와의 인증을 수행한다. 응용 수행 모듈(320)은 메인 서버(100)에서 전송 받은 작업 데이터를 실행하여 그 결과를 메인 서버(100)에서 지정한 서브 서버(200)로 전송한다.
자원 모니터링 모듈(330)은 자원 제공 PC(300)에 설치된 에이전트 프로그램 에서 자원의 상태를 모니터링 하여 메인 서버(100)에 보고 한다.
상기한 각각의 기능 블록을 가지는 그리드 시스템은 라운드 로빈(Round Robin) 기법을 이용하여 동작한다. 즉, 메인 서버(100)를 빈(R 서브 서버(200)들의 부하 정보를 이용하여 자원 제공 PC(300)에서 제공하는 작업 결과 데이터를 균등하게 분산하여 저장하도록 한다.
도 3은 본 발명의 실시 예에 따른 분산 서버 기반의 그리드 시스템의 동작을 설명하기 위한 동작 순서도이다.
도 3을 참조하면, 서브 서버(200)들은 주기적으로 메인 서버(100)로 부하정보를 전송한다(S310). 부하정보는 앞서 언급한 바와 같이 서브 서버(200)들이 각자의 하드 디스크의 사용 가능한 가용 용량 정보를 체크한 정보이다.
부하정보는 메인 서버(100)의 부하 분산부(150)로 전달된다.
또한, 자원 제공 PC(200)는 메인 서버(100)의 웹 인터페이스부(130)에서 제공하는 웹 페이지를 통해서 회원가입을 하고(S321), 자원제공 PC(200)는 회원가입이 완료되면 웹 인터페이스부(130)가 제공하는 에이전트 프로그램을 다운로드하여 설치한다(S323).
자원 제공 PC(300)에 설치된 에이전트 프로그램은 자원 제공 PC(200)에 부하를 체크하여 메인 서버(100)로부터의 작업을 실행할 수 있다고 판단되면, 메인 서버(100)의 인증 서버(160)로 인증을 요청하여(S331), 등록한다(S333).
인증은 인증서버(160)에서 수행된다.
메인 서버(100)는 등록된 에이전트로 결과 데이터를 저장할 서브 서버(200) 를 지정해준다(S335).
이때 서브 서버는 부하 분산부(120)에서 서브 서버(200)들에서 제공하는 부하 정보를 이용해서 균등하게 부하를 나눌 수 있도록 서브 서버(200)를 지정한다.
그리고 에이전트는 자원관리 및 할당부(140)로 작업 요청을 한다(S337). 자원 관리 및 할당부(140)는 데이터베이스(110)에 수행해야할 작업이 있는지 검색하고(S339), 작업이 있다면, 데이터 관리부(150)로 작업을 전송할 것을 지시한다(S341).
데이터 관리부(150)는 자원 관리 할당부(140)의 지시에 따라서 작업 데이터를 에이전트로 전송한다(S343).
에이전트는 데이터 관리부(150)에서 전달받은 작업 데이터를 이용하여 작업을 수행한다(S345). 이때 수행하는 작업이란 메인 서버(100)에 의뢰된 대용량 데이터를 이용한 분석이나 검색 등과 같은 작업을 의미한다.
에이전트는 작업이 완료되면 그 결과를 자원 관리 및 할당부(140)로 제공하고(S347), 자원 관리 및 할당부(140)는 결과에 대한 인증을 한다(S349).
에이전트가 메인 서버(100)의 자원 관리 및 할당부(140)로 전송하는 결과는, 작업이 성공적으로 끝났는지 또는 작업이 중단 되었는지 등을 메인 서버(100)에 알리기 위한 정보 등을 포함한다.
또한 자원 관리 및 할당부(140)는 에이전트에서 제출한 결과에 따라서 해당 작업이 끝났다거나, 중단되었다는 등의 정보를 데이터베이스(110)에 저장한다(S351).
만약 해당 작업이 중단되어 정상적으로 완료되지 못했다고 데이터베이스(110)에 저장된다면, 이후에 다른 에이전트로부터 수신되는 작업 요청에 대해서 동일한 작업을 할당하여 완료하도록 할 수 있다.
또한 에이전트는 메인 서버(100)에 등록할 때 지정 받았던 서브 서버(200)로 결과 데이터를 저장한다(S370). 결과 데이터는 실제 작업을 수행한 결과를 나타내는 데이터이다.
앞서 언급한 바와 같이 에이전트는 메인 서버(100)로부터 서브 서버(200)를 지정받는다. 그리고 메인 서버(100)는 주기적으로 서브 서버(200)들로부터 입력되는 하드 디스크 가용 정보를 이용하여 에이전트에 지정한 서브 서버(200)의 하드 디스크 가용 정보가 결과 데이터를 저장할 수 없을 만큼 적거나, 다른 작업으로 인한 부하가 커진 상태라면 메인 서버(100)는 다른 서브 서버(200)를 에이전트에 지정해 준다. 물론 메인 서버(100)에 결과 데이터가 저장될 수도 있다.
이에 따라 그리드 시스템에서 대용량의 데이터를 저장할 때, 메인 서버(100) 뿐만 아니라 여러 개의 서브 서버(200)에 데이터를 저장함으로써 저장 용량을 확보할 수 있다. 또한 서브 서버(200)의 부하를 계속적으로 체크하여 특정 서브 서버(200)에 부하가 과중되는 것을 방지하고, 부하가 과중한 서브 서버(200)로 데이터가 저장되지 않도록 한다.
상기에서 설명한 본 발명의 기술적 사상은 바람직한 실시 예에서 구체적으로 기술되었으나, 상기한 실시 예는 그 설명을 위한 것이며 그 제한을 위한 것이 아님을 주의하여야 한다. 또한, 본 발명은 본 발명의 기술분야의 통상의 전문가라면 본 발명의 기술적 사상의 범위 내에서 다양한 실시예가 가능함을 이해할 수 있을 것이다.
도 1은 본 발명의 실시 예에 따른 분산 서버 기반의 그리드 시스템의 블록도이다.
도 2는 도 1의 기능 블록들을 상세히 나타낸 블록도이다.
도 3은 본 발명의 실시 예에 따른 분선 서버 기반의 그리드 시스템의 동작을 설명하기 위한 동작 순서도이다.
*도면의 주요 부분의 간단한 설명*
100 : 메인 서버 110 : 데이터베이스
120 : 부하 분산부 130 : 웹 인터페이스부
140 : 자원관리 및 할당부 150 : 데이터 관리부
160 : 인증서버 200 : 서브 서버
210 : 서버 부하정보 전달부 220 : 파일 관리부
300 : 자원제공 PC 310 : 인증 모듈
320 : 응용수행 모듈 330 : 자원 모니터링 모듈

Claims (10)

  1. 웹 사이트에서 제공하는 에이전트 프로그램을 다운로드 하여 설치한 후, 작업 수행 요청에 따라 유휴 상태의 컴퓨터 처리 기능을 제공하여 할당된 작업을 수행하고, 수행결과에 따른 결과 데이터를 제공하는 자원 제공 컴퓨터, 데이터 저장이 가능한 저장용량을 이용하여 상기 자원 제공 컴퓨터에서 전달하는 작업의 결과 데이터를 저장하고, 데이터 저장이 가능한 저장 용량에 대해 주기적으로 체크하여 부하 정보로서 출력하는 복수개의 서브 서버 및 상기 웹 사이트를 제공하고, 자원제공 컴퓨터 및 서브 서버들과 인터넷망을 통해 연결되고, 상기 자원제공 컴퓨터의 유휴 처리능력을 이용하여 컴퓨터 처리 작업을 분산 처리하기 위한 작업을 할당하며, 상기 복수개의 서브 서버에서 제공하는 부하정보를 이용하여 서브 서버의 상태를 체크하고, 체크된 서브 서버의 상태에 따라 상기 자원 제공 컴퓨터의 결과 데이터 저장을 위한 서브 서버를 지정하는 메인 서버로 구성하되,
    상기 자원 제공 컴퓨터의 에이전트 프로그램은, 상기 서브 서버에 로그인 절차를 수행하여 상기 결과 데이터 저장을 위한 인증을 수행하는 인증 모듈; 상기 메인 서버에서 전송받은 작업 데이터를 실행하고, 실행 결과에 따른 결과 데이터를 상기 메인 서버로부터 지정받은 서브 서버에 전송하는 응용 수행 모듈; 및 상기 자원 제공 컴퓨터의 자원 상태를 모니터링 하여 상기 메인 서버로 보고하는 자원 모니터링 모듈을 포함하고,
    상기 서브 서버는 각각 하드 디스크의 가용 공간 정보를 주기적으로 체크하여 상기 부하정보로서 상기 메인 서버에 보고하는 서버 부하 정보 전달부 및 상기 자원 제공 컴퓨터로부터 전송되는 상기 결과 데이터를 저장하는 파일 관리부를 포함하며,
    상기 메인 서버는, 상기 서브 서버와 자원 제공 컴퓨터 및 응용 작업에 관련한 정보를 저장하는 데이터베이스, 상기 서브 서버로부터 보고되는 상기 부하 정보를 이용하여 상기 서브 서버들의 부하를 확인하고, 부하 분산을 위해 상기 자원 제공 컴퓨터에 균등하게 상기 서브 서버를 지정하는 부하 분산부, 상기 인터넷망의 상기 웹 사이트를 통해 에이전트 프로그램을 제공하고, 상기 자원 제공 컴퓨터를 등록하고 결과를 다운 로드하는 기능을 수행하는 웹 인터페이스부, 상기 자원 제공 컴퓨터의 요청에 따라 상기 데이터베이스에 저장된 작업 데이터가 있는지를 검색하여 작업 데이터를 상기 자원 제공 컴퓨터에 할당하고, 작업을 실행중인 자원 제공 컴퓨터의 상태를 관리하는 자원 관리 및 할당부, 자원 관리 및 할당부의 응용 프로그램과 데이터를 관리하고 자원제공 컴퓨터상에서 수행된 결과를 전달받아 그 결과를 저장하는 데이터 관리부, 및 상기 자원 제공 컴퓨터에게 인증서의 발급 및 조회 서비스를 제공하여 올바른 자원 제공 컴퓨터로부터 전송된 작업 데이터 및 작업 결과 그리고 메시지를 판별하는 인증 서버를 포함하는 것을 특징으로 하는 분산 서버 기반의 그리드 시스템.
  2. 제 1항에 있어서,
    상기 메인 서버는,
    상기 자원 제공 컴퓨터에 지정한 서브 서버로부터 제공되는 상기 부하정보를 이용하여 부하가 과중된다고 판단되는 경우, 다른 서브 서버를 상기 자원 제공 컴퓨터에 지정하는 것을 특징으로 하는 분산 서버 기반의 그리드 시스템.
  3. 제 1항에 있어서,
    상기 자원 제공 컴퓨터는 상기 작업이 완료되면 작업 완료 결과에 대해 상기 메인 서버에 알리는 것을 특징으로 하는 분산 서버 기반의 그리드 시스템.
  4. 메인 서버에서 복수개의 서브 서버들로부터 주기적으로 보고되고 있는 부하 정보들을 입력받고 결과 데이터 저장이 가능한 서브 서버들을 구분하는 단계;
    상기 메인 서버에서 제공하는 웹 사이트를 통해 회원 가입을 수행한 자원 제공 컴퓨터에 결과 데이터 저장을 위한 서브 서버를 상기 결과 데이터 저장이 가능한 서브 서버들 중에서 선택하여 지정하는 단계;
    상기 자원 제공 컴퓨터로부터의 작업 요청에 따라, 미리 저장된 미수행 작업 데이터를 검색하여 상기 자원 제공 컴퓨터에 할당하는 단계;
    상기 자원 제공 컴퓨터로부터의 작업 완료 유무에 대한 결과 보고를 수신하는 단계;
    상기 자원 제공 컴퓨터는 상기 메인 서버로의 결과 보고와 함께, 작업을 수행한 결과 데이터를 상기 자원 제공 컴퓨터로부터 지정받은 상기 서브 서버로 전송하여 저장하는 단계; 및
    상기 자원 제공 컴퓨터가 작업을 수행하는 동안, 상기 메인 서버에서 상기 자원 제공 컴퓨터에 지정한 서브 서버가 결과 데이터 저장을 하기에 적합하지 않은 상태로 변경되는 경우, 다른 서브 서버를 상기 자원 제공 컴퓨터에 지정하는 단계를 포함하는 분산 서버 기반의 그리드 시스템의 동작 방법.
  5. 제 4항에 있어서,
    상기 메인 서버와 상기 자원 제공 컴퓨터 및 상기 자원 제공 컴퓨터와 상기 서브 서버 간에 접속을 위한 인증 절차를 수행하는 것을 특징으로 하는 분산 서버 기반의 그리드 시스템의 동작 방법.
  6. 삭제
  7. 삭제
  8. 삭제
  9. 삭제
  10. 삭제
KR1020090084143A 2009-09-07 2009-09-07 분산 서버 기반의 그리드 시스템 및 동작 방법 KR101090890B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090084143A KR101090890B1 (ko) 2009-09-07 2009-09-07 분산 서버 기반의 그리드 시스템 및 동작 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090084143A KR101090890B1 (ko) 2009-09-07 2009-09-07 분산 서버 기반의 그리드 시스템 및 동작 방법

Publications (2)

Publication Number Publication Date
KR20110026303A KR20110026303A (ko) 2011-03-15
KR101090890B1 true KR101090890B1 (ko) 2011-12-08

Family

ID=43933418

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090084143A KR101090890B1 (ko) 2009-09-07 2009-09-07 분산 서버 기반의 그리드 시스템 및 동작 방법

Country Status (1)

Country Link
KR (1) KR101090890B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101219816B1 (ko) 2011-05-18 2013-01-09 주식회사 케이티클라우드웨어 서비스 중단없이 안정적으로 회원 서비스 시스템의 데이터 이전이 가능한 클라우드 서버
KR102507481B1 (ko) * 2022-11-18 2023-03-08 이길식 동적 클러스터링 기반의 etl job 분산 처리 시스템 및 방법

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101144208B1 (ko) * 2010-06-28 2012-05-10 (주)유앤비테크 분산 서버 기반의 그리드 시스템 환경에서 전원관리 기능을 포함한 클라우드 컴퓨팅 시스템 및 그 동작 방법
KR101293748B1 (ko) * 2011-12-26 2013-08-06 주식회사 솔박스 부하에 따른 서버 제어 시스템 및 그 방법
KR101594555B1 (ko) * 2015-01-20 2016-02-16 네이버 주식회사 개인화된 데이터를 분산 처리하는 방법 및 클라우드 서버
KR102227204B1 (ko) * 2019-02-12 2021-03-11 한전케이디엔주식회사 분산처리를 적용한 실시간 작업흐름관리 시스템

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030046270A1 (en) 2001-08-31 2003-03-06 Arkivio, Inc. Techniques for storing data based upon storage policies
KR100874361B1 (ko) * 2008-02-22 2008-12-16 (주)유앤비테크 그리드 기반의 헬스 케어 포털 서비스 시스템 및 그 서비스제공 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030046270A1 (en) 2001-08-31 2003-03-06 Arkivio, Inc. Techniques for storing data based upon storage policies
KR100874361B1 (ko) * 2008-02-22 2008-12-16 (주)유앤비테크 그리드 기반의 헬스 케어 포털 서비스 시스템 및 그 서비스제공 방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101219816B1 (ko) 2011-05-18 2013-01-09 주식회사 케이티클라우드웨어 서비스 중단없이 안정적으로 회원 서비스 시스템의 데이터 이전이 가능한 클라우드 서버
KR102507481B1 (ko) * 2022-11-18 2023-03-08 이길식 동적 클러스터링 기반의 etl job 분산 처리 시스템 및 방법
WO2024106644A1 (ko) * 2022-11-18 2024-05-23 주식회사 아리시스템블루 동적 클러스터링 기반의 etl job 분산 처리 시스템 및 방법

Also Published As

Publication number Publication date
KR20110026303A (ko) 2011-03-15

Similar Documents

Publication Publication Date Title
US9270745B2 (en) Method and system for client-side scaling of web server farm architectures in a cloud data center
US7793308B2 (en) Setting operation based resource utilization thresholds for resource use by a process
US7774457B1 (en) Resource evaluation for a batch job and an interactive session concurrently executed in a grid computing environment
US7406691B2 (en) Minimizing complex decisions to allocate additional resources to a job submitted to a grid environment
US7996525B2 (en) Systems and methods for dynamically provisioning cloud computing resources
Sfiligoi glideinWMS—a generic pilot-based workload management system
KR101090890B1 (ko) 분산 서버 기반의 그리드 시스템 및 동작 방법
US7761557B2 (en) Facilitating overall grid environment management by monitoring and distributing grid activity
JP3896111B2 (ja) リソース割り当てシステム、方法及びプログラム
US8903968B2 (en) Distributed computing environment
US20040064548A1 (en) Autonomic provisioning of netowrk-accessible service behaviors within a federted grid infrastructure
US20070250365A1 (en) Grid computing systems and methods thereof
US7634560B2 (en) Method for measuring server performance, system for measuring server performance and computer programs therefor
KR20170029263A (ko) 부하 분산 장치 및 방법
KR20010088742A (ko) 분산처리 및 피어 대 피어 통신을 이용한 네트워크 상의정보전송 병렬화 방법
JP2005174201A6 (ja) リソース割り当てシステム、方法及びプログラム
KR101033813B1 (ko) 클라우드 컴퓨팅 네트워크 시스템 및 그것의 파일 분산 방법
EP1816565B1 (en) Computer system and information processing method
KR100618159B1 (ko) 정책 쿼럼 기반의 그리드 자원 관리 시스템 및 그 방법
JP2002259354A (ja) ネットワークシステム及び負荷分散方法
KR102367262B1 (ko) 미들웨어를 이용한 모니터링 방법, 장치 및 시스템
US7903571B1 (en) System and method for improving multi-node processing
JP4364150B2 (ja) リソース共用装置、方法、及びプログラム
Shishira et al. A comprehensive survey on federated cloud computing and its future research directions
Taylor et al. Cloud management systems and virtual desktop infrastructure load balancing algorithms-a survey

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

Year of fee payment: 4

R401 Registration of restoration
FPAY Annual fee payment

Payment date: 20160411

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180206

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee