KR102062037B1 - Apparatus and method of providing a cloud-based batch service - Google Patents

Apparatus and method of providing a cloud-based batch service Download PDF

Info

Publication number
KR102062037B1
KR102062037B1 KR1020180055720A KR20180055720A KR102062037B1 KR 102062037 B1 KR102062037 B1 KR 102062037B1 KR 1020180055720 A KR1020180055720 A KR 1020180055720A KR 20180055720 A KR20180055720 A KR 20180055720A KR 102062037 B1 KR102062037 B1 KR 102062037B1
Authority
KR
South Korea
Prior art keywords
resource
task
cost
partial
batch job
Prior art date
Application number
KR1020180055720A
Other languages
Korean (ko)
Other versions
KR20190131174A (en
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 KR1020180055720A priority Critical patent/KR102062037B1/en
Publication of KR20190131174A publication Critical patent/KR20190131174A/en
Application granted granted Critical
Publication of KR102062037B1 publication Critical patent/KR102062037B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Tourism & Hospitality (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Physics & Mathematics (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Game Theory and Decision Science (AREA)
  • Development Economics (AREA)
  • Educational Administration (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • Data Mining & Analysis (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은 클라우드 기반의 배치 서비스 제공 장치 및 방법에 관한 것으로, 적어도 하나의 가용 클라우드 자원의 비용 특성을 지속적으로 모니터링하는 비용 모니터링부, 사용자 단말로부터 수신된 태스크(Task)의 특성을 분석하여 필요 자원 타입과 필요 사용 시간을 각각 포함하는 적어도 하나의 예상 자원 프로파일을 생성하고 모니터링된 상기 비용 특성을 기초로 상기 적어도 하나의 예상 자원 프로파일 중 하나를 동적으로 결정하여 배치 작업을 생성하는 자원 활용 모니터링부 및 지역 중립적으로 실행될 수 있도록 상기 배치 작업을 중재하는 배치 작업 중재부를 포함한다. 따라서, 본 발명은 클라우드 서비스의 배치 서비스를 활용하여 시스템 확장성을 보장해줄 수 있다.The present invention relates to an apparatus and method for providing a cloud-based deployment service, comprising: a cost monitoring unit continuously monitoring a cost characteristic of at least one available cloud resource, and analyzing a characteristic of a task received from a user terminal; A resource utilization monitoring unit for generating a batch job by generating at least one expected resource profile each including a type and a required usage time, and dynamically determining one of the at least one expected resource profile based on the monitored cost characteristics; And a batch job arbiter to mediate the batch job to be locally neutral. Therefore, the present invention can ensure system scalability by utilizing a deployment service of a cloud service.

Description

클라우드 기반의 배치 서비스 제공 장치 및 방법{APPARATUS AND METHOD OF PROVIDING A CLOUD-BASED BATCH SERVICE}Apparatus and method for providing a cloud-based deployment service {APPARATUS AND METHOD OF PROVIDING A CLOUD-BASED BATCH SERVICE}

본 발명은 클라우드 기반의 배치 서비스 제공 기술에 관한 것으로, 보다 상세하게는 클라우드 서비스의 배치 서비스를 활용하여 시스템 확장성을 보장해줄 수 있는 클라우드 기반의 배치 서비스 제공 장치 및 방법에 관한 것이다.The present invention relates to a cloud-based deployment service providing technology, and more particularly, to a cloud-based deployment service providing apparatus and method that can ensure system scalability by utilizing the deployment service of the cloud service.

빅데이터 분석에 있어서, 대규모 파일의 병렬 전처리 기술은 원본 데이터로부터 의미있는 데이터를 추출함으로써 분석 작업에 활용 가능한 효과를 제공할 수 있다. 대규모 파일의 독립적인 처리를 위해서 과거부터 그리드 컴퓨팅 기술이 널리 활용되어 왔으나, 기존의 그리드 컴퓨팅 시스템은 마스터-워커 노드의 수동 설정을 필요로 하여 데이터 분석 전문가에게는 매우 어려운 작업이라는 문제를 가지고 있다.In big data analysis, parallel preprocessing of large files can provide meaningful effects for analysis by extracting meaningful data from original data. Grid computing technology has been widely used in the past for the independent processing of large files, but existing grid computing systems require manual configuration of the master-walker node, which is a difficult task for data analysis professionals.

클라우드 서비스는 최근 Batch 서비스를 제안하였고, Batch 서비스는 무한대에 가까운 클라우드 자원들을 활용하여 대규모 파일의 병렬 전처리를 가능하게 하는 효과를 가지고 있다. 기존의 클라우드 서비스에서 제공되는 Batch 서비스는 하나의 지역, 예를 들어, 미국 서부, 아시아 한국 등에서 존재하는 자원만을 사용 가능하였다. 또한, 사용자는 본인의 작업에 맞는 인스턴스 타입을 선택할 때 객관적인 평가 지표 보다는 과거 경험에 비추어 적당할 것으로 예상되는 인스턴스 타입을 선택하는 경향이 있기 때문에 최적화된 인스턴스 타입을 선택하여 활용할 수 있는 방법이 요구된다.The cloud service recently proposed a batch service, which has the effect of enabling parallel preprocessing of large-scale files by utilizing infinity cloud resources. Batch service provided by the existing cloud service was able to use only resources existing in one region, for example, the US West, Asia, Korea, and the like. In addition, when selecting an instance type that is suitable for a task, a user tends to select an instance type that is expected to be appropriate based on past experiences rather than an objective evaluation index, so a method of selecting an optimized instance type is required. .

한국등록특허 제10-0826833(2008.12.30)호Korean Patent Registration No. 10-0826833 (2008.12.30)

본 발명의 일 실시예는 클라우드 서비스의 배치 서비스를 활용하여 시스템 확장성을 보장해줄 수 있는 클라우드 기반의 배치 서비스 제공 장치 및 방법을 제공하고자 한다.An embodiment of the present invention is to provide an apparatus and method for providing a cloud-based deployment service that can ensure system scalability by utilizing a deployment service of a cloud service.

본 발명의 일 실시예는 태스크 자원 사용 집중도와 자원 사용 할당량에 따라 최소 비용의 배치 작업을 생성할 수 있는 클라우드 기반의 배치 서비스 제공 장치 및 방법을 제공하고자 한다.An embodiment of the present invention is to provide an apparatus and method for providing a cloud-based deployment service capable of generating a minimum cost deployment task according to task resource use concentration and resource use quota.

본 발명의 일 실시예는 가용 클라우드 자원의 비용 변화를 주기적으로 검출하여 부분 태스크를 이관함으로써 최소 비용의 배치 서비스를 제공할 수 있는 클라우드 기반의 배치 서비스 제공 장치 및 방법을 제공하고자 한다.An embodiment of the present invention is to provide a cloud-based deployment service providing apparatus and method that can provide a minimum cost deployment service by periodically detecting the change in the cost of available cloud resources and transferring partial tasks.

실시예들 중에서, 클라우드 기반의 배치 서비스 제공 장치는 적어도 하나의 가용 클라우드 자원의 비용 특성을 지속적으로 모니터링하는 비용 모니터링부, 사용자 단말로부터 수신된 태스크(Task)의 특성을 분석하여 필요 자원 타입과 필요 사용 시간을 각각 포함하는 적어도 하나의 예상 자원 프로파일을 생성하고 상기 비용 특성을 기초로 상기 적어도 하나의 예상 자원 프로파일 중 하나를 동적으로 결정하여 배치 작업을 생성하는 자원 활용 모니터링부 및 지역 중립적으로 실행될 수 있도록 상기 배치 작업을 중재하는 배치 작업 중재부를 포함한다.Among the embodiments, the cloud-based deployment service providing apparatus is a cost monitoring unit for continuously monitoring the cost characteristics of at least one available cloud resource, by analyzing the characteristics of the task (Task) received from the user terminal required resource type and needs A resource utilization monitoring unit and regionally neutral may be executed to generate at least one expected resource profile each including a usage time, and dynamically determine one of the at least one expected resource profile based on the cost characteristic to generate a batch job. And a batch job arbiter to mediate the batch job.

상기 비용 모니터링부는 결정된 상기 예상 자원 프로파일을 기초로 상기 적어도 하나의 가용 클라우드 자원 중 적어도 하나의 후보 가용 클라우드 자원을 결정할 수 있다.The cost monitoring unit may determine at least one candidate available cloud resource among the at least one available cloud resource based on the determined expected resource profile.

상기 비용 모니터링부는 상기 적어도 하나의 후보 가용 클라우드 자원의 비용 변화를 주기적으로 검출하여 상기 태스크에 있는 부분 태스크의 이관 필요성을 결정할 수 있다.The cost monitoring unit may periodically detect a change in the cost of the at least one candidate available cloud resource to determine a necessity for migration of the partial task in the task.

상기 자원 활용 모니터링부는 상기 태스크의 자원 사용 집중도와 자원 사용 할당량을 기초로 상기 적어도 하나의 예상 자원 프로파일을 생성할 수 있다.The resource utilization monitoring unit may generate the at least one expected resource profile based on the resource use concentration degree and the resource use quota of the task.

상기 자원 활용 모니터링부는 상기 태스크를 복수의 부분 태스크들로 분할하고 상기 복수의 부분 태스크들 각각에 대한 상기 자원 사용 집중도와 상기 자원 사용 할당량을 기초로 상기 적어도 하나의 예상 자원 프로파일을 생성할 수 있다.The resource utilization monitoring unit may divide the task into a plurality of partial tasks and generate the at least one expected resource profile based on the resource use concentration and the resource use quota for each of the plurality of partial tasks.

상기 자원 활용 모니터링부는 상기 적어도 하나의 예상 자원 프로파일에 대해 상기 복수의 부분 태스크들 각각의 비용을 산출하고 상기 복수의 부분 태스크들 각각 단위로 최소 비용을 가지도록 상기 배치 작업을 생성할 수 있다.The resource utilization monitoring unit may generate the batch job to calculate a cost of each of the plurality of partial tasks for the at least one expected resource profile and to have a minimum cost for each of the plurality of partial tasks.

상기 자원 활용 모니터링부는 상기 복수의 부분 태스크들 중 종속 관계를 가지는 종속 부분 태스크들을 결정하고, 상기 종속 부분 태스크들 각각의 평균 비용을 가지도록 상기 배치 작업을 생성할 수 있다.The resource utilization monitoring unit may determine dependent partial tasks having a dependency relationship among the plurality of partial tasks, and generate the batch job to have an average cost of each of the dependent partial tasks.

상기 배치 작업 중재부는 상기 태스크에 있는 복수의 부분 태스크들 및 상기 적어도 하나의 가용 클라우드 자원 간의 최소 비용 매칭으로 상기 배치 작업에 대한 구성(configuration) 파일을 생성할 수 있다.The batch job arbiter may generate a configuration file for the batch job with minimum cost matching between the plurality of partial tasks in the task and the at least one available cloud resource.

상기 배치 작업 중재부는 상기 적어도 하나의 가용 클라우드 자원에게 상기 구성 파일을 배포하여 상기 배치 작업의 실행을 중재할 수 있다.The batch job arbiter may mediate execution of the batch job by distributing the configuration file to the at least one available cloud resource.

상기 배치 작업 중재부는 상기 태스크에 있는 부분 태스크의 이관 필요성이 결정되면 해당 부분 태스크의 종속 관계 여부를 검출할 수 있다.The batch job arbiter may detect whether the partial task is dependent when the necessity of the migration of the partial task in the task is determined.

상기 배치 작업 중재부는 상기 해당 부분 태스크에 종속된 다른 부분 태스크가 있는 경우에는 상기 해당 부분 태스크 및 종속된 상기 다른 부분 태스크를 이관 필요성 있는 후보 가용 클라우드 자원에 이관할 수 있다.When there is another partial task that is dependent on the corresponding partial task, the batch job arbiter may transfer the corresponding partial task and the other partial task dependent on the candidate available cloud resource that needs to be transferred.

실시예들 중에서, 클라우드 기반의 배치 서비스 제공 방법은 적어도 하나의 가용 클라우드 자원의 비용 특성을 지속적으로 모니터링하는 단계, 사용자 단말로부터 수신된 태스크(Task)의 특성을 분석하여 필요 자원 타입과 필요 사용 시간을 각각 포함하는 적어도 하나의 예상 자원 프로파일을 생성하고 상기 비용 특성을 기초로 상기 적어도 하나의 예상 자원 프로파일 중 하나를 동적으로 결정하여 배치 작업을 생성하는 단계 및 지역 중립적으로 실행될 수 있도록 상기 배치 작업을 중재하는 단계를 포함한다.Among the embodiments, the cloud-based deployment service providing method continuously monitoring the cost characteristics of at least one available cloud resource, by analyzing the characteristics of the task (Task) received from the user terminal required resource type and the required usage time Generating at least one expected resource profile each comprising: dynamically determining one of the at least one expected resource profile based on the cost characteristic to generate a batch job and performing the batch job to be locally neutrally executed. Intervening.

개시된 기술은 다음의 효과를 가질 수 있다. 다만, 특정 실시예가 다음의 효과를 전부 포함하여야 한다거나 다음의 효과만을 포함하여야 한다는 의미는 아니므로, 개시된 기술의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.The disclosed technique can have the following effects. However, since a specific embodiment does not mean to include all of the following effects or only the following effects, it should not be understood that the scope of the disclosed technology is limited by this.

본 발명의 일 실시예에 따른 클라우드 기반의 배치 서비스 제공 장치 및 방법은 태스크 자원 사용 집중도와 자원 사용 할당량에 따라 최소 비용의 배치 작업을 생성할 수 있다.The apparatus and method for providing a cloud-based deployment service according to an embodiment of the present invention may generate a minimum cost deployment job according to task resource use concentration and resource use quota.

본 발명의 일 실시예에 따른 클라우드 기반의 배치 서비스 제공 장치 및 방법은 가용 클라우드 자원의 비용 변화를 주기적으로 검출하여 부분 태스크를 이관함으로써 최소 비용의 배치 서비스를 제공할 수 있다.The apparatus and method for providing a cloud-based deployment service according to an embodiment of the present invention may provide a deployment service with a minimum cost by periodically detecting a change in cost of available cloud resources and transferring a partial task.

도 1은 본 발명의 일 실시예에 따른 클라우드 기반의 배치 서비스 제공 시스템을 설명하는 도면이다.
도 2는 도 1에 있는 배치 서비스 제공 장치를 설명하는 블록도이다.
도 3은 도 1에 있는 배치 서비스 제공 장치에서 수행되는 배치 서비스 제공 과정을 설명하는 순서도이다.
도 4는 본 발명의 일 실시예에 따른 클라우드 기반의 배치 서비스 제공 장치의 전체적인 개요를 설명하는 도면이다.
1 is a view for explaining a cloud-based deployment service providing system according to an embodiment of the present invention.
FIG. 2 is a block diagram illustrating an arrangement service providing apparatus of FIG. 1.
3 is a flowchart illustrating a batch service providing process performed in the batch service providing apparatus of FIG. 1.
4 is a view for explaining the overall overview of the cloud-based deployment service providing apparatus according to an embodiment of the present invention.

본 발명에 관한 설명은 구조적 내지 기능적 설명을 위한 실시예에 불과하므로, 본 발명의 권리범위는 본문에 설명된 실시예에 의하여 제한되는 것으로 해석되어서는 아니 된다. 즉, 실시예는 다양한 변경이 가능하고 여러 가지 형태를 가질 수 있으므로 본 발명의 권리범위는 기술적 사상을 실현할 수 있는 균등물들을 포함하는 것으로 이해되어야 한다. 또한, 본 발명에서 제시된 목적 또는 효과는 특정 실시예가 이를 전부 포함하여야 한다거나 그러한 효과만을 포함하여야 한다는 의미는 아니므로, 본 발명의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.Description of the present invention is only an embodiment for structural or functional description, the scope of the present invention should not be construed as limited by the embodiments described in the text. That is, since the embodiments may be variously modified and may have various forms, the scope of the present invention should be understood to include equivalents capable of realizing the technical idea. In addition, the objects or effects presented in the present invention does not mean that a specific embodiment should include all or only such effects, the scope of the present invention should not be understood as being limited thereby.

한편, 본 출원에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.On the other hand, the meaning of the terms described in the present application should be understood as follows.

"제1", "제2" 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로, 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.Terms such as "first" and "second" are intended to distinguish one component from another component, and the scope of rights should not be limited by these terms. For example, the first component may be named a second component, and similarly, the second component may also be named a first component.

어떤 구성요소가 다른 구성요소에 "연결되어"있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결될 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어"있다고 언급된 때에는 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 한편, 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.When a component is referred to as being "connected" to another component, it should be understood that there may be other components in between, although it may be directly connected to the other component. On the other hand, when a component is referred to as being "directly connected" to another component, it should be understood that there is no other component in between. On the other hand, other expressions describing the relationship between the components, such as "between" and "immediately between" or "neighboring to" and "directly neighboring", should be interpreted as well.

단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함하다" 또는 "가지다" 등의 용어는 실시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Singular expressions should be understood to include plural expressions unless the context clearly indicates otherwise, and terms such as "comprise" or "have" refer to a feature, number, step, operation, component, part or implementation thereof. It is to be understood that the combination is intended to be present and does not exclude in advance the possibility of the presence or addition of one or more other features or numbers, steps, operations, components, parts or combinations thereof.

각 단계들에 있어 식별부호(예를 들어, a, b, c 등)는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 단계들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.In each step, an identification code (e.g., a, b, c, etc.) is used for convenience of description, and the identification code does not describe the order of the steps, and each step clearly indicates a specific order in context. Unless stated otherwise, they may occur out of the order noted. That is, each step may occur in the same order as specified, may be performed substantially simultaneously, or may be performed in the reverse order.

본 발명은 컴퓨터가 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현될 수 있고, 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치, 플래시 메모리 등이 있다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.The present invention can be embodied as computer readable code on a computer readable recording medium, and the computer readable recording medium includes all kinds of recording devices in which data can be read by a computer system. . Examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage device, flash memory, and the like. The computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.

여기서 사용되는 모든 용어들은 다르게 정의되지 않는 한, 본 발명이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한 이상적이거나 과도하게 형식적인 의미를 지니는 것으로 해석될 수 없다.All terms used herein have the same meaning as commonly understood by one of ordinary skill in the art unless otherwise defined. Generally, the terms defined in the dictionary used are to be interpreted to coincide with the meanings in the context of the related art, and should not be interpreted as having ideal or excessively formal meanings unless clearly defined in the present application.

도 1은 본 발명의 일 실시예에 따른 클라우드 기반의 배치 서비스 제공 시스템을 설명하는 도면이다.1 is a view for explaining a cloud-based deployment service providing system according to an embodiment of the present invention.

도 1을 참조하면, 클라우드 기반의 배치 서비스 제공 장치 시스템(100)은 사용자 단말(110), 배치 서비스 제공 장치(130) 및 데이터베이스(150)을 포함할 수 있다.Referring to FIG. 1, the cloud-based batch service providing apparatus system 100 may include a user terminal 110, a batch service providing apparatus 130, and a database 150.

사용자 단말(110)은 상호 독립적인 대용량 파일의 병렬 처리를 요청하고 이를 위한 배치 서비스를 이용할 수 있는 컴퓨팅 장치에 해당하고, 스마트폰, 노트북 또는 컴퓨터로 구현될 수 있으며, 반드시 이에 한정되지 않고, 태블릿 PC 등 다양한 디바이스로도 구현될 수 있다. 사용자 단말(110)은 배치 서비스 제공 장치(130)와 네트워크를 통해 연결될 수 있고, 적어도 하나의 사용자 단말(110)은 배치 서비스 제공 장치(130)와 동시에 연결될 수 있다.The user terminal 110 corresponds to a computing device that may request parallel processing of mutually independent large files and use a batch service for the same, and may be implemented as a smartphone, a notebook, or a computer, but is not limited thereto. It can also be implemented in various devices such as a PC. The user terminal 110 may be connected to the batch service providing apparatus 130 through a network, and at least one user terminal 110 may be simultaneously connected to the batch service providing apparatus 130.

배치 서비스 제공 장치(130)는 사용자 단말(110)로부터 수신한 배치 작업 처리 요청에 따라 여러 지역에 존재하는 가용 클라우드 자원을 활용하여 경제적인 배치 서비스를 제공할 수 있는 컴퓨터 또는 프로그램에 해당하는 서버로 구현될 수 있다. 배치 서비스 제공 장치(130)는 사용자 단말(110)과 블루투스, WiFi 등을 통해 무선으로 연결될 수 있고, 네트워크를 통해 사용자 단말(110)과 데이터를 주고 받을 수 있다.The batch service providing apparatus 130 may be a server corresponding to a computer or a program capable of providing an economical batch service by using available cloud resources existing in various regions according to a batch job processing request received from the user terminal 110. Can be implemented. The batch service providing apparatus 130 may be wirelessly connected to the user terminal 110 through Bluetooth, WiFi, or the like, and may exchange data with the user terminal 110 through a network.

배치 서비스 제공 장치(130)는 데이터베이스(150)를 포함하여 구현될 수 있고, 데이터베이스(150)와 별도로 구현될 수 있다. 데이터베이스(150)와 별도로 구현된 경우 배치 서비스 제공 장치(130)는 데이터베이스(150)와 연결되어 데이터를 송수신할 수 있다.The batch service providing apparatus 130 may be implemented including a database 150 and may be implemented separately from the database 150. When implemented separately from the database 150, the batch service providing apparatus 130 may be connected to the database 150 to transmit and receive data.

데이터베이스(150)는 배치 서비스 제공 장치(130)가 사용자 단말(110)로부터 수신한 배치 작업 처리 요청에 따라 여러 지역에 존재하는 가용 클라우드 자원을 활용하여 경제적인 배치 서비스를 제공하기 위해 사용하는 다양한 정보들을 저장할 수 있다. 예를 들어, 데이터베이스(150)는 여러 지역에 걸쳐 분포하는 가용 클라우드 자원의 비용 특성을 지속적으로 모니터링하여 수집한 정보를 저장할 수 있고, 사용자 단말로부터 수신된 태스크(Task)를 분석하여 생성한 예상 자원 프로파일 정보를 저장할 수 있으며, 반드시 이에 한정되지 않고, 경제적인 배치 서비스를 제공하는 과정에서 다양한 형태로 수집 또는 가공된 정보들을 저장할 수 있다.The database 150 is a variety of information used by the batch service providing apparatus 130 to provide an economical batch service by utilizing available cloud resources existing in various regions according to a batch job processing request received from the user terminal 110. You can save them. For example, the database 150 may store information collected by continuously monitoring the cost characteristics of available cloud resources distributed in various regions, and may be generated by analyzing a task received from a user terminal. Profile information may be stored, and the present invention is not limited thereto, and information collected or processed in various forms may be stored in the process of providing an economical batch service.

데이터베이스(150)는 특정 범위에 속하는 정보들을 저장하는 적어도 하나의 독립된 서브-데이터베이스들로 구성될 수 있고, 적어도 하나의 독립된 서브-데이터베이스들이 하나로 통합된 통합 데이터베이스로 구성될 수 있다. 적어도 하나의 독립된 서브-데이터베이스들로 구성되는 경우에는 각각의 서브-데이터베이스들은 블루투스, WiFi, LTE 등을 통해 무선으로 연결될 수 있고, Ethernet 등의 유선 네트워크를 통해 상호 간의 데이터를 주고 받을 수 있다. 통합 데이터베이스로 구성되는 경우에는 각각의 서브-데이터베이스들을 하나로 통합하고 상호 간의 데이터 교환 및 제어 흐름을 관리하는 제어부를 포함할 수 있다.The database 150 may be composed of at least one independent sub-databases that store information belonging to a specific range, and may be configured as an integrated database in which at least one independent sub-databases are integrated into one. When composed of at least one independent sub-database, each sub-database may be wirelessly connected through Bluetooth, WiFi, LTE, and the like, and may exchange data with each other through a wired network such as Ethernet. In the case of an integrated database, the sub-databases may be integrated into one and may include a control unit for managing data exchange and control flow between the sub-databases.

도 2는 도 1에 있는 배치 서비스 제공 장치를 설명하는 블록도이다.FIG. 2 is a block diagram illustrating an arrangement service providing apparatus of FIG. 1.

배치 서비스 제공 장치(130)는 비용 모니터링부(210), 자원 활용 모니터링부(230), 배치 작업 중재부(250) 및 제어부(270)를 포함할 수 있다.The batch service providing apparatus 130 may include a cost monitoring unit 210, a resource utilization monitoring unit 230, a batch job arbiter 250, and a controller 270.

비용 모니터링부(210)는 적어도 하나의 가용 클라우드 자원의 비용 특성을 지속적으로 모니터링할 수 있다. 비용 모니터링부(210)는 네트워크를 통해 전세계에 분포해 있는 가용 클라우드 자원으로부터 가격 정보를 수신하여 데이터베이스(150)에 저장할 수 있다. 만약 동일한 클라우드 자원에 대한 가격 정보가 데이터베이스(150)에 이미 저장되어 있는 경우 가장 최신의 가격 정보로 갱신할 수 있다.The cost monitoring unit 210 may continuously monitor the cost characteristics of at least one available cloud resource. The cost monitoring unit 210 may receive price information from available cloud resources distributed around the world through the network and store the price information in the database 150. If price information for the same cloud resource is already stored in the database 150, it may be updated to the latest price information.

일 실시예에서, 비용 모니터링부(210)는 일정 지역 범위를 관리하는 데이터 센터로부터 해당 지역 범위 내에 존재하는 가용 클라우드 자원에 대한 비용 특성을 수신하여 모니터링을 수행할 수 있다. 비용 특성은 클라우드 자원을 사용하기 위하여 클라우드 서비스 업체에 제공하는 비용 정보에 해당할 수 있고, 해당 클라우드 자원이 제공하는 다양한 구성별로 산정된 비용 정보에 해당할 수 있다.In one embodiment, the cost monitoring unit 210 may perform the monitoring by receiving the cost characteristics for the available cloud resources existing in the area range from the data center managing a certain area range. The cost characteristic may correspond to cost information provided to a cloud service provider to use cloud resources, and may correspond to cost information calculated by various configurations provided by the cloud resource.

일 실시예에서, 비용 모니터링부(210)는 정가형 클라우드 자원 및 할인형 클라우드 자원을 포함하는 가용 클라우드 자원의 비용 특성을 모니터링할 수 있다. 클라우드 서비스 제공 업체는 클라우드 자원의 구성 내용에 따라 다양한 형태로 비용을 산정할 수 있고, 클라우드 자원 사용량에 상관없이 해당 클라우드 자원을 사용하면 고정된 비용을 지불해야 하는 정가형 클라우드 자원과 클라우드 자원을 사용하는 상황을 반영하여 다양한 할인 옵션을 제공하는 할인형 클라우드 자원으로 크게 분류하여 서비스를 제공하고 있다. 예를 들어, 할인형 클라우드 자원은 유휴 자원, Spot instance in AWS 및 Low priority VM in Azure 등을 포함할 수 있다.In one embodiment, the cost monitoring unit 210 may monitor the cost characteristics of available cloud resources, including the list price cloud resources and discounted cloud resources. Cloud service providers can estimate costs in a variety of forms depending on the composition of the cloud resources, and use cloud resources and cloud resources that require a fixed fee for using those cloud resources regardless of cloud resource usage. Reflecting the situation, the service is classified into discount cloud resources that provide various discount options. For example, discounted cloud resources may include idle resources, Spot instance in AWS and Low priority VM in Azure.

일 실시예에서, 비용 모니터링부(210)는 자원 활용 모니터링부(230)에 의해 결정된 예상 자원 프로파일을 기초로 적어도 하나의 가용 클라우드 자원 중 적어도 하나의 후보 가용 클라우드 자원을 결정할 수 있다. 후보 가용 클라우드 자원은 가용 클라우드 자원 중에서 지속적으로 비용 특성을 모니터링할 대상이 되는 클라우드 자원에 해당할 수 있다. 비용 모니터링부(210)는 예상 자원 프로파일과 연관된 클라우드 자원만을 모니터링함으로써 비용 특성 모니터링에 소모되는 자원을 줄일 수 있다.In one embodiment, the cost monitoring unit 210 may determine at least one candidate available cloud resource among at least one available cloud resource based on the expected resource profile determined by the resource utilization monitoring unit 230. The candidate available cloud resources may correspond to cloud resources that are continuously monitored for cost characteristics among the available cloud resources. The cost monitoring unit 210 may reduce resources consumed for cost characteristic monitoring by monitoring only cloud resources associated with the expected resource profile.

일 실시예에서, 비용 모니터링부(210)는 적어도 하나의 후보 가용 클라우드 자원의 비용 변화를 주기적으로 검출하여 태스크에 있는 부분 태스크의 이관 필요성을 결정할 수 있다. 하나의 태스크는 복수의 부분 태스크들로 구성될 수 있고, 태스크의 특성에 따라 독립적인 부분 태스크들로 분할되어 병렬적으로 처리될 수 있다. 비용 모니터링부(210)는 가용 클라우드 자원의 비용 변화가 검출된 경우 부분 태스크 처리 비용을 산출하여 다른 가용 클라우드 자원으로의 이관 필요성이 있는지 결정할 수 있다. 여기에서, 이관은 특정 클라우드 자원에서 다른 클라우드 자원으로 태스크의 처리를 옮기는 것을 의미한다.In one embodiment, the cost monitoring unit 210 may periodically detect the change in the cost of the at least one candidate available cloud resource to determine the need to transfer the partial task in the task. One task may be composed of a plurality of partial tasks, and may be divided into independent partial tasks and processed in parallel according to characteristics of the task. When the cost change of the available cloud resources is detected, the cost monitoring unit 210 may calculate a partial task processing cost and determine whether there is a need for migration to other available cloud resources. Here, escalation means moving a task's processing from one cloud resource to another cloud resource.

자원 활용 모니터링부(230)는 사용자 단말로(110)부터 수신된 태스크(Task)의 특성을 분석하여 필요 자원 타입과 필요 사용 시간을 각각 포함하는 적어도 하나의 예상 자원 프로파일을 생성하고 모니터링된 비용 특성을 기초로 적어도 하나의 예상 자원 프로파일 중 하나를 동적으로 결정하여 배치 작업을 생성할 수 있다. 태스크(Task)는 사용자 단말(110)에서 수행할 수 있는 다양한 형태의 컴퓨팅 작업에 해당할 수 있고, 배치 작업은 태스크를 처리하기 위하여 해당 태스크를 구성하는 부분 태스크들의 정보, 부분 태스크들을 처리하는 클라우드 자원 정보 및 부분 태스크들의 처리 순서 및 시간 등의 정보를 포함하여 구성될 수 있다.The resource utilization monitoring unit 230 analyzes the characteristics of the task received from the user terminal 110 to generate at least one expected resource profile including the required resource type and the required usage time, respectively, and the monitored cost characteristics. Based on this, one of the at least one expected resource profile may be dynamically determined to generate a batch job. The task may correspond to various types of computing tasks that may be performed in the user terminal 110, and the batch task may be a cloud that processes information and partial tasks of the partial tasks configuring the task to process the task. It may be configured to include information such as resource information and processing order and time of the partial tasks.

일 실시예에서, 자원 활용 모니터링부(230)는 태스크의 자원 사용 집중도와 자원 사용 할당량을 기초로 적어도 하나의 예상 자원 프로파일을 생성할 수 있다. 자원 사용 집중도는 태스크 특성에 따라 태스크 처리에 필요한 자원, 즉 CPU, 네트워크, 메모리, I/O 및 스토리지 중 어느 하나에 집중되는 정도를 의미한다. 자원 사용 할당량은 태스크의 처리를 위해 사용하는 자원의 요구량에 해당한다. 자원 활용 모니터링부(230)는 태스크의 자원 사용 집중도를 기초로 필요 자원 타입을 결정하고 자원 사용 할당량을 기초로 필요 사용 시간을 결정함으로써 예상 자원 프로파일을 생성할 수 있다.In one embodiment, the resource utilization monitoring unit 230 may generate at least one expected resource profile based on the resource use concentration and the resource use quota of the task. Resource usage concentration refers to the degree of concentration of resources required for task processing, such as CPU, network, memory, I / O, and storage, depending on task characteristics. The resource usage quota corresponds to the amount of resource used for processing the task. The resource utilization monitoring unit 230 may generate the expected resource profile by determining the required resource type based on the resource use concentration degree of the task and determining the required use time based on the resource use quota.

일 실시예에서, 자원 활용 모니터링부(230)는 태스크를 복수의 부분 태스크들로 분할하고 복수의 부분 태스크들 각각에 대한 자원 사용 집중도와 자원 사용 할당량을 기초로 적어도 하나의 예상 자원 프로파일을 생성할 수 있다. 태스크는 복수의 부분 태스크들로 구성될 수 있고, 태스크의 특성에 따라 복수의 부분 태스크들로 분할될 수 있다. 자원 활용 모니터링부(230)는 부분 태스크들로 분할 가능한 태스크에 대하여 복수의 부분 태스크들 각각에 대한 필요 자원 타입과 필요 사용 시간을 결정함으로써 예상 자원 프로파일을 생성할 수 있다.In one embodiment, the resource utilization monitoring unit 230 divides the task into a plurality of partial tasks and generates at least one expected resource profile based on resource usage concentration and resource usage quota for each of the plurality of partial tasks. Can be. The task may be composed of a plurality of partial tasks, and may be divided into a plurality of partial tasks according to the characteristics of the task. The resource utilization monitoring unit 230 may generate an expected resource profile by determining a required resource type and a required use time for each of the plurality of partial tasks with respect to the task that is divided into partial tasks.

일 실시예에서, 자원 활용 모니터링부(230)는 적어도 하나의 예상 자원 프로파일에 대해 복수의 부분 태스크들 각각의 비용을 산출하고 복수의 부분 태스크들 각각 단위로 최소 비용을 가지도록 배치 작업을 생성할 수 있다. 보다 구체적으로, 자원 활용 모니터링부(230)는 복수의 부분 태스크들 각각을 처리하기 위해 사용하는 클라우드 자원의 비용 특성을 기초로 부분 태스크들 각각의 비용을 산출할 수 있고, 각각의 비용이 최소가 되는 클라우드 자원의 조합을 결정함으로써 하나의 태스크의 처리를 위해 요구되는 클라우드 자원의 총 비용을 최소화할 수 있다.In one embodiment, the resource utilization monitoring unit 230 calculates the cost of each of the plurality of partial tasks for the at least one expected resource profile and generates a batch job to have a minimum cost in each of the plurality of partial tasks. Can be. More specifically, the resource utilization monitoring unit 230 may calculate the cost of each of the partial tasks based on the cost characteristic of the cloud resource used to process each of the plurality of partial tasks, and each cost is a minimum price. By determining the combination of cloud resources to be minimized, the total cost of the cloud resources required for processing of one task can be minimized.

일 실시예에서, 자원 활용 모니터링부(230)는 복수의 부분 태스크들 중 종속 관계를 가지는 종속 부분 태스크들을 결정하고, 종속 부분 태스크들 각각의 평균 비용을 가지도록 배치 작업을 생성할 수 있다. 여기에서, 종속 관계는 부분 태스크들 간의 논리 관계로서 하나의 부분 태스크의 처리를 위해서 해당 부분 태스크의 처리 전 또는 후에 필수적으로 처리가 필요한 부분 태스크가 존재하는 경우 해당 부분 태스크 및 필수적으로 처리가 필요한 부분 태스크 간의 관계가 종속 관계에 해당할 수 있다.In an embodiment, the resource utilization monitoring unit 230 may determine dependent partial tasks having a dependency relationship among a plurality of partial tasks, and generate a batch job to have an average cost of each of the dependent partial tasks. Here, the dependency relationship is a logical relationship between the partial tasks, when there is a partial task that needs to be processed before or after the processing of the partial task for the processing of one partial task, the corresponding partial task and the required processing portion. Relationships between tasks may correspond to dependency relationships.

자원 활용 모니터링부(230)는 부분 태스크들 중에서 종속 관계를 가지는 종속 부분 태스크들을 결정할 수 있고, 종속 부분 태스크들 각각의 비용을 산출하여 종속 부분 태스크들의 평균 비용을 산출할 수 있다. 자원 활용 모니터링부(230)는 종속 부분 태스크들 각각의 평균 비용을 기초로 배치 작업을 생성할 수 있다.The resource utilization monitoring unit 230 may determine dependent partial tasks having a dependency relationship among the partial tasks, and calculate an average cost of the dependent partial tasks by calculating a cost of each of the dependent partial tasks. The resource utilization monitoring unit 230 may generate a batch job based on the average cost of each of the dependent partial tasks.

배치 작업 중재부(250)는 지역 중립적으로 실행될 수 있도록 배치 작업을 중재할 수 있다. 여기에서, 배치 작업을 중재한다는 것은 배치 작업의 실행을 위하여 배치 작업에 필요한 가용 클라우드 자원들에게 배치 작업 실행에 필요한 구성 파일을 배포함으로써 각 가용 클라우드 자원들이 배치 작업을 병렬적으로 실행하거나 또는 정해진 순서에 맞춰 실행할 수 있도록 중재하는 것을 의미할 수 있다. 또한, 배치 작업을 중재한다는 것은 배치 작업의 실행 도중 비용 상의 이점을 갖는 다른 가용 클라우드 자원이 검출된 경우 해당 배치 작업의 실행을 중지시키고 비용 상의 이점을 갖는 다른 가용 클라우드 자원으로의 해당 배치 작업의 이관을 수행하는 것을 의미할 수 있다.The batch job arbitration unit 250 may mediate the batch job so that it may be executed locally. Here, arbitrating a batch job means that each available cloud resource executes the batch job in parallel, or in a predetermined order, by distributing the configuration files needed to run the batch job to the available cloud resources required for the batch job to execute the batch job. This might mean arbitrating to run accordingly. In addition, arbitrating a batch job means that if another available cloud resource with a cost advantage is detected during the execution of the batch job, the execution of the batch job is stopped and the migration of the batch job to another available cloud resource with a cost advantage. It may mean to perform.

일 실시예에서, 배치 작업 중재부(250)는 태스크에 있는 복수의 부분 태스크들 및 적어도 하나의 가용 클라우드 자원 간의 최소 비용 매칭으로 배치 작업에 대한 구성(configuration) 파일을 생성할 수 있다. 구성 파일은 처리되어야 할 복수의 부분 태스크들 정보 및 각 부분 태스크들을 처리할 가용 클라우드 자원에 관한 정보들을 포함할 수 있다. 최소 비용 매칭은 부분 태스크들 및 적어도 하나의 가용 클라우드 자원 간의 매칭으로서 모든 부분 태스크들을 처리하는데 소요되는 비용의 총합이 최소가 되도록 하는 매칭 조합에 해당할 수 있다. In one embodiment, the batch job arbiter 250 may generate a configuration file for the batch job with minimum cost matching between the plurality of partial tasks in the task and at least one available cloud resource. The configuration file may include a plurality of partial tasks information to be processed and information about available cloud resources to process each partial task. The minimum cost matching may correspond to a matching combination such that a match between the partial tasks and the at least one available cloud resource is the minimum sum of the costs for processing all the partial tasks.

일 실시예에서, 배치 작업 중재부(250)는 적어도 하나의 가용 클라우드 자원에게 구성 파일을 배포하여 배치 작업의 실행을 중재할 수 있다. 배치 작업 중재부(250)는 배치 작업에 대한 구성 파일을 생성하여 이를 배포함으로써 배치 작업이 다른 지역에 위치한 다른 유형의 클라우드 자원에서도 원활하게 실행될 수 있도록 할 수 있다.In one embodiment, the batch job arbiter 250 may mediate execution of the batch job by distributing a configuration file to at least one available cloud resource. The batch job arbiter 250 may generate a configuration file for the batch job and distribute the configuration file so that the batch job may be smoothly executed on other types of cloud resources located in different regions.

일 실시예에서, 배치 작업 중재부(250)는 태스크에 있는 부분 태스크의 이관 필요성이 결정되면 해당 부분 태스크의 종속 관계 여부를 검출할 수 있다. 비용 모니터링부(210)에 의하여 지속적으로 부분 태스크의 처리에 필요한 가용 클라우드 자원의 비용 변화를 검출할 수 있고, 배치 작업 중재부는 비용 모니터링부(210)에 의해 이관 필요성이 결정된 부분 태스크가 발생한 경우 해당 부분 태스크의 종속 관계 여부를 검출할 수 있다.In one embodiment, the batch job arbiter 250 may detect whether the partial task is dependent when the necessity of migration of the partial task in the task is determined. The cost monitoring unit 210 may continuously detect the cost change of available cloud resources required for the processing of the partial task, and the batch job arbitration unit may perform the partial task where the necessity of the transfer is determined by the cost monitoring unit 210. It is possible to detect whether or not the partial tasks are dependent.

일 실시예에서, 배치 작업 중재부(250)는 해당 부분 태스크에 종속된 다른 부분 태스크가 있는 경우에는 상기 해당 부분 태스크 및 종속된 상기 다른 부분 태스크를 이관 필요성 있는 후보 가용 클라우드 자원에 이관할 수 있다. 배치 작업 중재부(250)는 종속 관계에 있는 부분 태스크들을 함께 이관함으로써 이관된 부분 태스크가 정상적으로 처리되도록 할 수 있고, 각 가용 클라우드 자원들에서 처리된 부분 태스크 처리 결과를 하나로 통합하여 최종 처리 결과를 도출하는 과정에서 오류 또는 비정상적인 결과가 발생하는 것을 방지할 수 있다.In one embodiment, when there is another partial task that depends on the partial task, the batch job arbiter 250 may migrate the corresponding partial task and the other partial tasks that depend on the candidate available cloud resource that needs to be transferred. . The batch job arbiter 250 may transfer the partial tasks in the dependent relationship together so that the transferred partial tasks are processed normally. The batch task arbitration unit 250 integrates the partial task processing results processed in each available cloud resource into one to finalize the final processing result. Error or abnormal results can be prevented from being derived.

제어부(270)는 배치 서비스 제공 장치(130)의 전체적인 동작을 제어하고, 비용 모니터링부(210), 자원 활용 모니터링부(230) 및 배치 작업 중재부(250) 간의 제어 흐름 또는 데이터 흐름을 관리할 수 있다.The controller 270 controls the overall operation of the batch service providing apparatus 130 and manages a control flow or data flow between the cost monitoring unit 210, the resource utilization monitoring unit 230, and the batch job arbiter 250. Can be.

도 3은 도 1에 있는 배치 서비스 제공 장치에서 수행되는 배치 서비스 제공 과정을 설명하는 순서도이다.3 is a flowchart illustrating a batch service providing process performed in the batch service providing apparatus of FIG. 1.

도 3을 참조하면, 배치 서비스 제공 장치(130)는 비용 모니터링부(210)를 통해 적어도 하나의 가용 클라우드 자원의 비용 특성을 지속적으로 모니터링할 수 있다(단계 S310). 배치 서비스 제공 장치(130)는 자원 활용 모니터링부(230)를 통해 사용자 단말로부터 수신된 태스크(Task)의 특성을 분석하여 필요 자원 타입과 필요 사용 시간을 각각 포함하는 적어도 하나의 예상 자원 프로파일을 생성하고 모니터링된 비용 특성을 기초로 적어도 하나의 예상 자원 프로파일 중 하나를 동적으로 결정하여 배치 작업을 생성할 수 있다(단계 S330). 배치 서비스 제공 장치(130)는 배치 작업 중재부(250)를 통해 자원 활용 모니터링부(230)에 의해 생성된 배치 작업이 지역 중립적으로 실행될 수 있도록 배치 작업을 중재 할 수 있다(단계 S350).Referring to FIG. 3, the batch service providing apparatus 130 may continuously monitor cost characteristics of at least one available cloud resource through the cost monitoring unit 210 (step S310). The batch service providing apparatus 130 analyzes the characteristics of the task received from the user terminal through the resource utilization monitoring unit 230 and generates at least one expected resource profile each including a required resource type and a required usage time. And dynamically determine one of the at least one expected resource profile based on the monitored cost characteristic to generate a batch job (step S330). The batch service providing apparatus 130 may mediate the batch job so that the batch job generated by the resource utilization monitoring unit 230 may be locally neutralized through the batch job arbiter 250 (step S350).

도 4는 본 발명의 일 실시예에 따른 클라우드 기반의 배치 서비스 제공 장치의 전체적인 개요를 설명하는 도면이다.4 is a view for explaining the overall overview of the cloud-based deployment service providing apparatus according to an embodiment of the present invention.

도 4를 참조하면, 본 발명의 일 실시예에 따른 배치 서비스 제공 장치(430)는 클라우드 기반의 배치 서비스(410)를 활용하여 전세계에 분포하는 자원들을 활용할 수 있다. 예를 들어, 배치 서비스 제공 장치(430)는 미국 서부(us-west), 미국 동부(us-east), 유럽(Europe) 및 아시아(Asia) 등 여러 지역에서 서비스되고 있는 기존의 배치 서비스(410)들을 이용할 수 있다. 배치 서비스 제공 장치(430)는 인스턴스의 가격적 특성 및 사용자 작업의 자원 사용 특성을 고려하여 최적의 인스턴스를 제공할 수 있다. 여기에서 인스턴스는 가용 클라우드 자원에 해당할 수 있고, 가용 클라우드 자원의 조합으로 구성될 수 있다.Referring to FIG. 4, the batch service providing apparatus 430 according to an exemplary embodiment may utilize resources distributed around the world using the cloud-based batch service 410. For example, the batch service providing apparatus 430 is an existing batch service 410 that is being serviced in various regions, such as the US West, US-East, Europe, and Asia. ) Can be used. The batch service providing apparatus 430 may provide an optimal instance in consideration of the price characteristic of the instance and the resource usage characteristic of the user task. Here, the instance may correspond to an available cloud resource and may be configured as a combination of available cloud resources.

배치 서비스 제공 장치(430)는 기존의 배치 서비스(410)의 파일 입력, 출력 및 작업 실행 등의 환경을 그대로 활용할 수 있다. 배치 서비스 제공 장치(430)는 한 번의 서비스 등록 후 자동적으로 다양한 지역에서 작업이 가능하게 하는 서비스를 제공할 수 있고, 응용 예제에서 실제 사용 중인 자원의 관찰을 통해서 작업에 맞는 적절한 인스턴스 타입을 사용할 수 있도록 하는 효과를 제공할 수 있다.The batch service providing apparatus 430 may utilize an environment such as file input, output, and job execution of the existing batch service 410. The batch service providing apparatus 430 may provide a service that enables work in various regions automatically after registering a service once, and may use an appropriate instance type suitable for a task by observing resources in use in an application example. Can provide an effect.

상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.Although described above with reference to a preferred embodiment of the present invention, those skilled in the art will be variously modified and changed within the scope of the invention without departing from the spirit and scope of the invention described in the claims below I can understand that you can.

100: 클라우드 기반의 배치 서비스 제공 시스템
110: 사용자 단말 130: 배치 서비스 제공 장치
150: 데이터베이스
210: 비용 모니터링부 230: 자원 활용 모니터링부
250: 배치 작업 중재부 270: 제어부
410: 배치 서비스 430: 배치 서비스 제공 장치
100: cloud-based deployment service providing system
110: user terminal 130: batch service providing apparatus
150: database
210: cost monitoring unit 230: resource utilization monitoring unit
250: batch job arbitration unit 270: control unit
410: batch service 430: batch service providing apparatus

Claims (12)

적어도 하나의 가용 클라우드 자원의 비용 특성을 지속적으로 모니터링하는 비용 모니터링부;
사용자 단말로부터 수신된 태스크(Task)의 특성을 분석하여 필요 자원 타입과 필요 사용 시간을 각각 포함하는 적어도 하나의 예상 자원 프로파일을 생성하고 상기 비용 특성을 기초로 상기 적어도 하나의 예상 자원 프로파일 중 하나를 동적으로 결정하여 배치 작업을 생성하는 자원 활용 모니터링부; 및
지역 중립적으로 실행될 수 있도록 상기 배치 작업을 중재하는 배치 작업 중재부를 포함하되,
상기 배치 작업 중재부는 상기 태스크에 있는 부분 태스크의 이관 필요성이 결정되면 해당 부분 태스크의 종속 관계 여부를 검출하는 것을 특징으로 하는 클라우드 기반의 배치 서비스 제공 장치.
A cost monitoring unit for continuously monitoring the cost characteristics of at least one available cloud resource;
Analyzing the characteristics of the task received from the user terminal to generate at least one expected resource profile each including the required resource type and the required usage time, and based on the cost characteristics, one of the at least one expected resource profile A resource utilization monitoring unit for dynamically determining and generating a batch job; And
A batch job arbiter to mediate the batch job so that it can be executed locally;
And the batch job arbiter detects whether or not the partial task is dependent when the necessity of migration of the partial task in the task is determined.
제1항에 있어서, 상기 비용 모니터링부는
결정된 상기 예상 자원 프로파일을 기초로 상기 적어도 하나의 가용 클라우드 자원 중 적어도 하나의 후보 가용 클라우드 자원을 결정하는 것을 특징으로 하는 클라우드 기반의 배치 서비스 제공 장치.
The method of claim 1, wherein the cost monitoring unit
And at least one candidate available cloud resource of the at least one available cloud resource is determined based on the determined expected resource profile.
제2항에 있어서, 상기 비용 모니터링부는
상기 적어도 하나의 후보 가용 클라우드 자원의 비용 변화를 주기적으로 검출하여 상기 태스크에 있는 부분 태스크의 이관 필요성을 결정하는 것을 특징으로 하는 클라우드 기반의 배치 서비스 제공 장치.
The method of claim 2, wherein the cost monitoring unit
And periodically detecting a change in cost of the at least one candidate available cloud resource to determine a necessity for the migration of the partial task in the task.
제1항에 있어서, 상기 자원 활용 모니터링부는
상기 태스크의 자원 사용 집중도와 자원 사용 할당량을 기초로 상기 적어도 하나의 예상 자원 프로파일을 생성하는 것을 특징으로 하는 클라우드 기반의 배치 서비스 제공 장치.
The method of claim 1, wherein the resource utilization monitoring unit
And generating at least one expected resource profile based on resource usage concentration and resource usage quota of the task.
제4항에 있어서, 상기 자원 활용 모니터링부는
상기 태스크를 복수의 부분 태스크들로 분할하고 상기 복수의 부분 태스크들 각각에 대한 상기 자원 사용 집중도와 상기 자원 사용 할당량을 기초로 상기 적어도 하나의 예상 자원 프로파일을 생성하는 것을 특징으로 하는 클라우드 기반의 배치 서비스 제공 장치.
The method of claim 4, wherein the resource utilization monitoring unit
Partitioning the task into a plurality of partial tasks and generating the at least one expected resource profile based on the resource usage concentration and the resource usage quota for each of the plurality of partial tasks; Service provision device.
제5항에 있어서, 상기 자원 활용 모니터링부는
상기 적어도 하나의 예상 자원 프로파일에 대해 상기 복수의 부분 태스크들 각각의 비용을 산출하고 상기 복수의 부분 태스크들 각각 단위로 최소 비용을 가지도록 상기 배치 작업을 생성하는 것을 특징으로 하는 클라우드 기반의 배치 서비스 제공 장치.
The method of claim 5, wherein the resource utilization monitoring unit
Calculating a cost of each of the plurality of partial tasks with respect to the at least one expected resource profile and generating the batch job to have a minimum cost in units of each of the plurality of partial tasks Provision device.
제6항에 있어서, 상기 자원 활용 모니터링부는
상기 복수의 부분 태스크들 중 종속 관계를 가지는 종속 부분 태스크들을 결정하고, 상기 종속 부분 태스크들 각각의 평균 비용을 가지도록 상기 배치 작업을 생성하는 것을 특징으로 하는 클라우드 기반의 배치 서비스 제공 장치.
The method of claim 6, wherein the resource utilization monitoring unit
And determining dependent partial tasks having a dependency among the plurality of partial tasks, and generating the batch job to have an average cost of each of the dependent partial tasks.
제1항에 있어서, 상기 배치 작업 중재부는
상기 태스크에 있는 복수의 부분 태스크들 및 상기 적어도 하나의 가용 클라우드 자원 간의 최소 비용 매칭으로 상기 배치 작업에 대한 구성(configuration) 파일을 생성하는 것을 특징으로 하는 클라우드 기반의 배치 서비스 제공 장치.
The method of claim 1, wherein the batch job arbitration unit
And generate a configuration file for the batch job with a minimum cost matching between the plurality of partial tasks in the task and the at least one available cloud resource.
제8항에 있어서, 상기 배치 작업 중재부는
상기 적어도 하나의 가용 클라우드 자원에게 상기 구성 파일을 배포하여 상기 배치 작업의 실행을 중재하는 것을 특징으로 하는 클라우드 기반의 배치 서비스 제공 장치.
The method of claim 8, wherein the batch operation arbitration unit
And distributing the configuration file to the at least one available cloud resource to mediate execution of the batch job.
삭제delete 제1항에 있어서, 상기 배치 작업 중재부는
상기 해당 부분 태스크에 종속된 다른 부분 태스크가 있는 경우에는 상기 해당 부분 태스크 및 종속된 상기 다른 부분 태스크를 이관 필요성 있는 후보 가용 클라우드 자원에 이관하는 것을 특징으로 하는 클라우드 기반의 배치 서비스 제공 장치.
The method of claim 1, wherein the batch job arbitration unit
And when there is another partial task dependent on the corresponding partial task, transferring the corresponding partial task and the dependent other partial task to a candidate available cloud resource that needs to be transferred.
클라우드 기반의 배치 서비스 제공 장치에서 수행되는 배치 서비스 제공 방법에 있어서,
적어도 하나의 가용 클라우드 자원의 비용 특성을 지속적으로 모니터링하는 단계;
사용자 단말로부터 수신된 태스크(Task)의 특성을 분석하여 필요 자원 타입과 필요 사용 시간을 각각 포함하는 적어도 하나의 예상 자원 프로파일을 생성하고 상기 비용 특성을 기초로 상기 적어도 하나의 예상 자원 프로파일 중 하나를 동적으로 결정하여 배치 작업을 생성하는 단계; 및
지역 중립적으로 실행될 수 있도록 상기 배치 작업을 중재하는 단계를 포함하되,
상기 중재하는 단계는 상기 태스크에 있는 부분 태스크의 이관 필요성이 결정되면 해당 부분 태스크의 종속 관계 여부를 검출하는 단계를 포함하는 것을 특징으로 하는 클라우드 기반의 배치 서비스 제공 방법.

In the deployment service providing method performed in a cloud-based deployment service providing apparatus,
Continuously monitoring cost characteristics of at least one available cloud resource;
Analyzing the characteristics of the task received from the user terminal to generate at least one expected resource profile each including the required resource type and the required usage time, and based on the cost characteristics, one of the at least one expected resource profile Dynamically determining and generating a batch job; And
Mediating the batch operation so that it can be executed locally;
The arbiting step may include detecting whether or not the partial task is dependent when the necessity of migration of the partial task in the task is determined.

KR1020180055720A 2018-05-16 2018-05-16 Apparatus and method of providing a cloud-based batch service KR102062037B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180055720A KR102062037B1 (en) 2018-05-16 2018-05-16 Apparatus and method of providing a cloud-based batch service

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180055720A KR102062037B1 (en) 2018-05-16 2018-05-16 Apparatus and method of providing a cloud-based batch service

Publications (2)

Publication Number Publication Date
KR20190131174A KR20190131174A (en) 2019-11-26
KR102062037B1 true KR102062037B1 (en) 2020-01-03

Family

ID=68731536

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180055720A KR102062037B1 (en) 2018-05-16 2018-05-16 Apparatus and method of providing a cloud-based batch service

Country Status (1)

Country Link
KR (1) KR102062037B1 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102443199B1 (en) * 2020-09-21 2022-09-14 주식회사 디투오 Apparatus and method for applying environment of computing infrastructure which recommends environment of computing infrastructure based on service profile
US11704156B2 (en) * 2020-12-06 2023-07-18 International Business Machines Corporation Determining optimal placements of workloads on multiple platforms as a service in response to a triggering event
US11366694B1 (en) 2020-12-06 2022-06-21 International Business Machines Corporation Estimating attributes of running workloads on platforms in a system of multiple platforms as a service
US11693697B2 (en) 2020-12-06 2023-07-04 International Business Machines Corporation Optimizing placements of workloads on multiple platforms as a service based on costs and service levels
KR102613365B1 (en) * 2021-12-09 2023-12-13 국민대학교산학협력단 Apparatus and method for determining ai-based cloud service server
KR102613366B1 (en) * 2021-12-09 2023-12-13 국민대학교산학협력단 Artificial intelligence-based cloud service device and method

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7350186B2 (en) 2003-03-10 2008-03-25 International Business Machines Corporation Methods and apparatus for managing computing deployment in presence of variable workload
KR101638436B1 (en) * 2010-12-10 2016-07-12 한국전자통신연구원 Cloud storage and management method thereof
KR101543835B1 (en) * 2013-07-09 2015-08-12 인하대학교 산학협력단 System and method for dymanic resource reliability layer based resrouce brokering for cloud computing
KR20150053675A (en) * 2013-11-07 2015-05-18 경희대학교 산학협력단 Method for intermediating cloud server

Also Published As

Publication number Publication date
KR20190131174A (en) 2019-11-26

Similar Documents

Publication Publication Date Title
KR102062037B1 (en) Apparatus and method of providing a cloud-based batch service
US11310113B2 (en) Methods, systems and apparatus to improve cluster efficiency
US10909018B2 (en) System and method for end-to-end application root cause recommendation
JP5874936B2 (en) Operation management apparatus, operation management method, and program
JP4654707B2 (en) Bottleneck detection system, measurement target server, bottleneck detection method and program
US20170068581A1 (en) System and method for relationship based root cause recommendation
US8327325B2 (en) Programmable framework for automatic tuning of software applications
KR20170139872A (en) Multi-tenant based system and method for providing services
CN106713396B (en) Server scheduling method and system
US10841173B2 (en) System and method for determining resources utilization in a virtual network
CN108205469B (en) MapReduce-based resource allocation method and server
US20150019722A1 (en) Determining, managing and deploying an application topology in a virtual environment
US20150106509A1 (en) Method for representing usage amount of monitoring resource, computing device, and recording medium having program recorded thereon for executing thereof
CN101495978B (en) Reduction of message flow between bus-connected consumers and producers
WO2016084327A1 (en) Resource prediction device, resource prediction method, resource prediction program and distributed processing system
CN109992408B (en) Resource allocation method, device, electronic equipment and storage medium
US20160162331A1 (en) Prioritizing Cloud-based Computing Tasks
US20050080892A1 (en) Method for predicting a development over time of a system quantity
KR20160139082A (en) Method and System for Allocation of Resource and Reverse Auction Resource Allocation in hybrid Cloud Server
US20140047454A1 (en) Load balancing in an sap system
US20150046227A1 (en) Inventory deployment optimization apparatus and method
US20220229697A1 (en) Management computer, management system, and recording medium
CN113934566A (en) Exception handling method and device and electronic equipment
JP2016219068A (en) Information processing apparatus, method, and program
JP6048500B2 (en) Information processing apparatus, information processing method, information processing program, and recording medium

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