KR20090043732A - 의사결정트리를 이용한 그리드 자원 선택장치 및 선택방법 - Google Patents

의사결정트리를 이용한 그리드 자원 선택장치 및 선택방법 Download PDF

Info

Publication number
KR20090043732A
KR20090043732A KR1020070109450A KR20070109450A KR20090043732A KR 20090043732 A KR20090043732 A KR 20090043732A KR 1020070109450 A KR1020070109450 A KR 1020070109450A KR 20070109450 A KR20070109450 A KR 20070109450A KR 20090043732 A KR20090043732 A KR 20090043732A
Authority
KR
South Korea
Prior art keywords
grid
resource
data
user
decision tree
Prior art date
Application number
KR1020070109450A
Other languages
English (en)
Other versions
KR100944234B1 (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 KR1020070109450A priority Critical patent/KR100944234B1/ko
Publication of KR20090043732A publication Critical patent/KR20090043732A/ko
Application granted granted Critical
Publication of KR100944234B1 publication Critical patent/KR100944234B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B10/00ICT specially adapted for evolutionary bioinformatics, e.g. phylogenetic tree construction or analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1479Generic software techniques for error detection or fault masking
    • G06F11/1482Generic software techniques for error detection or fault masking by means of middleware or OS functionality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • G06F16/316Indexing structures
    • G06F16/322Trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • G06F3/0233Character input methods
    • G06F3/0236Character input methods using selection techniques to select from displayed items
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physiology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Biotechnology (AREA)
  • Evolutionary Biology (AREA)
  • Animal Behavior & Ethology (AREA)
  • Medical Informatics (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 의사결정트리를 이용한 그리드 자원 선택장치 및 선택방법에 관한 것으로서, 그리드 컴퓨팅 환경에서 데이터의 특성 및 사용자의 요구사항으로 분류된 의사결정트리를 생성 및 갱신함으로써, 그리드 자원의 검색 및 선택시간을 감소시켜 최적화된 시스템을 제공할 수 있는 의사결정트리를 이용한 그리드 자원 선택장치 및 선택방법을 제공하기 위한 것이다.
그 기술적 구성은 그리드 기반 네트워크에서 그리드 자원을 선택하는 장치에 있어서, 사용자의 데이터 및 요구사항이 입력되고, 이를 처리하기 위한 그리드 자원을 요청하며, 이를 이용하여 처리된 데이터를 출력하는 그리드 사용자; 상기 그리드 사용자로부터 전달된 데이터 및 요구사항에 기반하여 데이터를 분석하여 의사결정트리를 구축하고, 선택 가능한 그리드 자원의 목록을 제공하는 사용자 에이전트; 상기 사용자 에이전트로부터 전달된 데이터를 상기 의사결정트리에 기반하여 분배하고, 처리된 데이터를 취합하여 사용자에게 출력하는 그리드 미들웨어; 상기 그리드 자원을 다수개 포함하고, 상기 그리드 미들웨어에서 분배된 데이터를 처리하는 그리드 자원부; 를 포함한다.
Figure P1020070109450
그리드 컴퓨팅, 그리드 자원 선택, 의사결정트리

Description

의사결정트리를 이용한 그리드 자원 선택장치 및 선택방법{Device for Selecting Grid Resource Using Decision Tree and Method thereof}
본 발명은 그리드컴퓨팅 환경에서 미들웨어의 자원선택기능에 관한 것으로, 동적인 그리드 컴퓨팅 환경에서 다양한 사용자의 요구 및 데이터의 특성에 유연하게 적용 가능한 최적화된 그리드 시스템을 제공할 수 있도록 자원을 효율적으로 선택하는 의사결정트리를 이용한 그리드 자원 선택장치 및 선택방법에 관한 것이다.
일반적으로, 그리드 컴퓨팅(Grid Computing)은 네트워크로 다수의 컴퓨터를 연결하여 데이터 처리 능력을 극대화시키는 방법으로써, 지리적으로 분산된 컴퓨터, 저장 장치 등의 자원을 네트워크로 연결하여 상호 공유하고, 이를 이용할 수 있도록 이루어진다.
그리고 상기 그리드 컴퓨팅은 일종의 가상 컴퓨터로써, 일정 시간 동안 유휴 상태의 컴퓨터 자원을 검색 및 파악하여 각각의 컴퓨터가 보유한 자원을 공유하기 때문에, 데이터를 처리함에 있어 작업 속도를 증가시킬 수 있다.
더불어, 이러한 자원들은 운영체제(OS: Operating System), 시스템 구조, 네트워크 등이 이기종 시스템이며, 각 자원의 성능뿐 아니라, 자원 소유자의 운영 및 관리 정책에 따라 자원 사용료가 각기 상이하다.
그리고 그리드 사용자로부터 요청된 데이터를 처리할 경우, 할당된 자원의 성능 및 특성에 따라 작업에 소요되는 처리속도, 시간, 비용 등이 각기 상이하기 때문에, 효율적인 자원 선택은 그리드 사용자의 만족도 등을 포함한 그리드 서비스 품질(QoS: Quality of Service) 및 전체 그리드 성능에 영향을 준다.
이러한 그리드 자원 선택 시스템 중 Condor-G 는 각각의 그리드 자원이 자신의 상태를 광고한 내용과, 사용자가 요청한 자원을 평가하여 서로 일치하는 것을 할당하는 클래스광고 중개인(ClassAd matchmaking)을 이용하고, Nimrod-G는 사용자의 지불 가능한 자원의 사용료와 마감시간과 같이 두 가지로 자원을 선택한다.
더불어, 사용자의 서비스 품질 및 응용특성에 근거한 동적자원 할당방법은 그리드 컴퓨팅 시스템에서 모든 그리드 사용자의 자원사용 요청시마다 비선형 모델을 선형모델로 변환하여 목적함수를 도출하고, 최적해를 산출하는 과정을 반복한다.
그러나, 상기 Condor-G는 개별적인 자원 관리의 구조적 한계와 자원을 선택할 때마다 모든 자원의 광고 내용과, 사용자의 요구사항을 비교해야하는 단점이 있고, Nimrod-G는 두 가지의 요소로 자원을 선택하는 것은 그리드 사용자의 다양한 요구사항에 유연하게 적용될 수 없어 최적화된 시스템을 구현함에 있어 한계가 있으며, 동적자원 할당방법은 자원을 선택할 때, 복잡한 계산과정이 요구되어 사용자가 원하는 시간 내에 자원선택결과를 볼 수 없으며, 사용자의 결정에 무관하게 자동으로 자원선택 및 작업할당이 이루어지고, 다수의 그리드 사용자가 동시에 접속이 가능한 그리드 고유의 특성상, 해당계산과정이 사용자의 예산 및 제한시간을 만족할 때까지 반복해서 계산하게 되므로 브로커 엔진의 병목현상이 발생하는 등의 문제점이 있었다.
본 발명은 상기한 문제점을 해결하기 위하여 안출한 것으로, 그리드 컴퓨팅 환경에서 자원사용의 요청이 발생할 때마다, 의사결정트리를 이용하여 데이터의 특성 및 요구조건을 비교하여 적합한 자원을 선택함으로써, 자원검색에 요구되는 시간을 단축시켜 최적의 시스템을 구현할 수 있는 의사결정트리를 이용한 그리드 자원 선택장치 및 선택방법을 제공하는 것을 목적으로 한다.
본 발명의 다른 목적은 자원요청목록을 데이터 셋으로 저장하여 의사결정트리를 구축하고, 데이터 셋이 기준을 초과하면 이를 재구축 및 갱신함으로써, 자원선택의 적합도 및 자원분류의 정확성을 지속적으로 보완할 수 있는 의사결정트리를 이용한 그리드 자원 선택장치 및 선택방법을 제공하는 것을 목적으로 한다.
본 발명의 다른 목적은 그리드 자원을 선택할 때, 사용자의 요구 및 데이터 특성에 적합한 자원목록을 추천하도록 디스플레이하며, 사용자로부터 자동 또는 수동 방식을 선택받음으로써, 사용자의 요구(Needs)에 대한 만족도를 높일 수 있는 의사결정트리를 이용한 그리드 자원 선택장치 및 선택방법을 제공하는 것을 목적으로 한다.
본 발명은 그리드 컴퓨팅 환경에서 효율적인 그리드 자원을 선택하기 위하여, 각 자원의 형태 및 특징에 따라 그리드 컴퓨팅 환경의 자원들을 그룹화한 후, 각 자원의 정보를 데이터 셋으로 저장하고, 이를 바탕으로 의사결정트리를 구축한다.
그리고, 사용자의 그리드 작업처리 요청이 발생하면, 사용자의 요청 및 데이터의 특성을 시스템에서 분석하고, 의사결정트리를 탐색하여 적합한 그리드 자원의 목록을 추천하며, 그리드 자원의 목록을 자동 또는 수동으로 사용자가 선택할 수 있도록 구성된다.
이를 위하여, 그리드 컴퓨팅 환경에서 작업을 처리하기 위한 자원선택에 있어서, 각각의 시간, 비용, 데이터 특성 등과 같은 다양한 변수가 기 설정되고, 사용자의 선택에 따라 자원목록의 자동 또는 수동 검색이 결정되며, 이에 따라 사용자의 요구 또는 데이터의 특성을 고려한 데이터 셋을 구성하고, 의사결정트리를 이 용함으로써 사용자의 선택 등을 반영하며, 주기적으로 사용자가 선택한 자원정보를 데이터베이스에 저장하고, 이를 기반으로 의사결정트리를 갱신하도록 재구축한다.
이상에서 설명한 바와 같이 상기와 같은 구성을 갖는 본 발명은 그리드 컴퓨팅 환경에서 시간, 비용, 데이터 특성 및 사용자의 요구 등을 반영함으로써, 사용자가 원하는 형태의 다양한 자원들을 빠르고 쉽게 검색할 수 있으며, 자원검색 및 선택에 소요되는 시간을 단축할 수 있고, 이를 주기적으로 재구축 및 갱신함으로써 자원 이용률 및 작업 처리율이 증가하며, 선택자원의 적합도 및 자원분류의 정확도를 지속적으로 향상시킬 수 있는 등의 효과를 거둘 수 있다.
상기한 바와 같은 목적을 달성하기 위하여 본 발명은 그리드 기반 네트워크에서 그리드 자원을 선택하는 장치에 있어서, 사용자의 데이터 및 요구사항이 입력되고, 이를 처리하기 위한 그리드 자원을 요청하며, 이를 이용하여 처리된 데이터를 출력하는 그리드 사용자; 상기 그리드 사용자로부터 전달된 데이터 및 요구사항에 기반하여 데이터를 분석하여 의사결정트리를 구축하고, 선택 가능한 그리드 자원의 목록을 제공하는 사용자 에이전트; 상기 사용자 에이전트로부터 전달된 데이터를 상기 의사결정트리에 기반하여 분배하고, 처리된 데이터를 취합하여 사용자에게 출력하는 그리드 미들웨어; 상기 그리드 자원을 다수개 포함하고, 상기 그리드 미들웨어에서 분배된 데이터를 처리하는 그리드 자원부; 를 포함한다.
더불어, 상기 사용자 에이전트는 상기 그리드 사용자로부터 자원사용 요청 메세지가 전달되면, 처리된 데이터를 출력할 때까지 통신이 가능하도록 구비되는 사용자 통신기; 상기 특성 추출기에서 추출된 데이터의 특성 및 사용자의 요구사항에 적합한 그리드 자원을 상기 의사결정트리를 이용하여 선택하도록 구비되는 자원 선택기; 상기 자원 선택기에서 선택된 그리드 자원 목록을 전달받되, 상기 의사결정트리에 속한 데이터가 일정 수를 초과할 경우 이를 재구축하는 의사결정트리 구축기; 를 포함하는 것을 특징으로 한다.
그리고, 상기 자원 선택기는 상기 그리드 사용자에서 출력된 자원사용 요청 메세지를 파싱(Parsing)하여 분석하는 데이터 분석부; 사용가능한 유휴 그리드 자원을 사용하기 위한 메세지를 전송하는 가용자원 요청부; 사용가능한 유휴 그리드 자원 목록을 수신받는 가용자원 수신부; 상기 가용자원 수신부에서 수신받은 그리드 자원 목록 중에서, 상기 의사결정트리를 이용하여 처리될 데이터에 적합한 그리드 자원을 사용자가 요청한 그리드 자원의 개수만큼 선택하는 자원 선택부; 를 포함하는 것을 특징으로 한다.
또한, 상기 자원 선택부는 사용자에 의해 자원이 선택되는 경우에는, 사용자가 선택한 그리드 자원은 고정시키고, 선택되지 않은 그리드 자원을 배제한 후 자원을 재선택하는 것을 특징으로 한다.
이때, 상기 의사결정트리 구축기는 상기 자원 선택부에서 선택된 그리드 자원을 데이터 셋으로 저장하는 데이터베이스인 선택자원 저장부; 상기 데이터 셋이 기 설정된 수를 초과하는 경우, 의사결정트리를 재구축하는 트리구축 결정부; 상기 트리구축 결정부에서 의사결정트리를 재구축하도록 하는 경우, 상기 데이터 셋을 기반으로 의사결정트리를 재구축하는 트리구축부; 를 포함하는 것을 특징으로 한다.
그리고, 상기 데이터 셋은 처리할 데이터의 크기를 나타내는 데이터 크기(DataSize); 처리할 데이터가 실시간으로 처리되야하는 정도를 나타내는 실시간(RealTime); 처리할 데이터가 상기 그리드 자원부의 각 그리드 자원으로 분할될 수 있는 정도를 나타내는 분산도(Distributed); 상기 그리드 자원부의 각 자원을 이용할 때, 사용자가 지불 가능한 사용료를 나타내는 비용(Cost); 처리할 데이터의 작업완료시간의 엄격성을 나타내는 시간(Deadline); 을 포함하는 것을 특징으로 한다.
또한, 상기 데이터 셋의 각 구성요소는 1 내지 9 까지로 표현되며, 5 를 기준으로 9에 근접할수록 높은 강도를 나타내며, 1에 근접할수록 낮은 강도를 나타내는 것을 특징으로 한다.
이때, 상기 의사결정트리는 상기 데이터 셋의 실시간, 데이터 크기, 분산도, 비용을 이용하여, 사용자가 설정한 상기 사용자 요구사항에 적합한 그리드 자원을 선택할 수 있도록 2 진 트리로 형성된 것을 특징으로 한다.
이하, 본 발명에 따른 실시 예를 첨부된 예시도면을 참고로 하여 상세하게 설명한다.
도 1은 본 발명에 따른 의사결정트리를 이용한 그리드 자원 선택장치를 개략적으로 도시한 블록구성도이고, 도 2는 도 1의 의사결정트리를 이용한 그리드 자원 선택장치를 상세히 도시한 블록구성도이다.
본 발명에 따른 의사결정트리를 이용한 그리드 자원 선택장치(1)는 그리드 네트워크에 존재하는 그리드 자원을 이용하기 위하여, 그리드 자원을 요청하는데, 입력된 데이터의 특성 및 사용자의 요구사항을 분석하여 의사결정트리를 구축하고, 사용자의 데이터 특성에 따라 적합한 자원을 선택하며, 그리드 자원의 정보를 등록 및 갱신하고, 스케줄링 기법을 통해 사용자의 데이터를 선택된 자원들로 분배하며, 완료된 결과를 취합하여 전송한다.
우선, 본 명세서에 기재된 그리드 자원은 그리드 네트워크 환경에서, 컴퓨팅 자원을 의미하는 것으로서, 프로세서, 메모리, 데이터, 저장매체, 입/출력 장치 등을 포함한 개체로 정의한다.
도면에서 도시한 바와 같이, 의사결정트리를 이용한 그리드 자원 선택장치(1)는 그리드 자원을 이용하여 처리할 데이터가 입·출력되는 그리드 사용자(10)와, 상기 그리드 사용자(10)로부터 입력된 데이터를 분석하여 의사결정트리를 구축하며, 상기 데이터를 처리할 그리드 자원 목록을 제공 및 선택하는 사용자 에이전트(Agent, 20)와, 상기 사용자 에이전트(20)에서 선택된 그리드 자원으로 데이터를 분배하고, 처리된 데이터를 상기 그리드 사용자(10)에게 전달하는 그리드 미들웨어(Middleware, 30)와, 상기 데이터를 처리하는 그리드 자원을 포함하는 그리드 자 원부(40)를 포함한다.
상기 그리드 사용자(10)는 처리할 데이터 및 사용자의 요청사항 등이 포함된 사용자 설정이 입력되고, 이를 처리할 그리드 자원의 사용 여부를 결정하며, 데이터 처리가 완료된 결과를 수신하여 사용자에게 출력한다.
이를 위하여, 상기 그리드 자원을 이용하여 사용자로부터 처리할 데이터 및 사용자 설정을 입력받는 입력기(11)와, 상기 입력기(11)로 입력된 데이터의 특성을 추출하는 특성 추출기(12)와, 그리드 자원을 사용하기 위한 요청(Request) 메세지를 전송하는 자원사용 요청전송기(13)와, 그리드 자원의 사용여부를 결정하여 출력하는 선택자원 결정기(14)와, 처리가 완료된 사용자의 데이터를 수신하는 결과 수신기(15)를 포함한다.
여기서, 입력기(11)는 사용자로부터 데이터와, 이를 그리드 자원으로 처리하기 위하여 사용자의 설정을 입력받는데, 사용자가 처리하고자 하는 데이터가 그리드 자원을 사용할 때 지불 가능한 금액과, 작업이 완료되어야 하는 시간을 입력받으며, 사용자가 자원을 선택할 것인지의 여부와 몇 개의 자원을 선택 할 것인지 입력 받는 기능도 수행한다.
그리고, 특성 추출기(12)는 상기 입력기(11)로 입력된 데이터의 특성을 추출하며, 상기 자원사용 요청전송기(13)는 상기 입력기(11)에 입력되어 처리될 데이터와, 상기 지불 가능한 금액, 작업완료시간, 데이터의 특성, 선택할 자원의 개수를 포함한 사용자 설정을 XML(eXtensible Markup Language)형태로 그리드 자원사용 요청 메세지를 포함시켜 상기 사용자 에이전트(20)로 전달한다.
즉, 자원사용 요청전송기(13)는 데이터와, 지불 가능한 금액, 작업완료시간, 데이터의 특성, 선택할 자원의 개수를 포함한 사용자 설정과, 그리드 자원사용 요청 메세지를 상기 사용자 에이전트(20)로 전송하는 것이다.
더불어, 자원사용 요청전송기(13)는 사용자 에이전트(20)와 연결되어, 사용자의 데이터가 처리 완료될 때까지, 통신연결을 담당하여 처리할 데이터와, XML 형태의 자원사용 요청 메세지를 전송하는 기능을 담당한다.
여기서, 데이터의 특성은 사용자로부터 직접 입력받거나 또는 상기 특성 추출기(12)로 데이터의 특성을 분석하여 추출할 수도 있다.
그리고, 선택자원 결정기(14)는 상기 사용자 에이전트(20)에서 선택된 자원 목록이 전달되면, 자원들의 사용 여부를 결정하고, 결정된 데이터를 다시 사용자 에이전트(20)로 전달하는 기능을 수행한다.
또한, 결과 수신기(15)는 처리가 완료된 데이터를 수신하고, 응용 프로그램을 이용하여 사용자에게 출력한다.
상기 사용자 에이전트(20)는 그리드 사용자(10)로부터 처리할 데이터와, 상기 데이터의 특성과, 사용자의 요청사항이 포함된 XML 형태의 자원사용 요청 메세지를 전달받고, 의사결정트리를 구축 및 이용하여 자원목록을 생성하여 상기 그리드 사용자(10)에게 전달하며, 최종 선택된 자원목록을 그리드 미들웨어(30)로 전달하는 기능을 수행한다.
이를 위하여, 상기 사용자 에이전트(20)는 사용자 통신기(21)와, 자원선택 기(22)와, 의사결정트리 구축기(23)와, 자원정보 관리기(24)를 포함하여 이루어진다.
여기서, 사용자 통신기(21)는 그리드 사용자(10)가 자원사용을 요청하고, 처리된 결과를 전송할 때까지의 세션 연결(Session Connect) 등의 통신을 담당하며, 상기 그리드 사용자(10)로부터 수신된 데이터를 상기 그리드 미들웨어(30)로 전송하고, 상기 자원선택기(22)에 의해 선택된 자원목록과, 사용자가 선택한 자원목록을 송·수신하며, 처리가 완료된 데이터를 그리드 사용자에게 전송하도록 구성된다.
다시 말하면, 그리드 사용자(10)와 사용자 에이전트(20) 간의 논리적 연결을 위하여, 메세지 교환을 통해 서로를 인식한 이후부터 통신을 마칠 때까지 사용자 통신기(21)를 통해서 연결되는 것을 의미한다.
그리고, 자원 선택기(22)는 상기 특성 추출기(12)에서 추출되거나 또는 사용자가 입력한 데이터 특성과, 사용자가 입력한 작업완료시간 및 금액 등의 요구사항에 적합한 그리드 자원을 선택하도록 구비되며, 최종 선택된 그리드 자원 목록을 의사결정트리 구축기(23)에 전달한다.
그리고 나서, 보다 정확한 그리드 자원을 분류할 수 있도록, 자원정보 관리기(24)에서 데이터 셋을 저장하고, 다른 사용자들에게 현재 사용 중인 자원을 공지하는 기능을 한다.
또한, 의사결정트리 구축기(23)는 사용자가 처리를 위해 입력한 데이터 특성과, 사용자의 요구사항에 따라 선택 가능한 그리드 자원을 데이터베이스에 저장한 후, 데이터 셋이 일정 수 이상이면 의사결정트리를 생성하는 기능을 수행한다.
그리고, 자원정보 관리기(24)는 자원 선택기(22)로부터 사용가능한 그리드 자원의 목록이 요청되면, 그리드 미들웨어(30)로부터 그리드 자원의 정보를 수집하고, 사용가능한 그리드 자원을 선별하며, 이를 전송하는 기능을 수행한다.
그리드 미들웨어(30)는 데이터를 처리할 그리드 자원에 대한 정보를 수집, 등록 및 갱신하며, 그리드 사용자(10)와 사용자 에이전트(20)에 의해 선택된 그리드 자원으로 데이터를 분배하며, 처리가 완료된 데이터를 취합하여 그 결과를 전송하는 기능을 수행한다.
이를 위하여, 자원정보 등록/갱신기(31)와, 선택자원 수신기(32)와, 데이터 분배기(33)와, 처리데이터 취합/전송기(34)를 포함한다.
여기서, 자원정보 등록/갱신기(31)는 플러그 앤 플레이(Plug and Play) 방식으로, 그리드 자원부(40)의 그리드 자원들(40(1), 40(2), ‥‥40(N))과 연결되어 새로운 그리드 자원을 등록하거나, 또는 등록된 그리드 자원 중 시스템의 성능이 변경되거나 제거된 그리드 자원의 정보를 갱신(Update)하는 기능을 수행한다.
또한, 선택자원 수신기(32)는 자원 선택기(21)로부터 최종적으로 선택이 완료된 그리드 자원의 목록을 전달받기 위해 구비되고, 데이터 분배기(33)는 사용자로부터 수신된 데이터를 패킷 단위로 분할하여 시스템 내부의 스케줄링 방침에 따라, 최종 선택된 그리드 자원들에게 데이터 처리를 위하여, 데이터를 분배하도록 구비된다.
그리고, 처리데이터 취합/전송기(34)는 상기 그리드 자원부(40)에서 처리가 완료된 데이터의 패킷을 취합하여 사용자가 요청한 형태의 결과 데이터를 생성하며, 이를 그리드 사용자(10)의 결과 수신기(15)로 전송함과 동시에 데이터 처리가 완료된 그리드 자원의 정보를 자원정보 관리기(24)로 전송한다.
상기 그리드 자원부(40)는 상기 그리드 미들웨어(30)가 선택한 그리드 자원을 이용하여 상기 데이터 분배기(33)에서 분배된 데이터를 처리하며, 각각의 그리드 자원에서 처리된 데이터를 처리데이터 취합/전송기(34)로 전송한다.
도 3a는 도 2의 사용자 에이전트를 상세히 도시한 블록구성도이고, 도 3b는 도 3a의 사용자 에이전트의 입·출력을 개략적으로 도시한 블록구성도이다.
도면에서 도시한 바와 같이, 사용자 에이전트(20)는 사용자 통신기(21)와, 자원 선택기(22)와, 의사결정트리 구축기(23)와, 자원정보 관리기(24)를 포함하여 구성된다.
여기서, 사용자 통신기(21)는 그리드 사용자(10)가 자원사용을 요청하고, 처리된 결과를 전송할 때까지의 세션 연결(Session Connect) 등의 통신을 담당하며, 상기 그리드 사용자(10)로부터 수신된 데이터를 상기 그리드 미들웨어(30)로 전송하고, 상기 자원선택기(22)에 의해 선택된 자원목록과, 사용자가 선택한 자원목록을 송·수신하며, 처리가 완료된 데이터를 그리드 사용자에게 전송하도록 구성된다.
이를 위하여, 사용자 통신기(21)는 통신 연결부(21a)와, 선택자원 송/수신부(21b)와, 처리결과 전송부(21c)를 포함한다.
여기서, 통신 연결부(21a)는 상기 자원사용 요청전송기(13)로부터 사용자가 그리드 자원을 이용하여 처리할 데이터의 특성 및 사용자의 요구사항을 XML 메세지로 수신하고, 그리드 자원 사용 요청부터 그리드 자원 사용 종료까지의 세션 연결(Session Connect) 등의 통신을 담당한다.
그리고, 선택자원 송/수신부(21b)는 자원 선택기(22)가 그리드 자원 목록을 사용자에게 송신하면, 그리드 사용자로부터 선택이 결정된 그리드 자원을 가용자원 요청부(22b)로 전송하여 그리드 자원을 재선택하는 기능을 수행한다.
또한, 처리결과 전송부(21c)는 그리드 미들웨어(30)로부터 취합된 결과 데이터를 수신하여 그리드 사용자(10)에게 전송한 후, 통신을 종료하는 기능을 수행한다.
자원 선택기(22)는 상기 특성 추출기(12)에서 추출되거나 또는 사용자가 입력한 데이터 특성과, 사용자가 입력한 작업완료시간 및 금액 등의 요구사항에 적합한 그리드 자원을 선택하도록 구비되며, 최종 선택된 그리드 자원 목록을 의사결정트리 구축기(23)에 전달하고, 보다 정확하게 그리드 자원을 분류할 수 있도록 데이터 셋을 저장하고, 자원정보관리기(24)에서 해당 그리드 자원들의 사용 여부를 공지하도록 한다.
이를 위하여, 자원 선택기(22)는 데이터 분석부(22a)와, 가용자원 요청 부(22b)와, 가용자원 수신부(22c)와, 자원 선택부(22d)와, 선택자원 송신부(22e)를 포함하여 구성된다.
여기서, 데이터 분석부(22a)는 그리드 사용자(10)로부터 데이터를 수신할 때, XML 형태의 메세지를 파싱(Parsing)하여 요구사항 및 데이터 특성을 분석하며, 가용자원 요청부(22b)는 자원정보 관리기(24)에서 현재 사용가능한 유휴 그리드 자원을 사용하기 위한 요청 메세지를 전송한다.
그리고, 가용자원 수신부(22c)는 현재 사용가능한 자원 목록을 자원정보 관리기(24)로부터 수신하며, 자원 선택부(22d)는 의사결정트리 구축기(23)에 의해 완성된 의사결정트리로부터 IF-ELSE 조건문을 통하여 사용자의 데이터에 적합한 자원을 가용자원 목록 중에서, 사용자가 요청한 자원의 개수만큼 선택하는 기능을 수행한다.
만약, 사용자에 의해 자원을 재선택하는 경우, 사용자가 사용하기로 선택한 해당 그리드 자원들은 고정시키고, 그렇지 않은 그리드 자원을 배제한 후 자원을 재선택하도록 한다.
그리고, 선택자원 송신부(22e)는 사용자가 수동으로 그리드 자원을 선택하고자 할 경우, 자원 선택부(22d)에 의해 선택된 그리드 자원 목록을 사용자에게 전송하며, 사용자가 해당 그리드 자원들의 사용 여부를 확인한 후, 최종적으로 그리드 자원이 선택되면, 해당 그리드 자원목록을 의사결정트리 구축기(23) 및 그리드 미들웨어(30)로 전송한다.
의사결정트리 구축기(23)는 사용자가 처리를 위해 입력한 데이터 특성과, 사용자의 요구사항에 따라 선택 가능한 그리드 자원을 데이터베이스에 저장한 후, 데이터 셋이 일정 수 이상이면 의사결정트리를 생성하는 기능을 수행한다.
이를 위하여, 의사결정트리 구축기(23)는 선택자원 저장부(23a)와, 트리구축 결정부(23b)와, 트리구축부(23c)를 포함하여 구성된다.
여기서, 선택자원 저장부(23a)는 사용자의 데이터 특성과 요구사항에 따라, 선택된 그리드 자원을 데이터 셋(Data Set)의 형태로 저장하도록 이루어지며, 상기 데이터 셋은 하기 표 1과 같이 도시된다.
Figure 112007077840276-PAT00001
여기서, Seq는 순서(Sequence)의 줄임말로, 데이터 셋이 저장되는 순번을 나타내며, RealTime은 처리할 데이터가 실시간 데이터인지를 나타내며, DataSize는 처리할 데이터의 크기이고, Distributed는 처리할 데이터가 분산 환경에 적당하게 분할될 수 있는지를 나타내며, Cost는 사용자가 그리드 자원을 사용할 때 지불 가능한 사용료를 나타내고, Deadline은 처리완료시간이 얼마나 엄격한지를 나타내며, Resource는 선택한 그리드 자원을 나타내며, C i는 유사한 성능을 가지는 자원 그룹을 나타낸다.
그리고, RealTime, DataSize, Distributed는 그리드 사용자(10)의 특성 추출기(12)와, 사용자 에이전트(20)의 데이터 분석부(22a)에 의해 1 부터 9 까지의 정수로 결정되는데, 이 값은 해당 속성에 대한 강도를 의미한다.
예를 들어, RealTime = 9 인 경우에는 실시간 처리를 원하는 경우이며, DataSize = 9 인 경우에는 처리할 데이터의 용량이 큰 것을 의미하고, Distributed = 9 인 경우에는 처리할 데이터가 분산 환경에 적합하게 처리될 수 있음을 나타낸다.
더불어, Cost 및 Deadline은 사용자의 요구사항으로써, 그리드 사용자(10)의 입력기(11)와, 사용자 에이전트(20)의 데이터 분석부(22a)에 의해 1 부터 9 까지의 정수로 표현되는데, 예를 들어 Cost 가 9 에 가까울수록 사용자가 그리드 자원을 사용할 금액이 충분한 것을 나타내며, Deadline 이 9 에 가까울수록 기간 내에 반드시 처리되어야 함을 나타낸다.
트리구축 결정부(23b)는 의사결정트리의 구축 여부를 판단하는 기능을 수행하는데, 의사결정트리의 재구축으로 인한 사용자 에이전트(20)로의 과부하 발생을 막기 위하여, 데이터 셋이 기 설정된 수만큼 증가하는 경우, 의사결정트리의 재구축을 명령한다.
트리구축부(23c)는 과거에서 현재까지의 데이터 셋을 기반으로, 의사결정트리를 구축함으로써, 더욱 정확한 의사결정트리를 생성하고, 자원을 분류하는 기능을 수행한다.
자원정보 관리기(24)는 자원 선택기(22)로부터 사용가능한 그리드 자원의 목록이 요청되면, 그리드 미들웨어(30)로부터 그리드 자원의 정보를 수집하고, 사용가능한 그리드 자원을 선별하며, 이를 전송하는 기능을 수행한다.
이를 위하여, 자원정보 관리기(24)는 자원정보 수집부(24a)와, 가용자원 선별부(24b)와, 가용자원 송신부(24c)를 포함한다.
그리고, 자원정보 수집부(24a)는 그리드 미들웨어(30)의 자원정보 등록/갱신기(31)와 통신하여 그리드 네트워크상에 새롭게 등록된 그리드 자원과, 시스템 구성이 변경된 그리드 자원에 대한 정보를 갱신한다.
여기서, 그리드 컴퓨팅 환경에 존재하는 그리드 자원들은 동일하지 않은 이기종(異機種) 시스템이기 때문에, 실제 모든 자원에 대한 세부적인 표현은 불가능하므로, 유사한 성능을 가진 그리드 자원들에 대하여 그룹화하여 클래스 형태로 나타낸다.
본 발명에 따른 그리드 자원 그룹의 형태는 하기 표 2와 같다.
Figure 112007077840276-PAT00002
여기서, Group 은 유사한 성능을 가지는 그리드 자원의 그룹 번호로서, C 1 부터 C 10 까지로 도시되고, CPU Speed는 중앙처리장치의 속도이며, RAM Size는 주기억장치의 크기이고, Disk Space는 저장매체의 크기 즉, 디스크의 크기를 나타내며, Resource는 해당 그룹에 속하는 자원 번호를 나타낸다.
그리고, 가용자원 선별부(24b)는 가용자원 요청부(22b)의 사용이 가능한 그리드 자원의 목록을 요청할 때, 자원정보 수집부(24a)로부터 그리드 자원의 목록을 전달받고, 이를 Idle 또는 Busy 의 두 가지 상태로 표현된 그리드 자원들 중에서, 자원 상태가 Idle(유휴 상태)인 자원 목록을 자원정보 수집부(24a)로부터 검색하여 결과를 도출하는 기능을 수행한다.
가용자원 송신부(24c)는 현재 사용가능한 그리드 자원목록을 가용자원 선별부(24b)로부터 전달받고, 이를 자원 선택기(22)로 전달하는 기능을 수행한다.
도 4는 도 1의 의사결정트리를 이용한 그리드 자원 선택장치의 입·출력을 개략적으로 도시한 블록구성도이다. 도면에서 도시한 바와 같이, 사용자가 데이터를 그리드 자원을 이용하여 처리하기 위하여, 데이터를 그리드 사용자(10)의 입력기(11)로 입력하면서 시작된다.
그리고, 입력기(11)에서 사용자가 처리하기를 원하는 데이터 및 사용자의 요구사항을 포함한 설정을 입력받으면, 상기 특성 추출기(12)에서는 상기 데이터의 특성을 추출하는데, 이 과정에서 사용자가 데이터의 특성을 수동으로 지정해주는 경우에는 상기 특성 추출기(12)의 구동은 삭제가능하다.
그리고 나서, 데이터 처리를 위해서 그리드 자원을 사용하기 원하는 요청 메세지를 자원사용 요청전송기(13)에서 XML 형태로 사용자 에이전트(20)로 전달하면, 사용자 통신기(21)는 데이터 처리가 완료될 때까지의 한 세션 동안 통신이 연결된 상태를 유지하도록 한다.
또한, 통신 연결부(21a)에서는 자원 선택기(22)로 전달하면, 자원 선택기(22)의 데이터 분석부(22a)에서 XML 형태의 메세지를 파싱(Parsing)하여 사용자의 요구사항 및 사용자가 입력한 데이터의 특성을 분석한다.
그래서, 데이터 분석부(22a)에서의 파싱 과정을 통하여 데이터 분석이 완료되면, 가용자원 요청부(23b)에서 자원정보 관리기(24)의 가용자원 선별부(24b)로 사용할 수 있는 그리드 자원을 선별하도록 하며, 이에 따라 선별된 그리드 자원을 가용자원 수신부(22c)에서 수신받고, 자원 선택부(22d)에서 그리드 자원을 선택하여 선택된 자원을 각각의 데이터베이스인 선택자원 저장부(23a) 및 자원정보 수집부(24a)로 저장하도록 전달한다.
상기한 과정으로 그리드 자원부(40)로 데이터가 분배되고, 선택된 자원에 대한 갱신 및 등록과, 사용자가 선택한 목록에 대한 저장과, 데이터의 처리가 완료되면, 그리드 자원부(40)에서 처리된 각각의 데이터들이 처리데이터 취합/전송기(34)로 전송된다.
그리고, 처리데이터 취합/전송기(34)에서는 각각의 데이터들을 모아서 자원정보 수집부(24a) 및 처리결과 전송부(21c)로 전달하며, 이를 사용자에게 전달하기 위하여 그리드 사용자(10)의 결과 수신기(15)로 전달하며, 통신을 종료하는 기능을 수행한다.
도 5는 본 발명에 따른 의사결정트리를 개략적으로 도시한 도이다. 도면에서 도시한 바와 같이, 의사결정트리는 트리구축부(23c)에서 다음과 같이 생성된다.
우선, 의사결정트리는 C4.5 알고리즘을 이용하는데, 이는 훈련 샘플들이 단일 노드(Single Node)로 시작하고, 샘플들이 모든 같은 클래스가 될 때까지 분할을 반복한다.
여기서, 분할은 정보 이득(Information Gain)이라는 엔트로피 기반척도를 사용하고, 속성 비교를 통하여 모든 샘플들이 동일한 클래스에 속하거나 또는 남아있는 속성이 없을 때까지 동일한 과정을 재귀적으로 수행한다.
그리고, 수학식 1 내지 수학식 4는 상기 C4.5 알고리즘에 포함된다.
Figure 112007077840276-PAT00003
여기서, I 는 주어진 샘플을 분류하는데 요구되는 기대 정보량을 나타내며, S 는 s 개의 샘플 데이터를 가지는 집합을 나타내고, C i 는 클래스 레이블 속성을 나타내는데, i 는 1 부터 m 까지로 정의되는 m 개의 상이한 값을 나타내고, S i 는 샘플 S 에 존재하는 클래스 C i 의 샘플 수를 나타내며, p i 는 임의의 샘플이 클래스 C i 에 속할 확률인 S i/S를 나타낸다.
Figure 112007077840276-PAT00004
여기서, A 는 v 개의 상이한 값({a 1, a 2, ..., a v})을 가지는 속성이며, v 는 속성의 개수를 나타내고, E(A)는 속성 A의 값에 의해 부분 집합으로 분할되는 경우의 엔트로피를 나타낸다.
Figure 112007077840276-PAT00005
여기서, I 는 부분 집합 S j의 기대 정보량을 나타내며, p ijS j 샘플이 클래스 C i에 속하는 확률(p ij = s ij/|S j|)을 나타낸다.
Figure 112007077840276-PAT00006
여기서, Gain(A)는 속성 A에 대한 분기로 얻게되는 부호 정보량을 나타낸다.
따라서, 트리구축부(23c)는 일정 수 이상의 데이터 셋이 저장되었을 때, 수학식 1을 이용하여 샘플 분류에 요구되는 기대 정보량을 산출하고, 속성으로 저장된 사용자의 데이터 특성 및 요구사항을 수학식 2를 이용하여 각 속성에 대한 기대 정보량을 계산한다.
그리고, 수학식 3을 이용하여 샘플이 해당 속성에 의해 분할되는 경우의 엔트로피를 계산하고, 수학식 4를 이용하여 해당 속성으로 분할된 경우의 정보 이득을 계산하여 높은 정보이득을 가지는 속성을 최상위 노드로 선택한다.
그리고 나서, 나머지 속성들에 대하여 샘플들이 동일한 클래스에 소속될 때 까지 반복하여 수행한다.
도면으로 돌아가서, 본 발명의 의사결정트리는 사용자의 데이터 특성 및 사용자의 요구사항에 따라 선택하는 자원의 형태로 이루어진 100 개의 학습 데이터 셋을 사용하여 C4.5 알고리즘으로 완성된다.
여기서, N102는 의사결정트리의 최상위 노드로서, RealTime을 검사하고, N104는 속성이 속하는 조건을 나타내는 것으로서, 부등호로 표시된 부분은 모두 N104에 속하게 된다.
그리고, N106은 최상위 노드인 N102와 단말 노드인 N108을 제외한 모든 노드를 나타내는데, 중간 노드의 검사 속성으로 사용되고, N108은 분할이 완료되어 동일한 자원을 나타내는 단말 노드들이다.
또한, 사선으로 표시된 노드들은 모두 N108에 속하는데, 이렇게 의사결정트리로 분류된 자원들은 사용자의 데이터 특성 및 요구사항이 분석되어 선택이 가능해진다.
본 발명의 의사결정트리의 예를 들면, 임의의 데이터 셋에서 RealTime=7, DataSize=8, Distributed=7, Cost=9, DeadLine=7 인 경우, N104 에서 5 를 초과하므로 왼쪽 노드로 내려가서 다음 속성인 DataSize를 검사하게 된다.
그리고 나서, 분류가 완료된 자원인 N108을 제외한 중간 노드(중간 검사 속성, N106)들이 DataSize, Distributed, Cost 가 존재하는데, DataSize도 5 를 초과하므로 왼쪽 노드로 내려가서 다음 속성인 Distributed 를 검사한다.
또한, Distributed 값을 검사하는데, 이도 역시 5 를 초과하므로 왼쪽 노드 로 내려가고, 다음 검사 속성이 없으므로 C 10의 그리드 자원을 선택하며, 데이터의 특성과 사용자의 요구사항을 분석하여 원하는 개수(N)의 그리드 자원을 선택하게 될 때까지 반복해서 자원을 선택하고, 선택된 그리드 자원 목록은 리스트 형태로 반환하거나 또는 그리드 미들웨어(30)로 전달하게 된다.
도 6은 본 발명에 따른 의사결정트리를 이용하여 자원을 선택하는 과정을 상세하게 나타낸 순서도이다. 도면에서 도시된 바와 같이, 본 발명에 따른 의사결정트리를 이용한 그리드 자원 선택과정은 그리드 사용자에 사용자가 처리를 원하는 데이터 및 사용자의 요구사항이 입력되면서 시작된다(S10).
그리고 나서, 입력된 데이터의 특성이 사용자로부터 입력되지 않는 경우, 특성 추출기에서 데이터의 특성을 자동으로 추출해내는데, 자동으로 입력되는 경우에는 RealTime, DataSize, Distributed, Cost, Deadline 등의 속성값(1 내지 9)이 결정된다.
또한, 자동 또는 수동으로 입력된 데이터의 특성과, 상기 데이터를 처리하는데 요청하는 사용자의 요구사항 등이 XML 형식으로 전달되는데, 상기 XML 형식의 메세지는 자원사용 요청 메세지로 데이터와 함께 사용자 에이전트로 전달되고(S20), 자원사용 요청 메세지에는 사용자의 자원선택방식이 자동인지 또는 수동인지의 대한 정보와, 사용할 자원의 개수에 대한 정보를 포함한다.
그리고, XML 형식으로 전달된 사용자의 요구사항이 포함된 자원사용 요청 메 세지를 사용자에게 전달하면, 데이터 분석부에서 사용자의 데이터 속성값이 어떤 범주에 속하는지를 확인 및 분석한다(S30).
그리고 나서, 가용자원 요청부와, 가용자원 수신부와, 가용자원 선별부와, 가용자원 송신부로부터 수신한 현재 사용가능한 유휴 자원 목록(Idle Resource List)를 송·수신한다(S40).
또한, 자원 선택부(22d)에서는 전달받은 유휴 자원 목록 중에서, 의사결정트리 구축기(23)에 의해 생성된 의사결정트리를 탐색하여 적당한 자원들을 선택하게 된다(S50).
상기 단계(S50)에서, 사용자가 수동으로 그리드 자원을 선택하는 경우에는, 일차적으로 선택한 그리드 자원 목록을 선택자원 송/수신부(21b)를 통하여 전송받고(S62), 사용자가 선택된 그리드 자원 목록 중에서 사용할 그리드 자원을 선택하도록 한다(S63).
그리고 나서, 상기 단계(S63)에서 사용자가 선택한 그리드 자원의 개수가 사용자가 이용하고자 하는 그리드 자원의 개수와 일치하는 경우(S64), 선택된 그리드 자원을 선택자원 저장부에 표 1 과 같은 데이터 셋의 형태로 저장한다(S61).
반대로, 상기 단계(S64)에서 사용자가 선택한 그리드 자원의 개수가 사용자가 이용하고자 하는 그리드 자원보다 적을 경우(S64), 그리드 자원을 더 선택해야 하고, 이에 따라 상기 단계(S50)로 복귀하여 계속 그리드 자원을 선택하도록 한다.
이때, 자원 선택부는 사용자가 결정한 일부분의 그리드 자원은 고정시키고, 그렇지 않은 그리드 자원은 제외하여 그리드 자원을 선택하게 되며, 원하는 개수의 그리드 자원을 모두 선택하게 되면, 속성값 및 선택한 그리드 자원들을 상기 표 1 과 같은 데이터 셋의 형태로 선택자원 저장부에 저장한다(S61).
그리고 나서, 트리구축 결정부에서 사용자 에이전트의 과부하를 고려하여, 일정 수 이상의 데이터 셋이 형성되었는지를 확인하고(S70), 시스템이 설정한 수 만큼의 데이터 셋이 형성된 경우에는 정확한 자원의 분류를 위하여 트리구축부에서 의사결정트리를 재구축하도록 한다(S71).
도 7은 본 발명에 따라 생성된 의사결정트리로 조건문을 이용하여 자원을 선택하는 과정을 나타낸 순서도이다. 도면에서 도시된 바와 같이, 의사결정트리는 사용자의 데이터 셋과, 사용자가 요구한 그리드 자원의 개수를 입력받으면서 시작된다(S51).
그리고 나서, 데이터 셋의 속성을 변수에 할당하는데(S52), 실시간 정도(RealTime), 데이터 크기(DataSize), 분산도(Distributed), 비용(Cost), 작업완료시간(Deadline) 등에 1 내지 9 까지의 속성값을 부여한다.
즉, 실시간으로 처리해야하는 정도가 보통이면 5, 실시간으로 처리해야하는 정도가 보통이 넘어갈수록 9에 근접하게 부여되고, 실시간으로 처리해야할 저도가 보통 이하일수록 1에 근접하게 부여된다.
그리고, 사용자가 요구한 그리드 자원의 수를 카운트하기 위하여, rCnt 에 0을 부여하고, 상기 단계(S52)에서 부여된 속성값에 대한 의사결정트리를 이용하여 그리드 자원을 선택하도록 하는 단계로 진행한다.
그래서, 실시간(RealTime)에 부여된 속성이 보통(5)을 넘는지를 묻고(S54), 실시간으로 처리해야할 데이터인 경우(5를 넘는 경우)에는 데이터 크기(DataSize)가 보통(5)을 넘는지를 묻는다(S54-1).
또한, 실시간 및 데이터 크기가 보통을 넘는 경우에는 그리드 자원으로 데이터를 분할하여 분배하므로, 이에 따라 분할이 얼마나 잘 되는지에 대한 분할도(Distributed)가 보통(5)을 넘는지를 묻는다(S54-2).
상기 단계(S54, S54-1, S54-2)를 거쳐 실시간, 데이터 크기, 분산도가 모두 보통을 초과하는 속성값을 가지고 있는 경우에는, 상기 속성값과 가장 유사한 그리드 자원 그룹(C 10)을 선택한다(S54-3).
그리고 나서, 1 개의 선택이 완료되었으므로, 카운트를 위한 변수(rCnt)를 1 증가시키고(S54-4), 사용자가 요구한 그리드 자원 개수만큼 선택이 되었는지를 묻고(S58), 사용자가 요구한 그리드 자원 개수만큼 선택이 되지 않은 경우에는 상기 단계(S54)로 복귀한다.
여기서, 상기 단계(S54-1)에서 데이터 크기가 5 미만인 경우, 비용이 5 를 초과하는 지에 대하여 묻고(S54-5), 이를 초과할 경우 그리드 자원(C 9)을 선택된 그리드 자원 목록에 포함시키면서(S54-6) 상기 단계(S54-4)로 진행한다.
그리고, 상기 단계(S54-5)에서 비용이 5 미만인 경우, 그리드 자원(C 6)을 선택된 그리드 자원 목록에 포함시키면서(S54-5a), 상기 단계(S54-4)로 진행한다.
또한, 상기 단계(S54-2)에서 분산도가 5 미만인 경우, 비용이 5 를 초과하는 지에 대하여 묻고(S54-7), 이를 초과할 경우 그리드 자원(C 8)을 선택된 그리드 자원 목록에 포함시키면서(S54-8) 상기 단계(S54-4)로 진행한다.
그리고, 상기 단계(S54-7)에서 비용이 5 미만인 경우, 그리드 자원(C 7)을 선택된 그리드 자원 목록에 포함시키고(S54-7a), 상기 단계(S54-4)로 진행한다.
한편, 상기 단계(S54)에서 실시간이 보통 이하인 경우에는 데이터 크기가 보통(5)을 초과하는지에 대하여 묻고(S55), 실시간이 5 보다 작지만 데이터 크기는 5 보다 큰 경우에는 분산도가 5를 초과하는지를 묻는 단계(S55-1)로 진행한다.
그리고, 상기 단계(S55-1)에서 분산도가 5를 초과한 경우, 비용이 5를 초과하는지를 묻는 단계(S55-2)로 진행하며, 비용이 5를 초과한 경우, 그리드 자원(C 5)를 선택된 그리드 자원 목록으로 포함시키면서(S55-3) 상기 단계(S54-4)로 진행한다.
여기서, 상기 단계(S55-1)에서 분산도가 5 이하인 경우에는 그리드 자원(C 3)을 선택된 그리드 자원 목록으로 포함시키면서(S56-2) 상기 단계(S54-4)로 진행하며, 상기 단계(S55-2)에서 비용이 5 이하인 경우에는 그리드 자원(C 4)을 선택된 그리드 자원 목록으로 포함시키면서(S56-3) 상기 단계(S54-4)로 진행한다.
한편, 상기 단계(S55)에서 데이터 크기가 5 이하인 경우, 분산도가 5 를 초과하는지 묻고(S56), 분산도가 5 를 초과할 경우에는 그리드 자원(C 1)을 선택된 그리드 자원 목록에 포함시키면서(S56-1), 상기 단계(S54-4)로 진행한다.
그리고, 상기 단계(S56)에서 분산도가 5 이하인 경우에는 그리드 자원(C 2)을 선택된 그리드 자원 목록에 포함시키면서(S57) 상기 단계(S54-4)로 진행한다.
즉, 도 5를 참조하여 설명하면, 도 7은 IF-ELSE 조건문을 바탕으로 손쉽게 선택 가능한데, 예를 들면, RealTime = 7, DataSzie = 8, Distributed = 9, Cost = 7, Deadline = 8 의 속성을 갖는 데이터의 경우, S54, S54-1, S54-2 의 조건을 만족하여 그리드 자원(C 10)을 선택하게 되는 것이다.
따라서, 각 분기점의 조건문을 이용하여, 그리드 자원(C 1, C 2, ..., C 10)의 모든 그리드 자원들을 사용자가 원하는 개수의 그리드 자원이 선택될 때까지 본 의사결정트리가 구동되도록 이루어진다.
이상에서는 본 발명의 바람직한 실시 예를 예시적으로 설명하였으나, 본 발명의 범위는 이 같은 특정 실시 예에만 한정되지 않으며 해당 분야에서 통상의 지식을 가진 자라면 본 발명의 특허 청구 범위 내에 기재된 범주 내에서 적절하게 변경이 가능할 것이다.
도 1은 본 발명에 따른 의사결정트리를 이용한 그리드 자원 선택장치를 개략적으로 도시한 블록구성도.
도 2는 도 1의 의사결정트리를 이용한 그리드 자원 선택장치를 상세히 도시한 블록구성도.
도 3a는 도 2의 사용자 에이전트를 상세히 도시한 블록구성도.
도 3b는 도 3a의 사용자 에이전트의 입·출력을 개략적으로 도시한 블록구성도.
도 4는 도 1의 의사결정트리를 이용한 그리드 자원 선택장치의 입·출력을 개략적으로 도시한 블록구성도.
도 5는 본 발명에 따른 의사결정트리를 개략적으로 도시한 도.
도 6은 본 발명에 따른 의사결정트리를 이용하여 자원을 선택하는 과정을 상세하게 나타낸 순서도.
도 7은 본 발명에 따라 생성된 의사결정 트리로 조건문을 이용하여 자원을 선택하는 과정을 나타낸 순서도.
<도면의 주요 부분에 대한 도면 부호의 간단한 설명>
1: 의사결정트리를 이용한 그리드 자원 선택장치
10: 그리드 사용자 11: 입력기
12: 특성 추출기 13: 자원사용 요청전송기
14: 선택자원 결정기 15: 결과 수신기
20: 사용자 에이전트 21: 사용자 통신기
21a: 통신 연결부 21b: 선택자원 송/수신부
21c: 처리결과 전송부 22: 자원 선택기
22a: 데이터 분석부 22b: 가용자원 요청부
22c: 가용자원 수신부 22d: 자원 선택부
22e: 선택자원 송신부 23: 의사결정트리 구축기
23a: 선택자원 저장부 23b: 트리구축 결정부
23c: 트리구축부 24: 자원정보 관리기
24a: 자원정보 수집부 24b: 가용자원 선별부
24c: 가용자원 송신부 30: 그리드 미들웨어
31: 자원정보 등록/갱신기 32: 선택자원 수신기
33: 데이터 분배기 34: 처리데이터 취합/전송기
40: 그리드 자원부

Claims (16)

  1. 그리드 기반 네트워크에서 그리드 자원을 선택하는 장치에 있어서,
    사용자의 데이터 및 요구사항이 입력되고, 이를 처리하기 위한 그리드 자원을 요청하며, 이를 이용하여 처리된 데이터를 출력하는 그리드 사용자;
    상기 그리드 사용자로부터 전달된 데이터 및 요구사항에 기반하여 데이터를 분석하여 의사결정트리를 구축하고, 선택 가능한 그리드 자원의 목록을 제공하는 사용자 에이전트;
    상기 사용자 에이전트로부터 전달된 데이터를 상기 의사결정트리에 기반하여 분배하고, 처리된 데이터를 취합하여 사용자에게 출력하는 그리드 미들웨어;
    상기 그리드 자원을 다수개 포함하고, 상기 그리드 미들웨어에서 분배된 데이터를 처리하는 그리드 자원부;
    를 포함하는 의사결정트리를 이용한 그리드 자원 선택장치.
  2. 청구항 1에 있어서,
    상기 그리드 사용자는
    상기 처리될 데이터와, 그리드 자원 개수, 작업완료시간을 포함한 사용자 요구사항을 입력받는 입력기;
    상기 입력기로 입력된 데이터의 특성을 자동 또는 수동으로 추출하는 특성 추출기;
    상기 그리드 자원부의 그리드 자원을 사용하기 위한 요청 메세지를 전송하는 자원사용 요청전송기;
    상기 의사결정트리로 선택된 그리드 자원의 사용 여부를 결정하는 선택자원 결정기;
    처리가 완료된 데이터를 수신하는 결과 수신기;
    를 포함하는 것을 특징으로 하는 의사결정트리를 이용한 그리드 자원 선택장치.
  3. 청구항 2에 있어서,
    상기 특성 추출기는 상기 사용자의 요구사항에 포함된 데이터에 따라 자동 또는 수동으로 데이터의 특성을 추출하는 것을 특징으로 하는 의사결정트리를 이용한 그리드 자원 선택장치.
  4. 청구항 3에 있어서,
    상기 사용자 에이전트는
    상기 그리드 사용자로부터 자원사용 요청 메세지가 전달되면, 처리된 데이터를 출력할 때까지 통신이 가능하도록 구비되는 사용자 통신기;
    상기 특성 추출기에서 추출된 데이터의 특성 및 사용자의 요구사항에 적합한 그리드 자원을 상기 의사결정트리를 이용하여 선택하도록 구비되는 자원 선택기;
    상기 자원 선택기에서 선택된 그리드 자원 목록을 전달받되, 상기 의사결정트리에 속한 데이터가 일정 수를 초과할 경우 이를 재구축하는 의사결정트리 구축기;
    를 포함하는 것을 특징으로 하는 의사결정트리를 이용한 그리드 자원 선택장치.
  5. 청구항 4에 있어서,
    상기 자원 선택기는
    상기 그리드 사용자에서 출력된 자원사용 요청 메세지를 파싱(Parsing)하여 분석하는 데이터 분석부;
    사용가능한 유휴 그리드 자원을 사용하기 위한 메세지를 전송하는 가용자원 요청부;
    사용가능한 유휴 그리드 자원 목록을 수신받는 가용자원 수신부;
    상기 가용자원 수신부에서 수신받은 그리드 자원 목록 중에서, 상기 의사결정트리를 이용하여 처리될 데이터에 적합한 그리드 자원을 사용자가 요청한 그리드 자원의 개수만큼 선택하는 자원 선택부;
    를 포함하는 것을 특징으로 하는 의사결정트리를 이용한 그리드 자원 선택장 치.
  6. 청구항 5에 있어서,
    상기 자원 선택부는 사용자에 의해 자원이 선택되는 경우에는, 사용자가 선택한 그리드 자원은 고정시키고, 선택되지 않은 그리드 자원을 배제한 후 자원을 재선택하는 것을 특징으로 하는 의사결정트리를 이용한 그리드 자원 선택장치.
  7. 청구항 4에 있어서,
    상기 의사결정트리 구축기는
    상기 자원 선택부에서 선택된 그리드 자원을 데이터 셋으로 저장하는 데이터베이스인 선택자원 저장부;
    상기 데이터 셋이 기 설정된 수를 초과하는 경우, 의사결정트리를 재구축하는 트리구축 결정부;
    상기 트리구축 결정부에서 의사결정트리를 재구축하도록 하는 경우, 상기 데이터 셋을 기반으로 의사결정트리를 재구축하는 트리구축부;
    를 포함하는 것을 특징으로 하는 의사결정트리를 이용한 그리드 자원 선택장치.
  8. 청구항 7에 있어서,
    상기 데이터 셋은
    처리할 데이터의 크기를 나타내는 데이터 크기(DataSize);
    처리할 데이터가 실시간으로 처리되야하는 정도를 나타내는 실시간(RealTime);
    처리할 데이터가 상기 그리드 자원부의 각 그리드 자원으로 분할될 수 있는 정도를 나타내는 분산도(Distributed);
    를 포함하는 것을 특징으로 하는 의사결정트리를 이용한 그리드 자원 선택장치.
  9. 청구항 8에 있어서,
    상기 데이터 셋의 각 구성요소는 1 내지 9 까지로 표현되며, 5 를 기준으로 9에 근접할수록 높은 강도를 나타내며, 1에 근접할수록 낮은 강도를 나타내는 것을 특징으로 하는 의사결정트리를 이용한 그리드 자원 선택장치.
  10. 청구항 8에 있어서,
    상기 의사결정트리는 상기 데이터 셋의 실시간, 데이터 크기, 분산도, 비용 을 이용하여, 사용자가 설정한 상기 사용자 요구사항에 적합한 그리드 자원을 선택할 수 있도록 2 진 트리로 형성된 것을 특징으로 하는 의사결정트리를 이용한 그리드 자원 선택장치.
  11. 그리드 기반 네트워크에서 그리드 자원을 선택하는 방법에 있어서,
    처리할 데이터 및 상기 데이터의 특성에 따라, 사용가능한 그리드 자원을 요청 및 수신하는 제1 단계;
    상기 제1 단계에서 수신된 사용가능한 그리드 자원 중에서, 상기 데이터의 특성으로 구축된 의사결정트리를 이용하여 그리드 자원을 선택하는 제2 단계;
    상기 제2 단계에서 선택된 그리드 자원을 이용하여 데이터를 처리하고, 이를 사용자에게 출력하는 제3 단계;
    를 포함하는 의사결정트리를 이용한 그리드 자원 선택방법.
  12. 청구항 11에 있어서,
    상기 데이터의 특성은 자동 또는 수동으로 입력되되, 처리할 데이터의 크기와, 실시간으로 처리되어야 하는 정도와, 각 그리드 자원으로 분할될 수 있는 정도를 포함하는 것을 특징으로 하는 의사결정트리를 이용한 그리드 자원 선택방법.
  13. 청구항 12에 있어서,
    상기 데이터의 특성은 1 내지 9 까지로 표현되며, 5를 기준으로 9에 근접할수록 높은 강도를 나타내며, 1에 근접할수록 낮은 강도를 나타내는 것을 특징으로 하는 의사결정트리를 이용한 그리드 자원 선택방법.
  14. 청구항 13에 있어서,
    상기 의사결정트리는 상기 데이터의 특성인 실시간, 데이터 크기, 분산도, 비용을 이용하여, 사용자가 설정한 상기 사용자 요구사항에 적합한 그리드 자원을 선택할 수 있도록 2 진 트리로 형성된 것을 특징으로 하는 의사결정트리를 이용한 그리드 자원 선택장치.
  15. 청구항 14에 있어서,
    상기 의사결정트리에 포함된 각 데이터의 특성의 수가 일정 수를 초과할 경우, 상기 데이터의 특성을 갱신하도록 의사결정트리를 재구축하는 것을 특징으로 하는 의사결정트리를 이용한 그리드 자원 선택장치.
  16. 청구항 15에 있어서,
    상기 일정 수는 그리드 자원, 처리할 데이터의 특성, 사용자의 요구목록을 포함한 변수에 따라, 변경 가능한 것을 특징으로 하는 의사결정트리를 이용한 그리드 자원 선택장치.
KR1020070109450A 2007-10-30 2007-10-30 의사결정트리를 이용한 그리드 자원 선택장치 및 선택방법 KR100944234B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070109450A KR100944234B1 (ko) 2007-10-30 2007-10-30 의사결정트리를 이용한 그리드 자원 선택장치 및 선택방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070109450A KR100944234B1 (ko) 2007-10-30 2007-10-30 의사결정트리를 이용한 그리드 자원 선택장치 및 선택방법

Publications (2)

Publication Number Publication Date
KR20090043732A true KR20090043732A (ko) 2009-05-07
KR100944234B1 KR100944234B1 (ko) 2010-02-24

Family

ID=40854406

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070109450A KR100944234B1 (ko) 2007-10-30 2007-10-30 의사결정트리를 이용한 그리드 자원 선택장치 및 선택방법

Country Status (1)

Country Link
KR (1) KR100944234B1 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013025591A3 (en) * 2011-08-12 2013-04-25 Gridmarkets Pte. Ltd. Brokerage method and system for computational resources
CN103677789A (zh) * 2012-09-25 2014-03-26 深圳市金正方科技有限公司 基于grid组件的列表数据展现方法及系统
WO2016040774A1 (en) * 2014-09-11 2016-03-17 Sheble Gerald B Resource control by probability tree convolution production cost valuation by iterative equivalent demand duration curve expansion (aka. tree convolution)
KR101685852B1 (ko) * 2015-11-24 2016-12-12 수원대학교산학협력단 클라우드 컴퓨팅 서비스의 스팟 인스턴스 기반의 가용자원경매를 위한 입찰가 결정방법
KR20210115904A (ko) * 2020-03-17 2021-09-27 (주)나래데이터 It 인프라 시스템 추천 장치

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101469136B1 (ko) 2014-06-23 2014-12-04 한국지질자원연구원 의사결정트리에서 공간 예측을 위한 리프노드 등급 결정 방법 및 이를 기록한 기록매체

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7072958B2 (en) 2001-07-30 2006-07-04 Intel Corporation Identifying network management policies
KR100558897B1 (ko) * 2003-12-05 2006-03-10 한국과학기술정보연구원 피어 투 피어 매커니즘을 이용한 그리드 정보 서비스시스템 및 그 방법
KR100621787B1 (ko) * 2003-12-31 2006-09-13 학교법인 한국정보통신학원 그리드에서 사용자의 QoS와 응용특성에 근거한동적자원 할당방법

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013025591A3 (en) * 2011-08-12 2013-04-25 Gridmarkets Pte. Ltd. Brokerage method and system for computational resources
CN103677789A (zh) * 2012-09-25 2014-03-26 深圳市金正方科技有限公司 基于grid组件的列表数据展现方法及系统
WO2016040774A1 (en) * 2014-09-11 2016-03-17 Sheble Gerald B Resource control by probability tree convolution production cost valuation by iterative equivalent demand duration curve expansion (aka. tree convolution)
US10770899B2 (en) 2014-09-11 2020-09-08 Gerald Bernard Sheble Resource control by probability tree convolution production cost valuation by iterative equivalent demand duration curve expansion (aka. tree convolution)
KR101685852B1 (ko) * 2015-11-24 2016-12-12 수원대학교산학협력단 클라우드 컴퓨팅 서비스의 스팟 인스턴스 기반의 가용자원경매를 위한 입찰가 결정방법
KR20210115904A (ko) * 2020-03-17 2021-09-27 (주)나래데이터 It 인프라 시스템 추천 장치

Also Published As

Publication number Publication date
KR100944234B1 (ko) 2010-02-24

Similar Documents

Publication Publication Date Title
KR100944234B1 (ko) 의사결정트리를 이용한 그리드 자원 선택장치 및 선택방법
US8024740B2 (en) Acquisition system for distributed computing resources
CN105103506B (zh) 用于为云计算网络中的非均匀带宽请求分配带宽的方法和系统
CN106534318B (zh) 一种基于流量亲和性的OpenStack云平台资源动态调度系统和方法
Ouadah et al. SEFAP: an efficient approach for ranking skyline web services
CN106155817B (zh) 业务信息处理方法、服务器及系统
CN111045911B (zh) 性能测试方法、性能测试装置、存储介质与电子设备
CN113037877B (zh) 云边端架构下时空数据及资源调度的优化方法
KR101858715B1 (ko) 서비스자원 관리시스템 및 그 방법
CN113259972A (zh) 基于无线通信网络数据仓库构建方法、系统、设备及介质
US20020019869A1 (en) System and method for modeling and provisioning information system capacity
CN105468619B (zh) 用于数据库连接池的资源分配方法和装置
CN106095582A (zh) 云平台的任务执行方法
CN113392123A (zh) 一种sql语句处理方法及装置
CN109558248A (zh) 一种用于确定面向海洋模式计算的资源分配参数的方法及系统
CN116700920A (zh) 云原生混合部署集群资源调度方法及装置
CN102331929A (zh) 一种基于服务组合历史的服务分类和推荐方法
CN114490086A (zh) 资源动态调整方法、装置、电子设备、介质和程序产品
CN105872082A (zh) 基于容器集群负载均衡算法的细粒度资源响应系统
CN109802847A (zh) 一种网络传输服务质量的分析方法、装置
CN115129463A (zh) 算力调度方法及装置、系统及存储介质
CN109474696B (zh) 一种网络服务方法、装置、电子设备及可读存储介质
CN111444249A (zh) 基于热数据的用户画像生成方法、装置、设备及存储介质
CN116700929A (zh) 基于人工智能的任务批量处理方法及系统
CN116089367A (zh) 动态分桶方法、装置、电子设备和介质

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20131217

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20141204

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160113

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20161220

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee