KR101508273B1 - Method for assigning resource using cloud application programming interface key and apparatus therefor - Google Patents

Method for assigning resource using cloud application programming interface key and apparatus therefor Download PDF

Info

Publication number
KR101508273B1
KR101508273B1 KR20130032980A KR20130032980A KR101508273B1 KR 101508273 B1 KR101508273 B1 KR 101508273B1 KR 20130032980 A KR20130032980 A KR 20130032980A KR 20130032980 A KR20130032980 A KR 20130032980A KR 101508273 B1 KR101508273 B1 KR 101508273B1
Authority
KR
South Korea
Prior art keywords
cloud
resource
computing system
amount
cloud computing
Prior art date
Application number
KR20130032980A
Other languages
Korean (ko)
Other versions
KR20140117965A (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 KR20130032980A priority Critical patent/KR101508273B1/en
Publication of KR20140117965A publication Critical patent/KR20140117965A/en
Application granted granted Critical
Publication of KR101508273B1 publication Critical patent/KR101508273B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources

Abstract

본 발명은 클라우드 컴퓨팅 시스템으로 접근할 수 있는 다수의 클라우드 API(Application Programming Interface) 키(key)를 이용하여 클라우드 컴퓨팅 시스템의 자원을 작업에 할당하는 자원 할당 방법 및 이를 위한 장치에 관한 것이다. 본 발명에 따른 자원 관리 장치에서 클라우드 컴퓨팅 시스템의 자원을 할당받을 수 있는 다수의 클라우드 API(Application Programming Interface) 키(Key)를 이용하여 클라이언트 단말이 요청한 작업에 대한 자원을 할당하는 방법은, 상기 클라이언트 단말로부터 작업을 요청받는 단계; 상기 작업에 필요한 자원량을 확인하는 단계; 상기 확인한 자원량을 할당받을 수 있는 다수의 클라우드 API 키를 선정하는 단계; 상기 선정한 다수의 클라우드 API 키를 이용하여 상기 클라우드 컴퓨팅 시스템으로 상기 확인한 자원량에 해당하는 자원 할당을 요청하여, 상기 클라우드 컴퓨팅 시스템의 자원을 할당받는 단계; 및 상기 할당받은 클라우드 자원을 이용하여 상기 클라이언트 단말이 요청한 작업을 실행시키는 단계를 포함한다.The present invention relates to a resource allocation method and apparatus for allocating resources of a cloud computing system to a work using a plurality of cloud application programming interface (API) keys that can be accessed by a cloud computing system. A method for allocating resources for a task requested by a client terminal using a plurality of cloud API (Application Programming Interface) keys that can receive resources of a cloud computing system in a resource management apparatus according to the present invention, Receiving a task request from a terminal; Confirming the amount of resources required for the operation; Selecting a plurality of cloud API keys to which the determined resource amount can be allocated; Requesting a resource allocation corresponding to the determined resource amount to the cloud computing system using the selected plurality of cloud API keys and allocating resources of the cloud computing system; And executing a task requested by the client terminal using the allocated cloud resource.

Description

클라우드 API 키를 이용한 자원 할당 방법 및 이를 위한 장치{METHOD FOR ASSIGNING RESOURCE USING CLOUD APPLICATION PROGRAMMING INTERFACE KEY AND APPARATUS THEREFOR}TECHNICAL FIELD The present invention relates to a resource allocation method using a cloud API key, and a resource allocating method using the same,

본 발명은 클라우드 컴퓨팅 시스템의 자원을 할당하는 기술에 관한 것으로서, 더욱 상세하게는 클라우드 컴퓨팅 시스템으로 접근할 수 있는 다수의 클라우드 API(Application Programming Interface) 키(key)를 이용하여 클라우드 컴퓨팅 시스템의 자원을 작업에 할당하는 자원 할당 방법 및 이를 위한 장치에 관한 것이다.The present invention relates to a technology for allocating resources of a cloud computing system, and more particularly, to a technology for allocating resources of a cloud computing system using a plurality of cloud application programming interface (API) keys that can be accessed by a cloud computing system. To a resource allocation method and an apparatus therefor.

클라우드 컴퓨팅(cloud computing)은 데스크톱, 태블릿 컴퓨터, 노트북, 넷북, 스마트폰 등의 IT 기기 등이 서버의 자원을 이용하여 자신의 파일을 저장하거나 다운로드하거나 작업을 처리하는 컴퓨터 환경을 의미한다.Cloud computing refers to the computing environment where IT devices, such as desktops, tablet computers, notebooks, netbooks, and smartphones, use their resources to store, download, or process their own files.

이러한 클라우드 컴퓨팅 기술을 이용한 클라우드 서비스가 제공되었으며, 클라우드 서비스 사업자들은 가상의 클라우드 자원을 사용자들이 이용할 수 있도록 시스템을 구현하여 클라우드 서비스를 사용자들에게 제공한다. 아래의 특허문헌은 새로운 커뮤니케이션 채널을 제공하기 위한 클라우드 서비스 제공 방법에 대해서 개시한다.Cloud services using cloud computing technology are provided, and cloud service providers provide cloud services to users by implementing a system in which users can use virtual cloud resources. The following patent document discloses a cloud service providing method for providing a new communication channel.

한편, 대부분의 클라우드 서비스 사업자들은 사용자가 직접 작성한 프로그램을 통해 자동화된 방법으로 클라우드 자원을 이용할 수 있도록, 클라우드 공개 API(Cloud Open API)를 사용자들에게 제공한다. 게다가, 클라우드 서비스 사업자들은, 클라우드 공개 API를 이용할 수 있는 클라우드 API 키(key)를 사용자의 계정당 하나씩 발급하여, 이 클라우드 API 키를 통해서 사용자로부터 작업 명령을 입력받아 이 작업에 클라우드 자원을 할당하여 처리한다.On the other hand, most cloud service providers provide cloud open APIs to users so they can use cloud resources in an automated way through user-written programs. In addition, cloud service providers issue a cloud API key that can use the cloud public API, one per user account, input a work command from the user through this cloud API key, and assign a cloud resource to the task .

그런데 클라우드 서비스 사업자들은 클라우드 자원을 사용자에게 무한정 제공하지 않고, 클라우드 API 키를 통해 사용할 수 있는 클라우드 자원량을 일정 수준 이하로 제한하고 있다. 하지만 이러한 클라우드 서비스의 자원량 제한 정책은, 대규모의 작업을 불가능하게 하는 문제점이 있다. 예컨대, 유전체 분석 작업과 같이 대용량의 자원 할당이 요구되는 작업이 클라우드 컴퓨팅 시스템으로 요청된 경우, 상기 클라우드 컴퓨팅 시스템은 자원 제한 정책에 따라, 상기 유전체 분석 작업에 필요한 자원 할당을 제한하고, 이에 따라 사용자는 유전체 분석 작업과 같은 대규모 작업을 클라우드 컴퓨팅 시스템을 통해 진행할 수 없게 된다.However, cloud service providers do not provide cloud resources to users indefinitely, but limit the amount of cloud resources available through cloud API keys to a certain level. However, the resource limitation policy of the cloud service has a problem of making a large-scale work impossible. For example, when a cloud computing system requests a task requiring a large-capacity resource allocation such as a genome analysis task, the cloud computing system limits the resource allocation required for the genome analysis operation according to a resource restriction policy, Such as genome analysis, can not proceed through the cloud computing system.

한국공개특허 10-2012-0097749Korean Patent Publication No. 10-2012-0097749

본 발명은 이러한 종래의 문제점을 해결하기 위하여 제안된 것으로, 자원 제한이 설정된 클라우드 컴퓨팅 시스템에서 대규모의 작업을 처리할 수 있도록, 다수의 클라우드 API 키를 이용하여 클라우드 컴퓨팅 시스템의 자원을 작업에 할당하는 자원 할당 방법 및 이를 위한 장치를 제공하는데 그 목적이 있다.Disclosure of Invention Technical Problem [8] Accordingly, the present invention has been made to solve the above-mentioned problems, and it is an object of the present invention to allocate resources of a cloud computing system to a task using a plurality of cloud API keys so that a large- A resource allocation method, and a device for the same.

본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있으며, 본 발명의 실시예에 의해 보다 분명하게 알게 될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.Other objects and advantages of the present invention will become apparent from the following description, and it will be understood by those skilled in the art that the present invention is not limited thereto. It will also be readily apparent that the objects and advantages of the invention may be realized and attained by means of the instrumentalities and combinations particularly pointed out in the appended claims.

상기 목적을 달성하기 위한 본 발명의 제 1 측면에 따른, 자원 관리 장치에서 클라우드 컴퓨팅 시스템의 자원을 할당받을 수 있는 다수의 클라우드 API(Application Programming Interface) 키(Key)를 이용하여 클라이언트 단말이 요청한 작업에 대한 자원을 할당하는 방법은, 상기 클라이언트 단말로부터 작업을 요청받는 단계; 상기 작업에 필요한 자원량을 확인하는 단계; 상기 확인한 자원량을 할당받을 수 있는 다수의 클라우드 API 키를 선정하는 단계; 상기 선정한 다수의 클라우드 API 키를 이용하여 상기 클라우드 컴퓨팅 시스템으로 상기 확인한 자원량에 해당하는 자원 할당을 요청하여, 상기 클라우드 컴퓨팅 시스템의 자원을 할당받는 단계; 및 상기 할당받은 클라우드 자원을 이용하여 상기 클라이언트 단말이 요청한 작업을 실행시키는 단계를 포함하는 것을 특징으로 한다.In order to achieve the above object, according to a first aspect of the present invention, there is provided a resource management apparatus, comprising a plurality of cloud API (Application Programming Interface) keys capable of being allocated resources of a cloud computing system, The method comprising: receiving a request for a job from the client terminal; Confirming the amount of resources required for the operation; Selecting a plurality of cloud API keys to which the determined resource amount can be allocated; Requesting a resource allocation corresponding to the determined resource amount to the cloud computing system using the selected plurality of cloud API keys and allocating resources of the cloud computing system; And executing a task requested by the client terminal using the allocated cloud resource.

바람직하게, 상기 선정하는 단계는 상기 클라우드 컴퓨팅 시스템으로부터 제공받은 복수의 클라우드 API 키별로 할당 가능한 자원량이 기록된 테이블을 참조하여, 상기 확인한 자원량을 할당할 수 있는 다수의 클라우드 API 키를 선정한다.Preferably, the selecting step selects a plurality of cloud API keys capable of allocating the resource amount by referring to a table in which a resource amount allocable for each of a plurality of cloud API keys provided from the cloud computing system is recorded.

더욱 바람직하게, 상기 선정하는 단계는 상기 테이블을 참조하여, 상기 확인한 자원량을 하나의 클라우드 API 키를 통해 할당할 수 있는지 여부를 판별하는 단계; 및 상기 판별 결과에 따라, 하나 또는 복수의 클라우드 API 키를 상기 확인한 자원량을 할당받기 위한 클라우드 API 키로서 선정하는 단계를 포함할 수 있다.It is preferable that the selecting step comprises the steps of: determining whether the determined resource amount can be allocated through a single cloud API key with reference to the table; And selecting one or a plurality of cloud API keys as a cloud API key for receiving the determined resource amount according to the determination result.

한편, 상기 확인하는 단계는, 상기 작업에 필요한 자원량으로서, 가상 머신의 개수, 디스크 사용량, IP 사용 개수, 메모리 사용량, CPU 사용량 중에서 하나 이상을 확인할 수 있으며, 또한 상기 작업에 유형을 분석하고, 상기 분석한 작업의 유형에 근거하여 상기 작업에 필요한 자원량을 확인할 수 있다.The verification step may identify at least one of a number of virtual machines, a disk usage amount, an IP usage number, a memory usage amount, and a CPU usage amount as a resource amount required for the job, The amount of resources required for the operation can be confirmed based on the type of the analyzed work.

상기 목적을 달성하기 위한 본 발명의 제 2 측면에 따른, 자원 관리 장치는 클라우드 컴퓨팅 시스템으로부터 제공받은 복수의 클라우드 API(Application Programming Interface) 키(Key)별로 할당 가능한 자원량이 기록된 테이블을 저장하는 저장부; 상기 클라이언트 단말로부터 작업을 요청받는 수신부; 상기 작업에 필요한 자원량을 확인하는 작업 분석부; 상기 작업 분석부에 의해 확인된 자원량을 할당받을 수 있는 다수의 클라우드 API 키를 상기 저장부의 테이블에서 확인하여, 이렇게 확인한 다수의 클라우드 API 키를 상기 확인된 자원량을 할당받기 위한 클라우드 API 키로서 선정하는 키 선정부; 및 상기 선정한 다수의 클라우드 API 키를 이용하여 상기 확인된 자원량에 해당하는 자원을 상기 클라우드 컴퓨팅 시스템으로부터 할당받아, 이 할당받은 상기 클라우드 컴퓨팅 시스템의 자원을 이용하여 상기 클라이언트 단말이 요청한 작업을 실행시키는 작업 처리부를 포함하는 것을 특징으로 한다.According to a second aspect of the present invention, there is provided a resource management apparatus comprising: a storage unit for storing a table in which a resource amount allocable for each of a plurality of cloud API application keys provided from a cloud computing system is recorded; part; A receiving unit for receiving an operation request from the client terminal; A task analyzer for checking the amount of resources required for the task; A plurality of cloud API keys capable of being allocated resource amounts confirmed by the operation analysis unit are confirmed in the table of the storage unit and a plurality of cloud API keys thus confirmed are selected as cloud API keys for receiving the confirmed resource amount Key selection; And a server for receiving a resource corresponding to the identified resource amount from the cloud computing system using the selected plurality of cloud API keys and executing a task requested by the client terminal using the resource of the allocated cloud computing system And a processing unit.

본 발명은 클라이언트 단말로부터 작업이 요청되면, 이 작업에 필요한 자원량에 따라 하나 이상의 클라우드 API 키를 선정하고, 이렇게 선정한 클라우드 API 키를 토대로 상기 작업이 처리되게 함으로써, 클라우드 컴퓨팅 시스템에서 자원 제한 정책이 설정되어 있더라도 대규모의 작업을 클라우드 컴퓨팅 시스템을 통해 처리할 수 있는 장점이 있다.In the present invention, when a task is requested from a client terminal, one or more cloud API keys are selected according to the amount of resources required for the task, and the task is processed based on the selected cloud API key. The cloud computing system can handle large-scale operations.

게다가, 본 발명은 할당 가능한 자원량이 남아 있는 클라우드 API 키를 지속적으로 이용함으로써, 클라우드 컴퓨팅 시스템의 자원을 효율적으로 관리할 수 있는 장점이 있다. In addition, the present invention has an advantage that resources of a cloud computing system can be efficiently managed by continuously using a cloud API key in which an allocable resource amount remains.

또한, 본 발명은 다수의 클라우드 API 키를 이용하여 작업을 실행함으로써, 작업의 분산처리를 유도할 수 있을 뿐만 아니라 클라우드 컴퓨팅 시스템의 부하를 경감시키는 이점도 있다.In addition, the present invention is advantageous in that it can induce distributed processing of work by executing a work using a plurality of cloud API keys, as well as a load of a cloud computing system.

본 명세서에 첨부되는 다음의 도면들은 본 발명의 바람직한 실시예를 예시하는 것이며, 발명을 실시하기 위한 구체적인 내용과 함께 본 발명의 기술사상을 더욱 이해시키는 역할을 하는 것이므로, 본 발명은 그러한 도면에 기재된 사항에만 한정되어 해석되어서는 아니 된다.
도 1은 본 발명의 일 실시예에 따른, 클라우드 API 키를 이용하여 요청된 작업에 대한 자원을 할당하는 자원 할당 시스템의 구성을 나타내는 도면이다.
도 2는 본 발명의 일 실시예에 따른 자원 관리 장치의 구성을 나타내는 도면이다.
도 3은 본 발명의 일 실시예에 따른 키 관리 테이블을 나타내는 도면이다.
도 4는 본 발명의 일 실시예에 따른, 자원 관리 장치에서 다수의 클라우드 API 키를 이용하여 클라이언트 단말이 요청한 작업에 자원을 할당하는 방법을 설명하는 흐름도이다.
BRIEF DESCRIPTION OF THE DRAWINGS The accompanying drawings, which are incorporated in and constitute a part of the specification, illustrate exemplary embodiments of the invention and, together with the description, serve to explain the principles of the invention. And shall not be construed as limited to such matters.
1 is a diagram illustrating a configuration of a resource allocation system for allocating resources for a requested task using a cloud API key according to an embodiment of the present invention.
2 is a diagram illustrating a configuration of a resource management apparatus according to an embodiment of the present invention.
3 is a diagram illustrating a key management table according to an embodiment of the present invention.
4 is a flowchart illustrating a method for allocating resources to a task requested by a client terminal using a plurality of cloud API keys in a resource management apparatus according to an exemplary embodiment of the present invention.

상술한 목적, 특징 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일 실시예를 상세히 설명하기로 한다.The foregoing and other objects, features and advantages of the present invention will become more apparent from the following detailed description of the present invention when taken in conjunction with the accompanying drawings, in which: There will be. In the following description, well-known functions or constructions are not described in detail since they would obscure the invention in unnecessary detail. Hereinafter, a preferred embodiment of the present invention will be described in detail with reference to the accompanying drawings.

명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "…부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
Throughout the specification, when an element is referred to as "comprising ", it means that it can include other elements as well, without excluding other elements unless specifically stated otherwise. Also, the terms "part,"" module, "and the like, which are described in the specification, refer to a unit for processing at least one function or operation, and may be implemented by hardware or software or a combination of hardware and software.

도 1은 본 발명의 일 실시예에 따른, 클라우드 API 키를 이용하여 요청된 작업에 대한 자원을 할당하는 자원 할당 시스템의 구성을 나타내는 도면이다.1 is a diagram illustrating a configuration of a resource allocation system for allocating resources for a requested task using a cloud API key according to an embodiment of the present invention.

도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 자원 할당 시스템은 자원 관리 장치(200) 및 클라우드 컴퓨팅 시스템(300)을 포함한다.As shown in FIG. 1, a resource allocation system according to an embodiment of the present invention includes a resource management apparatus 200 and a cloud computing system 300.

상기 클라이언트 단말(100), 클라우드 컴퓨팅 시스템(300), 자원 관리 장치(200) 각각은 네트워크(400)를 통해 서로 통신한다. 상기 네트워크(400)는 이동통신망과 광대역 유선 통신망을 포함하는 것으로서 본 발명에 있어서, 주지의 관용 기술에 해당하므로 자세한 설명은 생략한다. 또한, 클라우드 컴퓨팅 시스템(300)과 자원 관리 장치(200)는 전용선을 통하여 다이렉트 통신할 수도 있다.The client terminal 100, the cloud computing system 300, and the resource management device 200 communicate with each other via the network 400. The network 400 includes a mobile communication network and a broadband wired communication network. Since the network 400 corresponds to well-known technology in the present invention, a detailed description thereof will be omitted. In addition, the cloud computing system 300 and the resource management apparatus 200 may perform direct communication through a dedicated line.

클라이언트 단말(100)은 사용자가 소유한 단말로서, 자원 관리 장치(200)를 통해 클라우드 컴퓨팅 시스템(300)의 자원을 할당받아. 자신의 자원이 아니라 클라우드 컴퓨팅 시스템(300)의 자원을 이용하여 상기 작업을 처리한다. 바람직하게, 클라이언트 단말(100)은 상기 작업에 필요한 정보, 즉 작업 처리 명령어, 작업 대상이 되는 데이터의 저장위치, 작업 결과물의 저장 위치 등이 기록된 작업 요청 메시지를 자원 관리 장치(200)로 전송한다. 이러한 클라이언트 단말(100)은 데스크톱 컴퓨터, 태블릿 컴퓨터, 노트북, 넷북, 스마트폰 등으로, 네트워크(400)를 통해 자원 관리 장치(200), 클라우드 컴퓨팅 시스템(300) 각각과 통신 가능한 장치라면 제한되지 않고 채택 가능하다.The client terminal 100 is a terminal owned by the user and is allocated resources of the cloud computing system 300 through the resource management device 200. And processes the task using the resources of the cloud computing system 300, rather than its own resources. Preferably, the client terminal 100 transmits a job request message in which information necessary for the job, that is, a job processing command, a storage location of data to be a job target, a storage location of a job result, do. The client terminal 100 is not limited as long as it is a device capable of communicating with each of the resource management device 200 and the cloud computing system 300 via the network 400 such as a desktop computer, a tablet computer, a notebook computer, a netbook, It can be adopted.

클라우드 컴퓨팅 시스템(300)은 자신의 자원을 이용하여 사용자에게 클라우드 서비스를 제공하는 시스템으로서, 다수의 클라우드 서비스 서버 및 데이터가 저장되는 스토리지(storage)를 포함한다. The cloud computing system 300 is a system for providing a cloud service to a user using its own resources, and includes a plurality of cloud service servers and storage in which data is stored.

특히, 클라우드 컴퓨팅 시스템(300)은 자원 관리 장치(200)와 연동하여 사용자가 요청한 작업을 분석하고 처리한다. 구체적으로, 클라우드 컴퓨팅 시스템(300)은 자원 관리 장치(200)로 다수의 클라우드 API 키를 제공하고, 이 클라우드 API 키를 기반으로 자원 관리 장치(200)가 자원 할당을 요청하면 해당 자원을 할당하고 이 자원을 통해 자원 관리 장치(200)로부터 요청받은 작업을 처리한다. 상기 클라우드 API 키는 클라우드 컴퓨팅 시스템(300)의 자원을 할당받을 수 있는 일종의 인증정보로서, 클라우드 컴퓨팅 시스템(300)은 하나의 클라우드 API 키에 대해서 할당할 수 있는 자원량을 제한한다. 또한, 클라우드 컴퓨팅 시스템(300)은 자원 관리 장치(200)로 복수의 클라우드 API 키를 제공한다. In particular, the cloud computing system 300 analyzes and processes a task requested by the user in cooperation with the resource management apparatus 200. Specifically, the cloud computing system 300 provides a plurality of cloud API keys to the resource management device 200, and when the resource management device 200 requests resource allocation based on the cloud API key, And processes the job requested from the resource management apparatus 200 through this resource. The cloud API key is a kind of authentication information that can be allocated resources of the cloud computing system 300. The cloud computing system 300 limits the amount of resources that can be allocated to one cloud API key. In addition, the cloud computing system 300 provides a plurality of cloud API keys to the resource management device 200.

상기 클라우드 컴퓨팅 시스템(300)은 사업자별로 구축될 수 있으며, 이 경우 각각의 클라우드 컴퓨팅 시스템(300)은 자원 관리 장치(200)와 통신하며, 더불어 자원 관리 장치(200)로 다수의 클라우드 API 키를 각각 제공한다. In this case, each of the cloud computing systems 300 communicates with the resource management apparatus 200, and a plurality of cloud API keys are transmitted to the resource management apparatus 200 Respectively.

자원 관리 장치(200)는 클라이언트 단말(100)로부터 작업이 요청되면, 하나 이상의 클라우드 API 키를 이용하여 클라우드 컴퓨팅 시스템(300)으로부터 자원을 할당받아, 이 할당받은 자원을 통해 상기 작업이 수행되게 한다.When a task is requested from the client terminal 100, the resource management apparatus 200 allocates resources from the cloud computing system 300 using one or more cloud API keys, and causes the task to be performed through the allocated resources .

도 2는 본 발명의 일 실시예에 따른 자원 관리 장치의 구성을 나타내는 도면이다.2 is a diagram illustrating a configuration of a resource management apparatus according to an embodiment of the present invention.

도 2에 도시된 바와 같이, 본 발명의 일 실시예에 따른 자원 관리 장치(200)는 송수신부(210), 저장부(220), 작업 분석부(230), 키 선정부(240) 및 작업 처리부(250)를 포함한다.2, the resource management apparatus 200 according to an exemplary embodiment of the present invention includes a transmission / reception unit 210, a storage unit 220, a task analysis unit 230, a key selection unit 240, And a processing unit 250.

송수신부(210)는 네트워크(400)를 경유하여 클라이언트 단말(100), 클라우드 컴퓨팅 시스템(300) 각각과 통신하는 기능을 수행한다. 특히, 송수신부(210)는 클라이언트 단말(100)로부터 작업 요청 메시지를 수신한다.The transceiver unit 210 communicates with the client terminal 100 and the cloud computing system 300 via the network 400, respectively. In particular, the transceiver 210 receives a task request message from the client terminal 100. [

저장부(220)는 클라우드 컴퓨팅 시스템(300)으로부터 제공받은 다수의 클라우드 API 키별로 자원량 정보가 기록된 키 관리 테이블을 저장한다.The storage unit 220 stores a key management table in which resource amount information is recorded for each of a plurality of cloud API keys provided from the cloud computing system 300.

도 3은 본 발명의 일 실시예에 따른 키 관리 테이블을 나타내는 도면이다.3 is a diagram illustrating a key management table according to an embodiment of the present invention.

도 3을 참조하면, 키 관리 테이블은 키 ID 필드(31), 사용 가능 자원량 필드(32), 할당중인 자원량 필드(33) 및 최대 자원량 필드(34)를 포함한다.Referring to FIG. 3, the key management table includes a key ID field 31, a usable resource amount field 32, an allocated resource amount field 33, and a maximum resource amount field 34.

키 ID 필드(31)에는 클라우드 컴퓨팅 시스템(300)으로부터 제공받은 클라우드 API 키의 식별정보가 기록된다. 또한, 사용 가능 자원량 필드(32)에는 해당 클라우드 API 키를 이용하여 클라우드 컴퓨팅 시스템(300)으로부터 할당받을 수 있는 자원량 정보가 기록된다. 게다가, 할당중인 자원량 필드(33)에는 해당 클라우드 API 키를 이용하여 클라우드 컴퓨팅 시스템(300)으로부터 할당받고 있는 자원량 정보가 기록된다. 또한, 최대 자원량 필드(34)에는 클라우드 API 키를 이용하여 클라우드 컴퓨팅 시스템(300)으로부터 할당받을 수 있는 최대 자원량 정보가 기록된다. 상기 최대 자원량 필드(34)에는 클라우드 API 키를 통해 실질적으로 할당받을 수 있는 최대 자원량 정보가 기록될 수 있고, 또는 실질적으로 할당받을 수 있는 최대 자원량에서 일정한 비율(예컨대, 30%)을 차감한 정책적인 자원량 정보가 기록될 수 있다. In the key ID field 31, identification information of the cloud API key provided from the cloud computing system 300 is recorded. In the available resource amount field 32, resource amount information that can be allocated from the cloud computing system 300 using the corresponding cloud API key is recorded. In addition, resource amount information allocated from the cloud computing system 300 using the corresponding cloud API key is recorded in the resource amount field 33 being allocated. In the maximum resource amount field 34, maximum resource amount information that can be allocated from the cloud computing system 300 using the cloud API key is recorded. The maximum resource amount field 34 may record the maximum resource amount information that can be substantially allocated through the cloud API key or may be a policy that subtracts a certain ratio (e.g., 30%) from the maximum resource amount that can be substantially allocated. Resource amount information can be recorded.

한편, 도 3에서의 사용 가능 자원량 필드(32), 할당중인 자원량 필드(33) 및 최대 자원량 필드(34)에는 자원량 정보로서 가상 머신(VM : Virtual Machine)의 개수와 디스크 사용량 정보가 기록되었으나, CPU 사용량 정보, 메모리 사용량 정보, IP 개수 정보 등의 정보가 상기 사용 가능 자원량 필드(32), 할당중인 자원량 필드(33) 및 최대 자원량 필드(34)에 각각 기록될 수도 있다.The number of virtual machines (VMs) and disk usage information are recorded as resource amount information in the available resource amount field 32, allocated resource amount field 33, and maximum resource amount field 34 in FIG. 3, Information such as CPU usage information, memory usage information, and IP number information may be recorded in the available resource amount field 32, the allocated resource amount field 33, and the maximum resource amount field 34, respectively.

작업 분석부(230)는 송수신부(210)를 통해 클라이언트 단말(100)로부터 작업 요청 메시지를 수신하면, 클라이언트 단말(100)로부터 요청받은 작업에 필요한 클라우드 컴퓨팅 시스템(300)의 자원량을 분석하는 기능을 수행한다. 즉, 작업 분석부(230)는 송수신부(210)를 통해 클라이언트 단말(100)로부터 작업을 요청받으면, 이 작업을 분석하고 이 작업에 투입되어야 하는 클라우드 컴퓨팅 시스템(300)의 자원량을 확인한다. 이때, 작업 분석부(230)는 작업 요청 메시지에 포함된 작업 처리 명령어를 분석하여 작업의 유형을 확인하고, 이 작업의 유형에 근거하여 상기 작업에 필요한 클라우드 컴퓨팅 시스템(300)의 자원량을 확인한다. The task analyzer 230 analyzes the amount of resources of the cloud computing system 300 required for the task requested by the client terminal 100 when the task analyzer 230 receives the task request message from the client terminal 100 through the transceiver 210, . That is, when the job analysis unit 230 receives a job request from the client terminal 100 through the transmission / reception unit 210, the job analysis unit 230 analyzes the job and confirms the amount of resources of the cloud computing system 300 to be input to the job. At this time, the job analyzer 230 analyzes the job processing command included in the job request message to check the type of the job, and confirms the amount of resources of the cloud computing system 300 required for the job based on the type of the job .

키 선정부(240)는 작업 분석부(230)에 의해 확인된 필요 자원량을 할당받을 수 있는 하나 이상의 클라우드 API 키를 선정하는 기능을 수행한다. 구체적으로, 키 선정부(240)는 작업 분석부(230)에 의해 분석된 필요 자원량을 할당받을 수 있는 하나 이상의 클라우드 API 키를 클라이언트 단말(100)의 클라우드 API 키로 선정하고, 이렇게 선정한 하나 이상의 클라우드 API 키를 작업 처리부(250)로 전달하여 이 클라우드 API 키를 기반으로 요청된 작업이 처리되게 한다. 바람직하게, 키 선정부(240)는 상기 필요 자원량을 하나의 클라우드 API 키를 통해 할당이 가능하면 상기 필요 자원량을 커버할 수 있는 하나의 클라우드 API 키를 클라이언트 단말(100)의 클라우드 API 키로 선정한다. 반면에, 키 선정부(240)는 상기 필요 자원량을 하나의 클라우드 API 키를 통해 할당이 불가능하면, 상기 필요 자원량을 커버할 수 있는 복수의 클라우드 API 키를 클라이언트 단말(100)의 클라우드 API 키로 선정한다.The key selection unit 240 performs a function of selecting at least one cloud API key that can be allocated a required resource amount confirmed by the task analysis unit 230. Specifically, the key selection unit 240 selects at least one cloud API key that can be allocated the required resource amount analyzed by the task analysis unit 230 as a cloud API key of the client terminal 100, and transmits the selected one or more cloud And transmits the API key to the job processing unit 250 so that the requested job is processed based on the cloud API key. Preferably, if the required resource amount can be allocated through a single cloud API key, the key selection unit 240 selects one cloud API key that can cover the required resource amount as the cloud API key of the client terminal 100 . On the other hand, if it is not possible to allocate the required resource amount through one cloud API key, the key selection unit 240 selects a plurality of cloud API keys capable of covering the required resource amount as a cloud API key of the client terminal 100 do.

한편, 키 선정부(240)는 클라우드 컴퓨팅 시스템(300)으로부터 다수의 클라우드 API 키를 제공받으면, 각 클라우드 API 키의 식별정보를 키 ID 필드(31)에 기록하고, 더불어 이 클라우드 API 키를 통해 할당받을 수 있는 최대 자원량 정보를 최대 자원량 필드(34)에 기록한다. 바람직하게, 키 선정부(240)는 클라우드 컴퓨팅 시스템(300)으로부터 사용 가능 자원량에 정책적인 제한을 두어 최대 자원량 필드(34)에 기록할 수 있다. 예컨대, 키 선정부(240)는 'Key1'의 식별정보를 가지는 클라우드 API 키를 통해 30개의 가상 머신과 300 기가바이트의 디스크 사용량을 할당받을 수 있으나, 보다 원활한 작업 처리를 진행하기 위하여, 자원량의 70% 즉, 21개의 가상 머신과 210 기가바이트의 디스크 사용량을 최대로 사용 가능한 자원량을 설정하여 최대 자원량 필드(34)에 기록할 수 있다.On the other hand, when receiving a plurality of cloud API keys from the cloud computing system 300, the key selection unit 240 records the identification information of each cloud API key in the key ID field 31, The maximum resource amount information that can be allocated is recorded in the maximum resource amount field 34. [ Preferably, the key selection unit 240 may record the maximum amount of resources field 34 with a policy restriction on the amount of available resources from the cloud computing system 300. For example, the key selection unit 240 can allocate 30 virtual machines and 300 gigabytes of disk usage through the cloud API key having the identification information of 'Key 1'. However, in order to smoothly process the work, 70%, that is, 21 virtual machines and 210 gigabytes of disk usage can be recorded in the maximum resource amount field 34 by setting the maximum available resource amount.

작업 처리부(250)는 키 선정부(240)로부터 하나 이상의 클라우드 API 키를 전달받으면, 이 전달받은 하나 이상의 API 키를 이용하여 상기 작업 분석부(230)에 확인한 필요 자원량에 해당하는 자원을 클라우드 컴퓨팅 시스템(300)으로부터 할당받고, 이 클라우드 컴퓨팅 시스템(300)의 자원을 이용하여 클라이언트 단말(100)이 요청한 작업을 실행시킨다. 이때, 작업 처리부(250)는 하나 이상의 클라우드 API 키를 전달받은 경우, 각각의 클라우드 API 키를 이용하여 클라우드 컴퓨팅 시스템(300)으로 자원 할당을 요청한다. 아울러, 작업 처리부(250)는 클라이언트 단말(100)로부터 수신된 작업 요청 메시지에서 작업에 필요한 정보(즉, 작업 처리 명령어, 작업 대상이 되는 데이터의 저장위치, 작업 결과물의 저장 위치 등)를 자원 할당받은 클라우드 컴퓨팅 시스템(300)로 전송하여, 이 정보를 토대로 클라우드 컴퓨팅 시스템(300)에서 상기 작업이 처리되게 유도한다.When one or more cloud API keys are received from the key selection unit 240, the task processing unit 250 transmits resources corresponding to the required resource amount confirmed by the task analysis unit 230 using the received one or more API keys to the cloud computing And executes the task requested by the client terminal 100 using the resources of the cloud computing system 300. At this time, if one or more cloud API keys are received, the task processing unit 250 requests resource allocation to the cloud computing system 300 using each of the cloud API keys. In addition, the job processing unit 250 stores information required for the job (that is, a job processing command, a storage location of data to be a job target, a storage location of a job result, and the like) in a job request message received from the client terminal 100 To the received cloud computing system 300, and based on this information, leads the cloud computing system 300 to process the work.

또한, 작업 처리부(250)는 키 선정부(240)에서 선정한 하나 이상의 클라우드 API 키를 이용하여 클라우드 컴퓨팅 시스템(300)으로부터 자원을 할당받은 경우, 상기 선정된 하나 이상의 클라우드 API의 식별정보와 매핑된 할당중인 자원량 정보 및 사용 가능 자원량 정보에 대한 변동 사항이 반영되도록, 저장부(220)의 키 관리 테이블을 갱신한다. 게다가, 작업 처리부(250)는 클라우드 컴퓨팅 시스템(300)에서 작업이 완료되어 이 작업에 할당된 자원이 회수되면, 상기 회수된 자원에 대한 변동사항이 반영되도록 저장부(220)의 키 관리 테이블의 데이터를 갱신한다. 즉, 작업 처리부(250)는 상기 회수된 자원을 할당하기 위해 이용된 클라우드 API 키를 확인하고, 이 클라우드 API 키의 식별정보와 매핑된 키 관리 테이블의 사용 가능 자원량 필드(32) 및 할당중인 자원량 필드(33)의 데이터를 갱신하여, 상기 자원이 할당되기 전의 상태로 저장부(220)의 키 관리 테이블을 갱신한다.In addition, when resources are allocated from the cloud computing system 300 using one or more cloud API keys selected by the key selection unit 240, the task processing unit 250 may map the identification information of the selected one or more cloud APIs The key management table of the storage unit 220 is updated so as to reflect the change in the resource amount information being allocated and the available resource amount information. In addition, when the task is completed in the cloud computing system 300 and resources allocated to the task are collected, the task processing unit 250 updates the key management table of the storage unit 220 to reflect the change in the collected resources And updates the data. That is, the task processing unit 250 checks the cloud API key used to allocate the recovered resource, and stores the available resource amount field 32 in the key management table mapped with the identification information of the cloud API key, The data of the field 33 is updated and the key management table of the storage unit 220 is updated in a state before the resource is allocated.

도 4는 본 발명의 일 실시예에 따른, 자원 관리 장치에서 다수의 클라우드 API 키를 이용하여 클라이언트 단말이 요청한 작업에 자원을 할당하는 방법을 설명하는 흐름도이다.4 is a flowchart illustrating a method for allocating resources to a task requested by a client terminal using a plurality of cloud API keys in a resource management apparatus according to an exemplary embodiment of the present invention.

도 4를 참조하면, 송수신부(210)는 작업 처리 명령어, 작업 대상이 되는 데이터의 저장위치, 작업 결과물의 저장 위치 등이 기록된 작업 요청 메시지를 클라이언트 단말(100)로부터 수신한다(S401). Referring to FIG. 4, the transceiver 210 receives a job request message from the client terminal 100, including a job processing command, a storage location of data to be processed, and a storage location of a job result (S401).

그러면, 작업 분석부(230)는 상기 작업 요청 메시지에 기록된 정보를 토대로, 클라이언트 단말(100)로부터 요청받은 작업을 분석하여 이 작업에 필요한 클라우드 컴퓨팅 시스템(300)의 자원량을 확인한다(S403). 즉, 작업 분석부(230)는 작업 요청 메시지에 기록된 작업 처리 명령어를 분석하여, 이 작업의 유형을 확인하고 이 작업의 유형에 근거하여 상기 작업에 필요한 가상 머신 개수, 디스크 사용량, 메모리 사용량, CPU 사용량 등의 클라우드 컴퓨팅 시스템(300)의 자원량을 확인한다. Then, the task analyzer 230 analyzes the task requested from the client terminal 100 based on the information recorded in the task request message, and checks the resource amount of the cloud computing system 300 required for the task (S403) . That is, the job analysis unit 230 analyzes the job processing command recorded in the job request message, confirms the type of the job, and determines the number of virtual machines, disk usage, memory usage, The amount of resources of the cloud computing system 300 such as the CPU usage is confirmed.

이어서, 키 선정부(240)는 키 관리 테이블에 기록된 데이터를 토대로, 상기 확인한 자원량을 하나의 클라우드 API 키를 이용하여 할당이 가능한지 여부를 판별한다(S405). 즉, 키 선정부(240)는 상기 작업의 필요 자원량 모두를 할당할 수 있는 자원량을 가지는 클라우드 API 키가 존재하는지 여부를 저장부(220)의 키 관리 테이블에서 확인한다. Then, based on the data recorded in the key management table, the key selection unit 240 determines whether the identified resource amount can be allocated using one cloud API key (S405). That is, the key selection unit 240 confirms, in the key management table of the storage unit 220, whether or not there is a cloud API key having a resource amount that can allocate all the required resource amounts of the task.

다음으로, 키 선정부(240)는 상기 확인한 자원량을 하나의 클라우드 API 키를 통해 할당이 가능하면, 상기 자원량을 커버할 수 있는 하나의 클라우드 API 키를 클라이언트 단말(100)의 클라우드 API 키로 선정한다(S407). Next, if the determined resource amount can be allocated through one cloud API key, the key selection unit 240 selects one cloud API key that can cover the resource amount as the cloud API key of the client terminal 100 (S407).

반면에, 키 선정부(240)는 상기 확인한 자원량을 하나의 클라우드 API 키를 통해 할당이 불가능하면, 상기 자원량이 커버되도록 복수의 클라우드 API 키를 클라이언트 단말(100)의 클라우드 API 키로 선정한다(S409).On the other hand, if the resource amount can not be allocated through the use of one cloud API key, the key selection unit 240 selects a plurality of cloud API keys as the cloud API key of the client terminal 100 so as to cover the resource amount (S409 ).

예를 들어, 작업 분석부(230)가 클라이언트 단말(100)로부터 요청받은 작업에 필요한 자원량으로서 가상 머신의 개수가 10개이고 디스크 사용량이 100 기가바이트인 것으로 분석하고 키 관리 테이블에 기록된 데이터가 도 3과 같다고 하면, 키 선정부(240)는 상기 가상 머신의 개수 10개 및 디스크 사용량 100 기가바이트를 모두 커버할 수 있는 Key1을 클라이언트 단말(100)의 클라우드 API 키로 선정한다. 또 다른 예로서, 작업 분석부(230)가 클라이언트 단말(100)로부터 요청받은 작업에 필요한 자원량으로서 가상 머신의 개수가 20개이고 디스크 사용량이 150 기가바이트인 것으로 분석하고 키 관리 테이블에 기록된 데이터가 도 3과 같다고 하면, 키 선정부(240)는 상기 작업에 필요한 자원량(즉, 가상 머신의 개수 20개 및 150 기가바이트의 디스크 사용량)이 하나의 클라우드 API 키를 통해 할당이 불가능한 것으로 판단하고, 이에 따라 가상 머신의 개수 20개 및 디스크 사용량 150 기가바이트를 할당받을 수 있도록 복수의 클라우드 API 키, Key1과 Key2를 클라이언트 단말(100)의 클라우드 API 키로 선정한다.For example, when the job analysis unit 230 analyzes that the number of virtual machines required for the job requested by the client terminal 100 is 10, the disk usage is 100 gigabytes, and the data recorded in the key management table 3, the key selection unit 240 selects Key1 as the cloud API key of the client terminal 100, which can cover both the number of virtual machines and the disk usage of 100 gigabytes. As another example, when the job analysis unit 230 analyzes that the number of virtual machines required for the job requested by the client terminal 100 is 20, the disk usage is 150 gigabytes, and the data recorded in the key management table is 3, the key selection unit 240 determines that the amount of resource required for the task (i.e., the number of virtual machines 20 and the disk usage of 150 gigabytes) can not be allocated through one cloud API key, Accordingly, a plurality of cloud API keys, Key1 and Key2, are selected as the cloud API keys of the client terminal 100 so that 20 virtual machines and 150 gigabytes of disk usage can be allocated.

이렇게, 키 선정부(240)는 클라이언트 단말(100)에 대한 클라우드 API 키의 선정이 완료되면, 작업 처리부(250)로 선정한 다수의 클라우드 API 키를 전달하여, 상기 작업 처리부(250)로 하여금 이 클라우드 API 키를 통해 작업이 처리되게 지시한다. When the selection of the cloud API key for the client terminal 100 is completed, the key selection unit 240 delivers a plurality of cloud API keys selected by the task processing unit 250 to the task processing unit 250, Instructs the work to be processed through the cloud API key.

그러면, 작업 처리부(250)는 키 선정부(240)로부터 전달받은 하나 이상의 클라우드 API 키를 이용하여 상기 작업 분석부(230)에 확인한 자원량에 해당하는 자원을 클라우드 컴퓨팅 시스템(300)으로부터 할당받는다(S411). 즉, 작업 처리부(250)는 상기 하나 이상의 클라우드 API 키를 기반으로 클라우드 컴퓨팅 시스템(300)으로 접속하고, 상기 작업의 필요 자원량(예컨대, VM 개수, 디스크 사용량 등)을 상기 클라우드 컴퓨팅 시스템(300)으로 요청하여, 상기 클라우드 컴퓨팅 시스템(300)에서 상기 필요 자원량에 해당하는 자원이 생성되어 클라이언트 단말(100)이 요청한 작업에 할당되게 한다. 바람직하게, 작업 처리부(250)는 요청된 자원이 클라우드 컴퓨팅 시스템(300)에 의해 할당되면, 이 할당된 자원에 대한 변경사항이 반영되도록 저장부(220)의 키 관리 테이블을 갱신한다.Then, the task processing unit 250 receives the resource corresponding to the resource amount confirmed by the task analysis unit 230 from the cloud computing system 300 using one or more cloud API keys received from the key selection unit 240 S411). That is, the work processing unit 250 accesses the cloud computing system 300 based on the at least one cloud API key, and transmits the required resource amount (e.g., VM number, disk usage amount, etc.) So that resources corresponding to the required resource amount are generated in the cloud computing system 300 and allocated to the jobs requested by the client terminal 100. [ Preferably, when the requested resource is allocated by the cloud computing system 300, the task processing unit 250 updates the key management table of the storage unit 220 so that the changed resource is reflected.

아울러, 작업 처리부(250)는 클라이언트 단말(100)로부터 수신된 작업 요청 메시지에서 작업처리에 필요한 정보(즉, 작업 처리 명령어, 작업 대상이 되는 데이터의 저장위치, 작업 결과물의 저장 위치 등)를 추출하여 필요 자원량을 할당한 클라우드 컴퓨팅 시스템(300)으로 전송함으로써, 클라이언트 단말(100)로부터 요청받은 작업이 상기 할당된 클라우드 컴퓨팅 시스템(300)의 자원을 통해 처리되게 한다(S413). 즉, 작업 처리부(250)는 작업처리에 필요한 정보를 클라우드 컴퓨팅 시스템(300)으로 전달하고, 클라우드 컴퓨팅 시스템(300)은 할당한 자원(예컨대, 가상 머신, CPU, 메모리, 디스크 등)을 이용하여, 작업 대상이 되는 데이터 저장위치(예컨대, URI)에서 데이터를 추출하고, 이렇게 추출한 데이터를 작업 처리 명령어를 통해 분석하고, 분석된 결과물을 작업 결과물의 저장 위치에 저장한다. In addition, the job processing unit 250 extracts information necessary for job processing (that is, a job processing command, a storage location of data to be processed, a storage location of a job result, and the like) in the job request message received from the client terminal 100 To the cloud computing system 300 to which the required resource amount has been allocated, so that the task requested from the client terminal 100 is processed through the resources of the allocated cloud computing system 300 (S413). That is, the task processing unit 250 transmits information required for the task processing to the cloud computing system 300, and the cloud computing system 300 uses the allocated resources (e.g., virtual machine, CPU, memory, disk, etc.) , Extracts data from a data storage location (for example, a URI) to be a work target, analyzes the extracted data through a job processing instruction, and stores the analyzed result in a storage location of the job result.

한편, 작업 처리부(250)는 클라우드 컴퓨팅 시스템(300)으로부터 작업 처리가 완료되었음을 보고받으면, 이 작업 처리 완료 메시지를 클라이언트 단말(100)로 전송하여 클라이언트 단말(100)의 사용자로 하여금 요청된 작업의 처리가 완료되었음을 인지되게 한다. 또한, 작업 처리부(250)는 클라우드 컴퓨팅 시스템(300)에서 작업 처리가 완료되어 이 작업에 할당된 자원이 회수되면, 상기 회수된 자원에 대한 변동사항이 반영되도록 저장부(220)의 키 관리 테이블의 데이터를 갱신한다.On receiving the job completion message from the cloud computing system 300, the job processing unit 250 transmits the job completion message to the client terminal 100 to allow the user of the client terminal 100 to send the requested job To be notified that processing has been completed. In addition, when the work process is completed in the cloud computing system 300 and the resources allocated to the task are collected, the task processing unit 250 stores the key management table of the storage unit 220, Quot;

상술한 바와 같이, 본 발명은 클라이언트 단말(100)로부터 작업이 요청되면, 이 작업에 필요한 자원량에 따라 하나 이상의 클라우드 API 키를 선정하고, 이렇게 선정된 클라우드 API 키를 토대로 상기 작업이 처리되게 함으로써, 클라우드 컴퓨팅 시스템(300)에서 자원 제한 정책이 설정되어 있더라고 대규모의 작업을 클라우드 컴퓨팅 시스템(300)을 통해 처리하게 한다. 게다가, 본 발명은 할당 가능한 자원량이 남아 있는 클라우드 API 키를 지속적으로 이용하여 클라우드 컴퓨팅 시스템(300)의 자원을 효율적으로 관리한다.As described above, according to the present invention, when a task is requested from the client terminal 100, one or more cloud API keys are selected according to the amount of resources required for the task, and the task is processed based on the selected cloud API key, The cloud computing system 300 allows a large-scale work to be processed through the cloud computing system 300 even if the resource limitation policy is set. In addition, the present invention efficiently manages the resources of the cloud computing system 300 by continuously using the cloud API key in which the allocable resource amount remains.

한편, 상술한 실시예에서, 자원 관리 장치(200)가 클라우드 컴퓨팅 시스템(300)과 분리된 것으로 설명하였지만, 상기 자원 관리 장치(200)와 클라우드 컴퓨팅 시스템(300)이 통합되어 구현될 수 있음을 분명히 해 둔다.Although the resource management apparatus 200 is described as being separate from the cloud computing system 300 in the above embodiment, the resource management apparatus 200 and the cloud computing system 300 may be integrated I make it clear.

본 명세서는 많은 특징을 포함하는 반면, 그러한 특징은 본 발명의 범위 또는 특허청구범위를 제한하는 것으로 해석되어서는 안 된다. 또한, 본 명세서에서 개별적인 실시예에서 설명된 특징들은 단일 실시예에서 결합되어 구현될 수 있다. 반대로, 본 명세서에서 단일 실시예에서 설명된 다양한 특징들은 개별적으로 다양한 실시예에서 구현되거나, 적절히 결합되어 구현될 수 있다.While the specification contains many features, such features should not be construed as limiting the scope of the invention or the scope of the claims. In addition, the features described in the individual embodiments herein may be combined and implemented in a single embodiment. Conversely, various features described in the singular < Desc / Clms Page number 5 > embodiments herein may be implemented in various embodiments individually or in combination as appropriate.

도면에서 동작들이 특정한 순서로 설명되었으나, 그러한 동작들이 도시된 바와 같은 특정한 순서로 수행되는 것으로, 또는 일련의 연속된 순서, 또는 원하는 결과를 얻기 위해 모든 설명된 동작이 수행되는 것으로 이해되어서는 안 된다. 특정 환경에서 멀티태스킹 및 병렬 프로세싱이 유리할 수 있다. 아울러, 상술한 실시예에서 다양한 시스템 구성요소의 구분은 모든 실시예에서 그러한 구분을 요구하지 않는 것으로 이해되어야 한다. 상술한 프로그램 구성요소 및 시스템은 일반적으로 단일 소프트웨어 제품 또는 멀티플 소프트웨어 제품에 패키지로 구현될 수 있다.Although the operations have been described in a particular order in the figures, it should be understood that such operations are performed in a particular order as shown, or that all described operations are performed to obtain a sequence of sequential orders, or a desired result . In certain circumstances, multitasking and parallel processing may be advantageous. It should also be understood that the division of various system components in the above embodiments does not require such distinction in all embodiments. The above-described program components and systems can generally be implemented as a single software product or as a package in multiple software products.

상술한 바와 같은 본 발명의 방법은 프로그램으로 구현되어 컴퓨터로 읽을 수 있는 형태로 기록매체(시디롬, 램, 롬, 플로피 디스크, 하드 디스크, 광자기 디스크 등)에 저장될 수 있다. 이러한 과정은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있으므로 더 이상 상세히 설명하지 않기로 한다.The method of the present invention as described above can be implemented by a program and stored in a computer-readable recording medium (CD-ROM, RAM, ROM, floppy disk, hard disk, magneto optical disk, etc.). Such a process can be easily carried out by those skilled in the art and will not be described in detail.

이상에서 설명한 본 발명은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다.It will be apparent to those skilled in the art that various modifications and variations can be made in the present invention without departing from the spirit or scope of the invention. The present invention is not limited to the drawings.

100 : 클라이언트 단말 200 : 자원 관리 장치
210 : 송수신부 220 : 저장부
230 : 작업 분석부 240 : 키 선정부
250 : 작업 처리부 300 : 클라우드 컴퓨팅 시스템
400 : 네트워크
100: client terminal 200: resource management device
210: Transmitting / receiving unit 220:
230: task analysis unit 240: key selection unit
250: task processor 300: cloud computing system
400: Network

Claims (9)

자원 관리 장치에서 클라우드 컴퓨팅 시스템의 자원을 할당받을 수 있는 다수의 클라우드 API(Application Programming Interface) 키(Key)를 이용하여 클라이언트 단말이 요청한 작업에 대한 자원을 할당하는 방법으로서,
상기 클라이언트 단말로부터 작업을 요청받는 단계;
상기 작업에 필요한 자원량을 확인하는 단계;
상기 클라우드 컴퓨팅 시스템으로부터 제공받은 복수의 클라우드 API 키별로 할당 가능한 자원량이 기록된 테이블을 참조하여, 상기 확인한 자원량을 할당할 수 있는 다수의 클라우드 API 키를 선정하는 단계;
상기 선정한 다수의 클라우드 API 키를 이용하여 상기 클라우드 컴퓨팅 시스템으로 상기 확인한 자원량에 해당하는 자원 할당을 요청하여, 상기 클라우드 컴퓨팅 시스템의 자원을 할당받는 단계;
상기 할당받은 클라우드 자원을 이용하여 상기 클라이언트 단말이 요청한 작업을 실행시키는 단계; 및
상기 클라우드 컴퓨팅 시스템에서 할당받은 자원이 회수되면, 상기 회수된 자원을 재할당하기 위하여, 상기 테이블 중에서 상기 클라우드 API 키와 매핑된 사용 가능한 자원량 필드 및 할당 중인 자원량 필드의 데이터를 갱신하는 단계를 포함하는 자원 할당 방법.
A method for allocating resources for a task requested by a client terminal using a plurality of cloud API (Application Programming Interface) keys that can receive resources of a cloud computing system in a resource management device,
Receiving a job request from the client terminal;
Confirming the amount of resources required for the operation;
Selecting a plurality of cloud API keys capable of allocating the resource amount with reference to a table in which a resource amount allocable for each of a plurality of cloud API keys provided from the cloud computing system is recorded;
Requesting a resource allocation corresponding to the determined resource amount to the cloud computing system using the selected plurality of cloud API keys and allocating resources of the cloud computing system;
Executing a task requested by the client terminal using the allocated cloud resource; And
Updating the data of the available resource amount field and the allocated resource amount field mapped with the cloud API key in the table to reallocate the recovered resource when the resource allocated in the cloud computing system is recovered Resource allocation method.
삭제delete 제 1 항에 있어서,
상기 선정하는 단계는,
상기 테이블을 참조하여, 상기 확인한 자원량을 하나의 클라우드 API 키를 통해 할당할 수 있는지 여부를 판별하는 단계; 및
상기 판별 결과에 따라, 하나 또는 복수의 클라우드 API 키를 상기 확인한 자원량을 할당받기 위한 클라우드 API 키로서 선정하는 단계;를 포함하는 것을 특징으로 하는 자원 할당 방법.
The method according to claim 1,
Wherein the selecting comprises:
Determining whether the identified resource amount can be allocated through a single cloud API key by referring to the table; And
And selecting one or a plurality of cloud API keys as a cloud API key for receiving the determined resource amount according to the result of the determination.
제 1 항 또는 제 3 항 중 어느 한 항에 있어서,
상기 확인하는 단계는,
상기 작업에 필요한 자원량으로서, 가상 머신의 개수, 디스크 사용량, IP 사용 개수, 메모리 사용량, CPU 사용량 중에서 하나 이상을 확인하는 것을 특징으로 하는 자원 할당 방법.
4. The method according to any one of claims 1 to 3,
Wherein the verifying step comprises:
Wherein at least one of a number of virtual machines, a disk usage amount, an IP usage number, a memory usage amount, and a CPU usage amount is confirmed as a resource amount required for the job.
제 1 항 또는 제 3 항 중 어느 한 항에 있어서,
상기 확인하는 단계는,
상기 작업에 유형을 분석하고, 상기 분석한 작업의 유형에 근거하여 상기 작업에 필요한 자원량을 확인하는 것을 특징으로 하는 자원 할당 방법.
4. The method according to any one of claims 1 to 3,
Wherein the verifying step comprises:
Analyzing the type of the job, and checking the amount of resources required for the job based on the type of the analyzed job.
클라우드 컴퓨팅 시스템으로부터 제공받은 복수의 클라우드 API(Application Programming Interface) 키(Key)별로 할당 가능한 자원량이 기록된 테이블을 저장하는 저장부;
클라이언트 단말로부터 작업을 요청받는 수신부;
상기 작업에 필요한 자원량을 확인하는 작업 분석부;
상기 작업 분석부에 의해 확인된 자원량을 할당받을 수 있는 다수의 클라우드 API 키를 상기 저장부의 테이블에서 확인하여, 이렇게 확인한 다수의 클라우드 API 키를 상기 확인된 자원량을 할당받기 위한 클라우드 API 키로서 선정하는 키 선정부; 및
상기 선정한 다수의 클라우드 API 키를 이용하여 상기 확인된 자원량에 해당하는 자원을 상기 클라우드 컴퓨팅 시스템으로부터 할당받아, 이 할당받은 상기 클라우드 컴퓨팅 시스템의 자원을 이용하여 상기 클라이언트 단말이 요청한 작업을 실행시키는 작업 처리부;를 포함하고,
상기 작업 처리부는
상기 클라우드 컴퓨팅 시스템에서 할당받은 자원이 회수되면, 상기 회수된 자원을 재할당하기 위하여, 상기 테이블 중에서 상기 클라우드 API 키와 매핑된 사용 가능 자원량 필드 및 할당 중인 자원량 필드의 데이터를 갱신하는 자원 관리 장치.
A storage unit for storing a table in which a resource amount allocable for each of a plurality of cloud API (Application Programming Interface) keys provided from a cloud computing system is recorded;
A receiving unit for receiving a job request from a client terminal;
A task analyzer for checking the amount of resources required for the task;
A plurality of cloud API keys capable of being allocated resource amounts confirmed by the operation analysis unit are confirmed in the table of the storage unit and a plurality of cloud API keys thus confirmed are selected as cloud API keys for receiving the confirmed resource amount Key selection; And
A task processor for receiving a resource corresponding to the identified resource amount from the cloud computing system using the selected plurality of cloud API keys and executing a task requested by the client terminal using resources of the allocated cloud computing system, Lt; / RTI >
The operation processing unit
And updates the data of the available resource amount field and the allocated resource amount field mapped with the cloud API key in the table to reallocate the recovered resource when the resource allocated in the cloud computing system is recovered.
제 6 항에 있어서,
상기 키 선정부는,
상기 테이블을 참조하여, 상기 확인된 자원량을 하나의 클라우드 API 키를 통해 할당할 수 있는지 여부를 판별하고, 상기 판별 결과에 따라, 하나 또는 복수의 클라우드 API 키를 상기 확인된 자원량을 할당받기 위한 클라우드 API 키로서 선정하는 것을 특징으로 하는 자원 관리 장치.
The method according to claim 6,
The key selection unit,
Determining whether or not the identified resource amount can be allocated through a single cloud API key by referring to the table, and determining whether or not to allocate one or a plurality of cloud API keys to the cloud for receiving the identified resource amount according to the determination result, As an API key.
제 6 항 또는 제 7 항에 있어서,
상기 작업 분석부는,
상기 작업에 유형을 분석하고, 상기 분석한 작업의 유형에 근거하여 상기 작업에 필요한 자원량을 확인하는 것을 특징으로 하는 자원 관리 장치.
8. The method according to claim 6 or 7,
The job analyzing unit,
Analyzing the type of the job, and checking the amount of resources required for the job based on the analyzed type of the job.
삭제delete
KR20130032980A 2013-03-27 2013-03-27 Method for assigning resource using cloud application programming interface key and apparatus therefor KR101508273B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR20130032980A KR101508273B1 (en) 2013-03-27 2013-03-27 Method for assigning resource using cloud application programming interface key and apparatus therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20130032980A KR101508273B1 (en) 2013-03-27 2013-03-27 Method for assigning resource using cloud application programming interface key and apparatus therefor

Publications (2)

Publication Number Publication Date
KR20140117965A KR20140117965A (en) 2014-10-08
KR101508273B1 true KR101508273B1 (en) 2015-04-07

Family

ID=51990912

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20130032980A KR101508273B1 (en) 2013-03-27 2013-03-27 Method for assigning resource using cloud application programming interface key and apparatus therefor

Country Status (1)

Country Link
KR (1) KR101508273B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016047814A1 (en) * 2014-09-22 2016-03-31 주식회사 케이티 Resource allocation method using cloud api key, and apparatus therefor
KR101987661B1 (en) * 2018-07-19 2019-06-11 나무기술 주식회사 Cluster resource allocating and managing method on cloud platform

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005056201A (en) * 2003-08-05 2005-03-03 Hitachi Software Eng Co Ltd Heterogeneous hybrid computer connecting system and processing assignment method and charging method in same system
JP2005534116A (en) * 2002-07-25 2005-11-10 スフェラ コーポレイション A method for dynamically allocating and managing resources in a multi-consumer computer system.
WO2012015893A1 (en) 2010-07-29 2012-02-02 Apple Inc. Dynamic migration within a network storage system
KR20120069400A (en) * 2010-12-20 2012-06-28 주식회사 케이티 Application backup method in mobile platform

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005534116A (en) * 2002-07-25 2005-11-10 スフェラ コーポレイション A method for dynamically allocating and managing resources in a multi-consumer computer system.
JP2005056201A (en) * 2003-08-05 2005-03-03 Hitachi Software Eng Co Ltd Heterogeneous hybrid computer connecting system and processing assignment method and charging method in same system
WO2012015893A1 (en) 2010-07-29 2012-02-02 Apple Inc. Dynamic migration within a network storage system
KR20120069400A (en) * 2010-12-20 2012-06-28 주식회사 케이티 Application backup method in mobile platform

Also Published As

Publication number Publication date
KR20140117965A (en) 2014-10-08

Similar Documents

Publication Publication Date Title
US10164902B2 (en) Resource allocation method using cloud API key and apparatus therefor
US9590917B2 (en) Optimally provisioning and merging shared resources to maximize resource availability
US9639459B2 (en) I/O latency and IOPs performance in thin provisioned volumes
US20140214922A1 (en) Method of providing virtual machine and service gateway for real-time virtual desktop service
CN113228593B (en) Database system, method and medium for loading or unloading data from storage platform
US20130291118A1 (en) Protecting privacy data in mapreduce system
JP5488854B2 (en) Thin client system, access control method and access control program in thin client system
US11132290B2 (en) Locality domain-based memory pools for virtualized computing environment
US11119942B2 (en) Facilitating access to memory locality domain information
JP2014038364A (en) Resource management server, resource management method and resource management program
JP2015001828A (en) Allocation program, allocation device, and allocation method
US9584435B2 (en) Global cloud computing environment resource allocation with local optimization
US20160352821A1 (en) Method and system for allocating resources for virtual hosts
US20170052979A1 (en) Input/Output (IO) Request Processing Method and File Server
US20150163111A1 (en) Managing resources in a distributed computing environment
KR101508273B1 (en) Method for assigning resource using cloud application programming interface key and apparatus therefor
KR101386161B1 (en) Apparatus and method for managing compressed image file in cloud computing system
US9608930B1 (en) Allocating identifiers with minimal fragmentation
JP6418419B2 (en) Method and apparatus for hard disk to execute application code
US11429412B2 (en) Guest protection from application code execution in kernel mode
KR101754713B1 (en) Asymmetric distributed file system, apparatus and method for distribution of computation
KR101557113B1 (en) Resource management method for bio data analysis and apparatus therefor
KR101001035B1 (en) Method for assigning dynamically virtual ip in server based computing system of terminal environment and terminal server apparatus therefor
KR20170013592A (en) Appliance managing system based on hadoop
JP5294352B2 (en) Thin client system, session management apparatus, session management method and program

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