1 |
1
클라우드 인프라스트럭처에 기반하여 분산병렬 워크플로우 서비스를 제공하는 장치에 있어서, 상기 클라우드 인프라스트럭처는 복수의 가상 머신 자원을 포함하며, 클라이언트로부터 수신된 워크플로우 서비스 요청을 분석하여 워크플로우 전자명세 데이터를 생성하는 워크플로우 분석기와,상기 워크플로우 전자명세 데이터에 근거하여 상기 워크플로우 서비스 실행에 요구되는 가상머신 그룹 개수를 산출하고 상기 워크플로우 서비스 실행에 포함되는 분산병렬 응용 프로그램 각각을 각 가상머신 그룹에 배치하는 동적 배치 스케쥴러와,상기 산출된 가상머신 그룹 개수에 근거하여 상기 클라우드 인프라스트럭처에 상기 산출된 가상머신 그룹으로 그룹화하기 위한 가상머신 자원을 요청하는 자원 요청기와,상기 클라우드 인프라스트럭처로부터 제공된 가상머신 자원을 상기 동적 배치 스케쥴러의 배치 결과에 따라 가상머신 그룹으로 그룹화하고, 상기 가상머신 그룹에서 상기 분산병렬 응용 프로그램을 실행시키고, 상기 실행 결과를 수집하는 자원 관리자와,상기 워크플로우 서비스 실행의 각 단계에서 실행이 요구되는 분산병렬 응용 프로그램을 확인하여 상기 확인된 프로그램의 실행을 상기 자원 관리자에 지시하는 워크플로우 처리 엔진을 포함하는 클라우드 인프라스트럭처 기반 분산병렬 응용 워크플로우 서비스 제공 장치
|
2 |
2
제1항에 있어서, 상기 워크플로우 분석기는 상기 워크플로우 서비스 요청을 분석하여 상기 워크플로우 서비스 실행에 필요한 가상머신 자원 성능, 상기 가상머신 자원에 구축되어야 하는 프로그램 실행 환경, 상기 워크플로우 서비스 실행의 각 과정에 포함된 응용 프로그램 명칭, 상기 응용 프로그램의 입력 데이터 정보중 적어도 하나를 파악하고 상기 파악된 정보를 상기 워크플로우 전자 명세 데이터에 포함시키는 클라우드 인프라스트럭처 기반 분산병렬 응용 워크플로우 서비스 제공 장치
|
3 |
3
제1항에 있어서, 상기 워크플로우 전자명세 데이터에 근거하여 상기 워크플로우 서비스가 상기 장치에서 제공 가능한 워크플로우인지 판단하는 워크플로우 검증기를 더 포함하는 클라우드 인프라스트럭처 기반 분산병렬 응용 워크플로우 서비스 제공 장치
|
4 |
4
제3항에 있어서, 상기 워크플로우 검증기의 검증 결과 상기 워크플로우 서비스가 실행 불가한 것으로 판단되면 상기 클라이언트에 상기 실행 불가한 것으로 판단된 결과를 통보하는 클라우드 인프라스트럭처 기반 분산병렬 응용 워크플로우 서비스 제공 장치
|
5 |
5
제1항에 있어서, 상기 동적 배치 스케쥴러는 상기 가상머신 그룹 개수 및 상기 분산병렬 응용 프로그램의 배치 정보를 상기 워크플로우 전자 명세 데이터에 추가하는 클라우드 인프라스트럭처 기반 분산병렬 응용 워크플로우 서비스 제공 장치
|
6 |
6
제1항에 있어서, 상기 가상머신 그룹 각각의 주 가상머신에서 자원 에이전트가 자동 구동되고, 상기 자원 관리자와 상기 가상머신 그룹별 자원 에이전트간에 통신 회선이 연결되는 클라우드 인프라스트럭처 기반 분산병렬 응용 워크플로우 서비스 제공 장치
|
7 |
7
제6항에 있어서, 상기 자원 관리자는 상기 가상머신 그룹별 자원 에이전트에 상기 통신 회선을 통해 상기 가상머신 그룹에서 실행될 분산병렬 응용 프로그램 및 상기 프로그램의 입력 데이터를 전송함으로써 상기 가상머신 그룹에 상기 프로그램의 실행 환경 구축을 지시하는 클라우드 인프라스트럭처 기반 분산병렬 응용 워크플로우 서비스 제공 장치
|
8 |
8
제1항에 있어서, 상기 워크플로우 처리 엔진은 상기 워크플로우 서비스 실행의 각 단계에서 실행되는 분산병렬 응용 프로그램을 완료 여부를 확인하는 클라우드 인프라스트럭처 기반 분산병렬 응용 워크플로우 서비스 제공 장치
|
9 |
9
제1항에 있어서, 상기 클라이언트로부터 수신된 워크플로우 서비스 요청에 포함된 분산병렬 응용 프로그램 및 상기 프로그램의 입력 데이터와, 상기 자원 관리자에 의해 수집된 상기 분산병렬 응용 프로그램의 실행 결과를 저장하는 데이터 저장소를 더 포함하는, 클라우드 인프라스트럭처 기반 분산병렬 응용 워크플로우 서비스 제공 장치
|
10 |
10
클라우드 인프라스트럭처에 기반하여 워크플로우 서비스 제공 장치가 분산병렬 응용 워크플로우 실행 서비스를 제공하는 방법에 있어서,클라이언트로부터 워크플로우 서비스 요청을 수신하는 단계와;상기 요청된 워크플로우 서비스를 분석하여 워터플로우 전자명세 데이터를 생성하는 단계와,상기 워크플로우 전자명세 데이터에 근거하여 상기 워크플로우 서비스 실행에 요구되는 가상머신 그룹 개수를 산출하고 상기 워크플로우 서비스 실행에 포함되는 분산병렬 응용 프로그램 각각을 각 가상머신 그룹에 배치하는 단계;상기 산출된 가상머신 그룹 개수에 근거하여 상기 클라우드 인프라스트럭처에 상기 산출된 가상머신 그룹으로 그룹화하기 위한 가상머신 자원을 요청하는 단계;상기 요청에 응답하여 제공받은 가상머신 자원을 복수의 가상머신 그룹으로 그룹화하고 상기 그룹 각각의 주 가상머신에서 구동되는 자원 에이전트로 하여금 상기 가상머신 그룹에 배치된 분산병렬 응용 프로그램을 실행시키도록 제어하는 단계; 및, - 여기서 상기 가상머신 그룹 각각의 주 가상머신에서 상기 자원 에이전트가 자동 구동되고, 상기 가상머신 그룹별 자원 에이전트간에 통신 회선이 연결되는 것을 특징으로 하며, 상기 워크플로우 서비스 제공 장치는 상기 가상머신 그룹별 자원 에이전트에 상기 통신 회선을 통해 상기 가상머신 그룹에서 실행될 분산병렬 응용 프로그램 및 프로그램의 입력 데이터를 전송함으로써 상기 가상머신 그룹에 상기 프로그램의 실행 환경 구축하도록 하는 것을 특징으로 함
|
11 |
11
제10항에 있어서, 상기 클라이언트로부터 수신된 워크플로우 서비스 요청은 실행하고자 하는 워크플로우 서비스를 기술한 전자문서, 상기 워크플로우 서비스에 포함되는 분산병렬 응용 프로그램 및 상기 프로그램의 입력 데이터를 포함하는 클라우드 인프라스트럭처 기반 분산병렬 응용 워크플로우 서비스 제공 방법
|
12 |
12
제11항에 있어서, 상기 전자문서는 상기 분산병렬 응용 프로그램의 실행에 요구되는 가상머신 자원의 성능 정보 및 상기 프로그램의 실행 환경 정보를 더 포함하는 클라우드 인프라스트럭처 기반 분산병렬 응용 워크플로우 서비스 제공 방법
|
13 |
13
제12항에 있어서, 상기 요청된 워크플로우 서비스를 분석하는 단계는, 상기 전자문서에 근거하여, 상기 워크플로우 서비스 실행의 각 단계에서 실행되어야 할 분산병렬 응용 프로그램의 명칭 및 상기 프로그램의 입력데이터 정보와, 상기 가상머신의 성능 정보 및 상기 프로그램의 실행 환경을 포함하는 워크플로우 전자 명세 데이터를 생성하는 단계를 더 포함하는 클라우드 인프라스트럭처 기반 분산병렬 응용 워크플로우 서비스 제공 방법
|
14 |
14
제13항에 있어서, 상기 워크플로우 전자명세 데이터에 근거하여 상기 워크플로우 서비스가 서비스 가능한 워크플로우인지 판단하는 단계와,상기 워크플로우 서비스가 서비스 실행이 불가한 것으로 판단되면 상기 클라이언트에 상기 실행이 불가한 것으로 판단된 결과를 통보하는 단계를 더 포함하는 클라우드 인프라스트럭처 기반 분산병렬 응용 워크플로우 서비스 제공 장치
|
15 |
15
제10항에 있어서, 상기 자원 에이전트로 하여금 상기 가상머신 그룹에 배치된 분산병렬 응용 프로그램을 실행시키도록 제어하는 단계는, 상기 가상머신 그룹 각각의 주 가상머신에서 구동되는 상기 자원 에이전트와 통신 회선을 구축하는 단계와,상기 자원 에이전트에 상기 통신 회선을 통해 상기 가상머신 그룹에서 실행될 분산병렬 응용 프로그램 및 상기 프로그램의 입력 데이터를 전송함으로써 상기 가상머신 그룹 각각에 상기 분산병렬 응용 프로그램의 실행 환경 구축을 지시하는 단계와,상기 가상머신 그룹 각각에서 상기 그룹 각각에 전송된 분산병렬 응용 프로그램을 실행시키는 단계를 더 포함하는 클라우드 인프라스트럭처 기반 분산병렬 응용 워크플로우 서비스 제공 방법
|
16 |
16
제10항에 있어서, 상기 워크플로우에 포함된 모든 분산병렬 응용 프로그램의 실행이 완료되면 상기 가상머신 자원의 해지를 상기 클라우드 인프라스트럭처에 요청하는 단계를 더 포함하는 클라우드 인프라스트럭처 기반 분산병렬 응용 워크플로우 서비스 제공 방법
|
17 |
17
복수의 컴퓨터에서 실행되는 다양한 유형의 가상머신 자원을 제공하는 클라우드 인프라스트럭처와,클라이언트로부터 수신된 워크플로우 서비스 요청에 응답하여, 상기 워크플로우 서비스 요청을 분석하여 워크플로우 전자명세 데이터를 생성하고, 상기 워크플로우 전자명세 데이터에 근거하여 상기 워크플로우 서비스 실행에 요구되는 가상머신 그룹 개수를 산출하고 상기 워크플로우 서비스 실행에 포함되는 분산병렬 응용 프로그램 각각을 각 가상머신 그룹에 배치하며, 상기 산출된 가상머신 그룹 개수에 근거하여 상기 클라우드 인프라스트럭처에 상기 산출된 가상머신 그룹으로 그룹화하기 위한 가상머신 자원을 요청하고, 상기 클라우드 인프라스트럭처로부터 제공된 가상머신 자원을 상기 배치된 결과에 따라 가상머신 그룹으로 그룹화하고, 상기 가상머신 그룹에서 상기 분산병렬 응용 프로그램을 실행시키고, 상기 실행 결과를 수집하며, 상기 워크플로우 서비스의 각 단계에서 실행이 요구되는 분산병렬 응용 프로그램을 확인하여 상기 확인된 프로그램의 실행을 상기 자원 관리자에 지시하는 워크플로우 처리 엔진을 포함하는 워크플로우 서비스 서버, 및 상기 가상머신 그룹 내에 포함된 각각의 주 가상머신에서 구동되며, 상기 워크플로우 서비스 서버와 연동하여 상기 그룹 각각에 상기 분산병렬 응용 프로그램을 실행시키고 상기 실행 결과를 상기 워크플로우 서비스 서버에 전송하기 위한 자원 에이전트를 포함하되,상기 워크플로우 서비스 서버는 상기 자원에이전트와 연동하여 상기 가상머신 그룹별 자원 에이전트간에 연결되는 통신 회선을 통해 상기 가상머신 그룹에서 실행될 분산병렬 응용 프로그램 및 상기 프로그램의 입력 데이터를 전송하고, 상기 가상머신 그룹에 상기 프로그램의 실행 환경 구축을 지시하도록 제어하는 것을 특징으로 하는 클라우드 기반 분산병렬 응용 워크플로우 서비스 시스템
|