WO2016047814A1 - 클라우드 api 키를 이용한 자원 할당 방법 및 이를 위한 장치 - Google Patents

클라우드 api 키를 이용한 자원 할당 방법 및 이를 위한 장치 Download PDF

Info

Publication number
WO2016047814A1
WO2016047814A1 PCT/KR2014/008777 KR2014008777W WO2016047814A1 WO 2016047814 A1 WO2016047814 A1 WO 2016047814A1 KR 2014008777 W KR2014008777 W KR 2014008777W WO 2016047814 A1 WO2016047814 A1 WO 2016047814A1
Authority
WO
WIPO (PCT)
Prior art keywords
cloud
resource
resources
computing system
amount
Prior art date
Application number
PCT/KR2014/008777
Other languages
English (en)
French (fr)
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 PCT/KR2014/008777 priority Critical patent/WO2016047814A1/ko
Priority to US14/771,043 priority patent/US10164902B2/en
Publication of WO2016047814A1 publication Critical patent/WO2016047814A1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • H04L47/822Collecting or measuring resource availability data
    • 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/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/83Admission control; Resource allocation based on usage prediction

Definitions

  • the present invention relates to a technique for allocating resources of a cloud computing system, and more particularly, to allocate resources of a cloud computing system using a plurality of cloud application programming interface (API) keys that can be accessed by the cloud computing system.
  • the present invention relates to a resource allocation method for allocating a task and an apparatus therefor.
  • Cloud computing refers to a computer environment in which IT devices such as desktops, tablet computers, laptops, netbooks, and smartphones use server resources to store, download, or process their own files.
  • Cloud services using such cloud computing technology have been provided, and cloud service providers provide cloud services to users by implementing a system to enable users to use virtual cloud resources.
  • the following patent document discloses a cloud service providing method for providing a new communication channel.
  • cloud service providers provide users with cloud open APIs so that they can use cloud resources in an automated way through user-written programs.
  • cloud service providers issue one cloud API key per user's account that can use the cloud public API, and receive a work order from the user through the cloud API key to allocate cloud resources to the work. Process.
  • cloud service providers do not provide cloud resources to users indefinitely, and limit the amount of cloud resources available through cloud API keys to below a certain level.
  • a resource limit policy of the cloud service there is a problem that makes large-scale work impossible. For example, when a task requiring a large amount of resource allocation, such as a genome analysis task, is requested to the cloud computing system, the cloud computing system restricts resource allocation required for the genome analysis task according to a resource limit policy, and thus a user. Will not be able to perform large-scale tasks such as genomic analysis through cloud computing systems.
  • the present invention has been proposed to solve such a conventional problem, and allocates resources of a cloud computing system to a task using a plurality of cloud API keys so that a large amount of tasks can be processed in a cloud computing system where resource limits are set. Its purpose is to provide a resource allocation method and apparatus therefor.
  • a method for allocating a resource for a method includes: receiving a request for work from the client terminal; Identifying an amount of resources required for the operation; Selecting a plurality of cloud API keys that can be allocated the identified resource amount; Requesting resource allocation corresponding to the identified 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 the task requested by the client terminal by using the allocated cloud resource.
  • API application programming interface
  • a plurality of cloud API keys for allocating the identified resource amount may be selected by referring to a table in which resource amounts allocable for each of the plurality of cloud API keys provided from the cloud computing system are recorded.
  • the step of selecting may include determining, by referring to the table, whether the identified resource amount can be allocated through one cloud API key; And selecting one or a plurality of cloud API keys as cloud API keys for allocating the identified resource amount according to the determination result.
  • the step of determining, as the amount of resources required for the operation can check at least one of the number of virtual machines, disk usage, IP usage, memory usage, CPU usage, and also analyzes the type of the operation, Based on the type of work analyzed, the amount of resources required for the work can be identified.
  • a resource management apparatus stores a table storing a recordable resource amount for each of a plurality of Cloud API (Application Programming Interface) keys provided from a cloud computing system; part; Receiving unit for receiving a request from the client terminal; A job analysis unit for checking the amount of resources required for the job; Identifying a plurality of cloud API keys that can be allocated the resource amount identified by the job analysis unit in the table of the storage unit, and selecting the plurality of cloud API keys thus identified as cloud API keys for the allocation of the identified resource amount Key selection unit; And receiving a resource corresponding to the identified amount of resource from the cloud computing system using the selected plurality of cloud API keys, and executing a task requested by the client terminal using the allocated resource of the cloud computing system. It characterized in that it comprises a processing unit.
  • 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, thereby setting a resource limit policy in the cloud computing system. Even if it is, it has the advantage of being able to handle large amounts of work through cloud computing systems.
  • the present invention has the advantage of efficiently managing the resources of the cloud computing system by continuously using the cloud API key, the amount of resources that can be allocated.
  • the present invention executes a task using a plurality of cloud API keys, thereby not only inducing distributed processing of the task but also reducing the load of the cloud computing system.
  • FIG. 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.
  • FIG. 2 is a diagram illustrating a configuration of a resource management apparatus according to an embodiment of the present invention.
  • FIG. 3 is a diagram illustrating a key management table according to an embodiment of the present invention.
  • FIG. 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 embodiment of the present invention.
  • FIG. 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.
  • a resource allocation system includes a resource management apparatus 200 and a cloud computing system 300.
  • Each of the client terminal 100, the cloud computing system 300, and the resource management apparatus 200 communicate with each other through a network 400.
  • the network 400 includes a mobile communication network and a broadband wired communication network, the network 400 corresponds to well-known conventional techniques, and thus detailed description thereof will be omitted.
  • the cloud computing system 300 and the resource management device 200 may communicate directly through a dedicated line.
  • the client terminal 100 is a terminal owned by a user, and receives the resource of the cloud computing system 300 through the resource management apparatus 200.
  • the task is processed using the resources of the cloud computing system 300, not its own resources.
  • the client terminal 100 transmits to the resource management apparatus 200 a job request message in which information necessary for the job, that is, a job processing instruction, a storage location of data to be a job target, a storage location of a job result, and the like is recorded. do.
  • the client terminal 100 may be a desktop computer, a tablet computer, a notebook computer, a netbook, a smartphone, and the like, as long as the device can communicate with each of the resource management device 200 and the cloud computing system 300 through the network 400. Adoptable.
  • the cloud computing system 300 is a system for providing a cloud service to a user by using a resource thereof, and includes a plurality of cloud service servers and storage in which data is stored.
  • the cloud computing system 300 analyzes and processes a task requested by a user in cooperation with the resource management apparatus 200.
  • the cloud computing system 300 provides a plurality of cloud API keys to the resource management apparatus 200, and allocates the corresponding resources when the resource management apparatus 200 requests resource allocation based on the cloud API keys. Through this resource, a job requested from the resource management apparatus 200 is processed.
  • the cloud API key is a kind of authentication information that can be allocated the 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.
  • the cloud computing system 300 provides a plurality of cloud API keys to the resource management apparatus 200.
  • the cloud computing system 300 may be built for each operator, in which case each cloud computing system 300 communicates with the resource management device 200, and in addition to the plurality of cloud API keys to the resource management device 200 Provide each.
  • the resource management apparatus 200 When a task is requested from the client terminal 100, the resource management apparatus 200 receives a resource from the cloud computing system 300 using one or more cloud API keys, and performs the task through the allocated resource. .
  • FIG. 2 is a diagram illustrating a configuration of a resource management apparatus according to an embodiment of the present invention.
  • the resource management apparatus 200 includes a transceiver 210, a storage 220, a task analyzer 230, a key selector 240, and a task. It includes a processor 250.
  • the transceiver 210 performs a function of communicating with each of the client terminal 100 and the cloud computing system 300 via the network 400. In particular, the transceiver 210 receives a work request message from the client terminal 100.
  • the storage unit 220 stores a key management table in which resource amount information is recorded for each of the plurality of cloud API keys provided from the cloud computing system 300.
  • FIG. 3 is a diagram illustrating a key management table according to an embodiment of the present invention.
  • the key management table includes a key ID field 31, an available resource amount field 32, an allocating resource amount field 33, and a maximum resource amount field 34.
  • identification information of a cloud API key provided from the cloud computing system 300 is recorded.
  • the available resource amount field 32 records resource amount information that can be allocated from the cloud computing system 300 using the corresponding cloud API key.
  • resource amount information allocated from the cloud computing system 300 is recorded using the corresponding cloud API key.
  • the maximum resource amount field 34 records the maximum resource amount information that can be allocated from the cloud computing system 300 using a cloud API key.
  • the maximum resource amount field 34 may record the maximum resource amount information that may be substantially allocated through the cloud API key, or may deduct a certain ratio (eg, 30%) from the maximum resource amount that may be substantially allocated. Resource amount information may be recorded.
  • the number and disk usage information of a virtual machine (VM) are recorded as resource amount information.
  • 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.
  • the job analysis unit 230 When the job analysis unit 230 receives a job request message from the client terminal 100 through the transceiver 210, a function of analyzing a resource amount of the cloud computing system 300 required for the job received from the client terminal 100 is performed. Do this. That is, when the task analyzer 230 receives a task request from the client terminal 100 through the transceiver 210, the task analyzer 230 analyzes the task and checks the amount of resources of the cloud computing system 300 to be put into the task. At this time, the job analysis unit 230 confirms the type of the job by analyzing the job processing command included in the job request message, and confirms the amount of resources of the cloud computing system 300 required for the job based on the type of the job. .
  • the key selector 240 selects one or more cloud API keys that can be allocated the required amount of resources identified by the task analyzer 230. Specifically, the key selector 240 selects one or more cloud API keys that can be allocated the required amount of resources analyzed by the task analyzer 230 as cloud API keys of the client terminal 100, and selects one or more clouds. The API key is transferred to the task processor 250 so that the requested task is processed based on the cloud API key. Preferably, the key selector 240 selects one cloud API key that can cover the required resource amount as the cloud API key of the client terminal 100 when the necessary resource amount can be allocated through one cloud API key. . On the other hand, if it is impossible to allocate the required resource amount through one cloud API key, the key selector 240 selects a plurality of cloud API keys that can cover the required resource amount as cloud API keys of the client terminal 100. do.
  • the key selector 240 when the key selector 240 receives a plurality of cloud API keys from the cloud computing system 300, the identification information of each cloud API key is recorded in the key ID field 31, and through this cloud API key The maximum resource amount information that can be allocated is recorded in the maximum resource amount field 34.
  • the key selector 240 may record in the maximum resource amount field 34 with a policy limit on the amount of available resources from the cloud computing system 300.
  • the key selector 240 may be allocated 30 virtual machines and 300 gigabytes of disk usage through a cloud API key having 'Key1' identification information.
  • the maximum amount of available resources can be recorded in the maximum resource amount field 34 by using 70%, that is, 21 virtual machines and 210 gigabytes of disk usage.
  • the job processing unit 250 When the job processing unit 250 receives one or more cloud API keys from the key selecting unit 240, the cloud computing resource corresponding to the required amount of resources confirmed to the job analyzing unit 230 using the received one or more API keys. It is allocated from the system 300, and executes the work requested by the client terminal 100 using the resources of the cloud computing system 300. In this case, when the task processor 250 receives one or more cloud API keys, the task processor 250 requests resource allocation to the cloud computing system 300 using the respective cloud API keys. In addition, the job processing unit 250 allocates resources (eg, a job processing command, a storage location of data targeted for work, a storage location of a work result, etc.) necessary for a job in a job request message received from the client terminal 100. The cloud computing system 300 transmits the received work to the cloud computing system 300 and induces the work to be processed in the cloud computing system 300 based on the information.
  • resources eg, a job processing command, a storage location of data targeted for work, a storage location of a work result
  • the job processor 250 receives a resource from the cloud computing system 300 using one or more cloud API keys selected by the key selector 240, the job processor 250 is mapped with identification information of the selected one or more cloud APIs.
  • the key management table of the storage unit 220 is updated to reflect changes in the allocated resource amount information and the available resource amount information.
  • the task processing unit 250 may include the key management table of the storage 220 to reflect the changes to the recovered resources. Update the data. That is, the job processing unit 250 checks the cloud API key used to allocate the recovered resource, and uses the resource amount field 32 of the key management table mapped with the identification information of the cloud API key and the resource amount being allocated.
  • the data of the field 33 is updated to update the key management table of the storage unit 220 to the state before the resource is allocated.
  • FIG. 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 embodiment of the present invention.
  • the transceiver 210 receives a job request message from a client terminal 100 in which a job processing command, a storage location of data to be worked, and a storage location of a job result are recorded (S401).
  • the job analysis unit 230 checks the amount of resources of the cloud computing system 300 required for this job by analyzing the job requested from the client terminal 100 based on the information recorded in the job request message (S403). . That is, the job analysis unit 230 analyzes the job processing instructions recorded in the job request message, checks the type of this job, and based on the type of the job, the number of virtual machines, disk usage, memory usage, The amount of resources of the cloud computing system 300 such as CPU usage is checked.
  • the key selecting unit 240 determines whether the identified resource amount can be allocated using one cloud API key based on the data recorded in the key management table (S405). That is, the key selector 240 checks in the key management table of the storage unit 220 whether a cloud API key having a resource amount capable of allocating all the required resource amounts of the task exists.
  • the key selector 240 selects one cloud API key that can cover the resource amount as a cloud API key of the client terminal 100. (S407).
  • the key selector 240 selects a plurality of cloud API keys as the cloud API key of the client terminal 100 so that the resource amount is covered, if the identified resource amount cannot be allocated through one cloud API key (S409). ).
  • the job analysis unit 230 analyzes that the number of resources required for the job requested from the client terminal 100 is 10, the disk usage is 100 gigabytes, and the data recorded in the key management table is stored. If it is equal to 3, the key selector 240 selects Key1 that can cover both the number of the virtual machines and the disk usage of 100 gigabytes as the cloud API key of the client terminal 100. As another example, the job analysis unit 230 analyzes that the number of resources required for the job requested from the client terminal 100 is 20 virtual machines and 150 gigabytes of disk usage, and the data recorded in the key management table Referring to FIG.
  • the key selector 240 determines that the amount of resources required for the operation (that is, the number of virtual machines and the disk usage of 150 gigabytes) cannot be allocated through one cloud API key. Accordingly, a plurality of cloud API keys, Key1 and Key2 are selected as cloud API keys of the client terminal 100 so that the number of 20 virtual machines and 150 gigabytes of disk usage can be allocated.
  • the key selecting unit 240 delivers a plurality of cloud API keys selected by the job processing unit 250, thereby causing the job processing unit 250 to execute this. Instruct the job to be processed via the Cloud API key.
  • the job processing unit 250 is allocated from the cloud computing system 300 a resource corresponding to the amount of resources confirmed by the job analysis unit 230 using one or more cloud API keys received from the key selection unit 240 ( S411). That is, the job processing unit 250 connects to the cloud computing system 300 based on the one or more cloud API keys, and calculates the required resource amount (eg, the number of VMs, disk usage, etc.) of the job by the cloud computing system 300.
  • a resource corresponding to the required amount of resources is generated in the cloud computing system 300 to be allocated to a task requested by the client terminal 100.
  • the task processor 250 updates the key management table of the storage 220 to reflect the change to the allocated resource.
  • the job processing unit 250 extracts information (ie, a job processing command, a storage location of data to be a job target, a storage location of a job result, etc.) necessary for processing a job from the job request message received from the client terminal 100.
  • information ie, a job processing command, a storage location of data to be a job target, a storage location of a job result, etc.
  • the work requested from the client terminal 100 is processed through the resources of the allocated cloud computing system 300 (S413). That is, the job processor 250 transmits information required for job processing to the cloud computing system 300, and the cloud computing system 300 uses allocated resources (eg, a virtual machine, a CPU, a memory, a disk, etc.).
  • Data is extracted from a data storage location (eg, URI) that is a work target, the extracted data is analyzed through a job processing command, and the analyzed result is stored in a storage location of the work result.
  • the job processing completion message is transmitted to the client terminal 100 by the user of the client terminal 100 of the requested job Make sure that processing is complete.
  • the job processing unit 250 stores the key management table of the storage unit 220 so that changes to the recovered resources are reflected. Update the data.
  • the present invention selects one or more cloud API keys according to the amount of resources required for the operation, and allows the operation to be processed based on the selected cloud API key.
  • a resource limitation policy is set in the cloud computing system 300, a large amount of work is processed through the cloud computing system 300.
  • the present invention efficiently manages the resources of the cloud computing system 300 by continually using the cloud API key with the amount of allocable resources remaining.
  • the resource management apparatus 200 has been described as being separated from the cloud computing system 300, but the resource management apparatus 200 and the cloud computing system 300 may be integrated and implemented. Make it clear.
  • the method of the present invention as described above may be implemented as a program and stored in a recording medium (CD-ROM, RAM, ROM, floppy disk, hard disk, magneto-optical disk, etc.) in a computer-readable form. Since this process can be easily implemented by those skilled in the art will not be described in more detail.
  • a recording medium CD-ROM, RAM, ROM, floppy disk, hard disk, magneto-optical disk, etc.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 클라우드 컴퓨팅 시스템으로 접근할 수 있는 다수의 클라우드 API(Application Programming Interface) 키(key)를 이용하여 클라우드 컴퓨팅 시스템의 자원을 작업에 할당하는 자원 할당 방법 및 이를 위한 장치에 관한 것이다. 본 발명에 따른 자원 관리 장치에서 클라우드 컴퓨팅 시스템의 자원을 할당받을 수 있는 다수의 클라우드 API(Application Programming Interface) 키(Key)를 이용하여 클라이언트 단말이 요청한 작업에 대한 자원을 할당하는 방법은, 상기 클라이언트 단말로부터 작업을 요청받는 단계; 상기 작업에 필요한 자원량을 확인하는 단계; 상기 확인한 자원량을 할당받을 수 있는 다수의 클라우드 API 키를 선정하는 단계; 상기 선정한 다수의 클라우드 API 키를 이용하여 상기 클라우드 컴퓨팅 시스템으로 상기 확인한 자원량에 해당하는 자원 할당을 요청하여, 상기 클라우드 컴퓨팅 시스템의 자원을 할당받는 단계; 및 상기 할당받은 클라우드 자원을 이용하여 상기 클라이언트 단말이 요청한 작업을 실행시키는 단계를 포함한다.

Description

클라우드 API 키를 이용한 자원 할당 방법 및 이를 위한 장치
본 발명은 클라우드 컴퓨팅 시스템의 자원을 할당하는 기술에 관한 것으로서, 더욱 상세하게는 클라우드 컴퓨팅 시스템으로 접근할 수 있는 다수의 클라우드 API(Application Programming Interface) 키(key)를 이용하여 클라우드 컴퓨팅 시스템의 자원을 작업에 할당하는 자원 할당 방법 및 이를 위한 장치에 관한 것이다.
클라우드 컴퓨팅(cloud computing)은 데스크톱, 태블릿 컴퓨터, 노트북, 넷북, 스마트폰 등의 IT 기기 등이 서버의 자원을 이용하여 자신의 파일을 저장하거나 다운로드하거나 작업을 처리하는 컴퓨터 환경을 의미한다.
이러한 클라우드 컴퓨팅 기술을 이용한 클라우드 서비스가 제공되었으며, 클라우드 서비스 사업자들은 가상의 클라우드 자원을 사용자들이 이용할 수 있도록 시스템을 구현하여 클라우드 서비스를 사용자들에게 제공한다. 아래의 특허문헌은 새로운 커뮤니케이션 채널을 제공하기 위한 클라우드 서비스 제공 방법에 대해서 개시한다.
한편, 대부분의 클라우드 서비스 사업자들은 사용자가 직접 작성한 프로그램을 통해 자동화된 방법으로 클라우드 자원을 이용할 수 있도록, 클라우드 공개 API(Cloud Open API)를 사용자들에게 제공한다. 게다가, 클라우드 서비스 사업자들은, 클라우드 공개 API를 이용할 수 있는 클라우드 API 키(key)를 사용자의 계정당 하나씩 발급하여, 이 클라우드 API 키를 통해서 사용자로부터 작업 명령을 입력받아 이 작업에 클라우드 자원을 할당하여 처리한다.
그런데 클라우드 서비스 사업자들은 클라우드 자원을 사용자에게 무한정 제공하지 않고, 클라우드 API 키를 통해 사용할 수 있는 클라우드 자원량을 일정 수준 이하로 제한하고 있다. 하지만 이러한 클라우드 서비스의 자원량 제한 정책은, 대규모의 작업을 불가능하게 하는 문제점이 있다. 예컨대, 유전체 분석 작업과 같이 대용량의 자원 할당이 요구되는 작업이 클라우드 컴퓨팅 시스템으로 요청된 경우, 상기 클라우드 컴퓨팅 시스템은 자원 제한 정책에 따라, 상기 유전체 분석 작업에 필요한 자원 할당을 제한하고, 이에 따라 사용자는 유전체 분석 작업과 같은 대규모 작업을 클라우드 컴퓨팅 시스템을 통해 진행할 수 없게 된다.
본 발명은 이러한 종래의 문제점을 해결하기 위하여 제안된 것으로, 자원 제한이 설정된 클라우드 컴퓨팅 시스템에서 대규모의 작업을 처리할 수 있도록, 다수의 클라우드 API 키를 이용하여 클라우드 컴퓨팅 시스템의 자원을 작업에 할당하는 자원 할당 방법 및 이를 위한 장치를 제공하는데 그 목적이 있다.
본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있으며, 본 발명의 실시예에 의해 보다 분명하게 알게 될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
상기 목적을 달성하기 위한 본 발명의 제 1 측면에 따른, 자원 관리 장치에서 클라우드 컴퓨팅 시스템의 자원을 할당받을 수 있는 다수의 클라우드 API(Application Programming Interface) 키(Key)를 이용하여 클라이언트 단말이 요청한 작업에 대한 자원을 할당하는 방법은, 상기 클라이언트 단말로부터 작업을 요청받는 단계; 상기 작업에 필요한 자원량을 확인하는 단계; 상기 확인한 자원량을 할당받을 수 있는 다수의 클라우드 API 키를 선정하는 단계; 상기 선정한 다수의 클라우드 API 키를 이용하여 상기 클라우드 컴퓨팅 시스템으로 상기 확인한 자원량에 해당하는 자원 할당을 요청하여, 상기 클라우드 컴퓨팅 시스템의 자원을 할당받는 단계; 및 상기 할당받은 클라우드 자원을 이용하여 상기 클라이언트 단말이 요청한 작업을 실행시키는 단계를 포함하는 것을 특징으로 한다.
바람직하게, 상기 선정하는 단계는 상기 클라우드 컴퓨팅 시스템으로부터 제공받은 복수의 클라우드 API 키별로 할당 가능한 자원량이 기록된 테이블을 참조하여, 상기 확인한 자원량을 할당할 수 있는 다수의 클라우드 API 키를 선정한다.
더욱 바람직하게, 상기 선정하는 단계는 상기 테이블을 참조하여, 상기 확인한 자원량을 하나의 클라우드 API 키를 통해 할당할 수 있는지 여부를 판별하는 단계; 및 상기 판별 결과에 따라, 하나 또는 복수의 클라우드 API 키를 상기 확인한 자원량을 할당받기 위한 클라우드 API 키로서 선정하는 단계를 포함할 수 있다.
한편, 상기 확인하는 단계는, 상기 작업에 필요한 자원량으로서, 가상 머신의 개수, 디스크 사용량, IP 사용 개수, 메모리 사용량, CPU 사용량 중에서 하나 이상을 확인할 수 있으며, 또한 상기 작업에 유형을 분석하고, 상기 분석한 작업의 유형에 근거하여 상기 작업에 필요한 자원량을 확인할 수 있다.
상기 목적을 달성하기 위한 본 발명의 제 2 측면에 따른, 자원 관리 장치는 클라우드 컴퓨팅 시스템으로부터 제공받은 복수의 클라우드 API(Application Programming Interface) 키(Key)별로 할당 가능한 자원량이 기록된 테이블을 저장하는 저장부; 상기 클라이언트 단말로부터 작업을 요청받는 수신부; 상기 작업에 필요한 자원량을 확인하는 작업 분석부; 상기 작업 분석부에 의해 확인된 자원량을 할당받을 수 있는 다수의 클라우드 API 키를 상기 저장부의 테이블에서 확인하여, 이렇게 확인한 다수의 클라우드 API 키를 상기 확인된 자원량을 할당받기 위한 클라우드 API 키로서 선정하는 키 선정부; 및 상기 선정한 다수의 클라우드 API 키를 이용하여 상기 확인된 자원량에 해당하는 자원을 상기 클라우드 컴퓨팅 시스템으로부터 할당받아, 이 할당받은 상기 클라우드 컴퓨팅 시스템의 자원을 이용하여 상기 클라이언트 단말이 요청한 작업을 실행시키는 작업 처리부를 포함하는 것을 특징으로 한다.
본 발명은 클라이언트 단말로부터 작업이 요청되면, 이 작업에 필요한 자원량에 따라 하나 이상의 클라우드 API 키를 선정하고, 이렇게 선정한 클라우드 API 키를 토대로 상기 작업이 처리되게 함으로써, 클라우드 컴퓨팅 시스템에서 자원 제한 정책이 설정되어 있더라도 대규모의 작업을 클라우드 컴퓨팅 시스템을 통해 처리할 수 있는 장점이 있다.
게다가, 본 발명은 할당 가능한 자원량이 남아 있는 클라우드 API 키를 지속적으로 이용함으로써, 클라우드 컴퓨팅 시스템의 자원을 효율적으로 관리할 수 있는 장점이 있다.
또한, 본 발명은 다수의 클라우드 API 키를 이용하여 작업을 실행함으로써, 작업의 분산처리를 유도할 수 있을 뿐만 아니라 클라우드 컴퓨팅 시스템의 부하를 경감시키는 이점도 있다.
본 명세서에 첨부되는 다음의 도면들은 본 발명의 바람직한 실시예를 예시하는 것이며, 발명을 실시하기 위한 구체적인 내용과 함께 본 발명의 기술사상을 더욱 이해시키는 역할을 하는 것이므로, 본 발명은 그러한 도면에 기재된 사항에만 한정되어 해석되어서는 아니 된다.
도 1은 본 발명의 일 실시예에 따른, 클라우드 API 키를 이용하여 요청된 작업에 대한 자원을 할당하는 자원 할당 시스템의 구성을 나타내는 도면이다.
도 2는 본 발명의 일 실시예에 따른 자원 관리 장치의 구성을 나타내는 도면이다.
도 3은 본 발명의 일 실시예에 따른 키 관리 테이블을 나타내는 도면이다.
도 4는 본 발명의 일 실시예에 따른, 자원 관리 장치에서 다수의 클라우드 API 키를 이용하여 클라이언트 단말이 요청한 작업에 자원을 할당하는 방법을 설명하는 흐름도이다.
상술한 목적, 특징 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일 실시예를 상세히 설명하기로 한다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "…부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
도 1은 본 발명의 일 실시예에 따른, 클라우드 API 키를 이용하여 요청된 작업에 대한 자원을 할당하는 자원 할당 시스템의 구성을 나타내는 도면이다.
도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 자원 할당 시스템은 자원 관리 장치(200) 및 클라우드 컴퓨팅 시스템(300)을 포함한다.
상기 클라이언트 단말(100), 클라우드 컴퓨팅 시스템(300), 자원 관리 장치(200) 각각은 네트워크(400)를 통해 서로 통신한다. 상기 네트워크(400)는 이동통신망과 광대역 유선 통신망을 포함하는 것으로서 본 발명에 있어서, 주지의 관용 기술에 해당하므로 자세한 설명은 생략한다. 또한, 클라우드 컴퓨팅 시스템(300)과 자원 관리 장치(200)는 전용선을 통하여 다이렉트 통신할 수도 있다.
클라이언트 단말(100)은 사용자가 소유한 단말로서, 자원 관리 장치(200)를 통해 클라우드 컴퓨팅 시스템(300)의 자원을 할당받아. 자신의 자원이 아니라 클라우드 컴퓨팅 시스템(300)의 자원을 이용하여 상기 작업을 처리한다. 바람직하게, 클라이언트 단말(100)은 상기 작업에 필요한 정보, 즉 작업 처리 명령어, 작업 대상이 되는 데이터의 저장위치, 작업 결과물의 저장 위치 등이 기록된 작업 요청 메시지를 자원 관리 장치(200)로 전송한다. 이러한 클라이언트 단말(100)은 데스크톱 컴퓨터, 태블릿 컴퓨터, 노트북, 넷북, 스마트폰 등으로, 네트워크(400)를 통해 자원 관리 장치(200), 클라우드 컴퓨팅 시스템(300) 각각과 통신 가능한 장치라면 제한되지 않고 채택 가능하다.
클라우드 컴퓨팅 시스템(300)은 자신의 자원을 이용하여 사용자에게 클라우드 서비스를 제공하는 시스템으로서, 다수의 클라우드 서비스 서버 및 데이터가 저장되는 스토리지(storage)를 포함한다.
특히, 클라우드 컴퓨팅 시스템(300)은 자원 관리 장치(200)와 연동하여 사용자가 요청한 작업을 분석하고 처리한다. 구체적으로, 클라우드 컴퓨팅 시스템(300)은 자원 관리 장치(200)로 다수의 클라우드 API 키를 제공하고, 이 클라우드 API 키를 기반으로 자원 관리 장치(200)가 자원 할당을 요청하면 해당 자원을 할당하고 이 자원을 통해 자원 관리 장치(200)로부터 요청받은 작업을 처리한다. 상기 클라우드 API 키는 클라우드 컴퓨팅 시스템(300)의 자원을 할당받을 수 있는 일종의 인증정보로서, 클라우드 컴퓨팅 시스템(300)은 하나의 클라우드 API 키에 대해서 할당할 수 있는 자원량을 제한한다. 또한, 클라우드 컴퓨팅 시스템(300)은 자원 관리 장치(200)로 복수의 클라우드 API 키를 제공한다.
상기 클라우드 컴퓨팅 시스템(300)은 사업자별로 구축될 수 있으며, 이 경우 각각의 클라우드 컴퓨팅 시스템(300)은 자원 관리 장치(200)와 통신하며, 더불어 자원 관리 장치(200)로 다수의 클라우드 API 키를 각각 제공한다.
자원 관리 장치(200)는 클라이언트 단말(100)로부터 작업이 요청되면, 하나 이상의 클라우드 API 키를 이용하여 클라우드 컴퓨팅 시스템(300)으로부터 자원을 할당받아, 이 할당받은 자원을 통해 상기 작업이 수행되게 한다.
도 2는 본 발명의 일 실시예에 따른 자원 관리 장치의 구성을 나타내는 도면이다.
도 2에 도시된 바와 같이, 본 발명의 일 실시예에 따른 자원 관리 장치(200)는 송수신부(210), 저장부(220), 작업 분석부(230), 키 선정부(240) 및 작업 처리부(250)를 포함한다.
송수신부(210)는 네트워크(400)를 경유하여 클라이언트 단말(100), 클라우드 컴퓨팅 시스템(300) 각각과 통신하는 기능을 수행한다. 특히, 송수신부(210)는 클라이언트 단말(100)로부터 작업 요청 메시지를 수신한다.
저장부(220)는 클라우드 컴퓨팅 시스템(300)으로부터 제공받은 다수의 클라우드 API 키별로 자원량 정보가 기록된 키 관리 테이블을 저장한다.
도 3은 본 발명의 일 실시예에 따른 키 관리 테이블을 나타내는 도면이다.
도 3을 참조하면, 키 관리 테이블은 키 ID 필드(31), 사용 가능 자원량 필드(32), 할당중인 자원량 필드(33) 및 최대 자원량 필드(34)를 포함한다.
키 ID 필드(31)에는 클라우드 컴퓨팅 시스템(300)으로부터 제공받은 클라우드 API 키의 식별정보가 기록된다. 또한, 사용 가능 자원량 필드(32)에는 해당 클라우드 API 키를 이용하여 클라우드 컴퓨팅 시스템(300)으로부터 할당받을 수 있는 자원량 정보가 기록된다. 게다가, 할당중인 자원량 필드(33)에는 해당 클라우드 API 키를 이용하여 클라우드 컴퓨팅 시스템(300)으로부터 할당받고 있는 자원량 정보가 기록된다. 또한, 최대 자원량 필드(34)에는 클라우드 API 키를 이용하여 클라우드 컴퓨팅 시스템(300)으로부터 할당받을 수 있는 최대 자원량 정보가 기록된다. 상기 최대 자원량 필드(34)에는 클라우드 API 키를 통해 실질적으로 할당받을 수 있는 최대 자원량 정보가 기록될 수 있고, 또는 실질적으로 할당받을 수 있는 최대 자원량에서 일정한 비율(예컨대, 30%)을 차감한 정책적인 자원량 정보가 기록될 수 있다.
한편, 도 3에서의 사용 가능 자원량 필드(32), 할당중인 자원량 필드(33) 및 최대 자원량 필드(34)에는 자원량 정보로서 가상 머신(VM : Virtual Machine)의 개수와 디스크 사용량 정보가 기록되었으나, CPU 사용량 정보, 메모리 사용량 정보, IP 개수 정보 등의 정보가 상기 사용 가능 자원량 필드(32), 할당중인 자원량 필드(33) 및 최대 자원량 필드(34)에 각각 기록될 수도 있다.
작업 분석부(230)는 송수신부(210)를 통해 클라이언트 단말(100)로부터 작업 요청 메시지를 수신하면, 클라이언트 단말(100)로부터 요청받은 작업에 필요한 클라우드 컴퓨팅 시스템(300)의 자원량을 분석하는 기능을 수행한다. 즉, 작업 분석부(230)는 송수신부(210)를 통해 클라이언트 단말(100)로부터 작업을 요청받으면, 이 작업을 분석하고 이 작업에 투입되어야 하는 클라우드 컴퓨팅 시스템(300)의 자원량을 확인한다. 이때, 작업 분석부(230)는 작업 요청 메시지에 포함된 작업 처리 명령어를 분석하여 작업의 유형을 확인하고, 이 작업의 유형에 근거하여 상기 작업에 필요한 클라우드 컴퓨팅 시스템(300)의 자원량을 확인한다.
키 선정부(240)는 작업 분석부(230)에 의해 확인된 필요 자원량을 할당받을 수 있는 하나 이상의 클라우드 API 키를 선정하는 기능을 수행한다. 구체적으로, 키 선정부(240)는 작업 분석부(230)에 의해 분석된 필요 자원량을 할당받을 수 있는 하나 이상의 클라우드 API 키를 클라이언트 단말(100)의 클라우드 API 키로 선정하고, 이렇게 선정한 하나 이상의 클라우드 API 키를 작업 처리부(250)로 전달하여 이 클라우드 API 키를 기반으로 요청된 작업이 처리되게 한다. 바람직하게, 키 선정부(240)는 상기 필요 자원량을 하나의 클라우드 API 키를 통해 할당이 가능하면 상기 필요 자원량을 커버할 수 있는 하나의 클라우드 API 키를 클라이언트 단말(100)의 클라우드 API 키로 선정한다. 반면에, 키 선정부(240)는 상기 필요 자원량을 하나의 클라우드 API 키를 통해 할당이 불가능하면, 상기 필요 자원량을 커버할 수 있는 복수의 클라우드 API 키를 클라이언트 단말(100)의 클라우드 API 키로 선정한다.
한편, 키 선정부(240)는 클라우드 컴퓨팅 시스템(300)으로부터 다수의 클라우드 API 키를 제공받으면, 각 클라우드 API 키의 식별정보를 키 ID 필드(31)에 기록하고, 더불어 이 클라우드 API 키를 통해 할당받을 수 있는 최대 자원량 정보를 최대 자원량 필드(34)에 기록한다. 바람직하게, 키 선정부(240)는 클라우드 컴퓨팅 시스템(300)으로부터 사용 가능 자원량에 정책적인 제한을 두어 최대 자원량 필드(34)에 기록할 수 있다. 예컨대, 키 선정부(240)는 'Key1'의 식별정보를 가지는 클라우드 API 키를 통해 30개의 가상 머신과 300 기가바이트의 디스크 사용량을 할당받을 수 있으나, 보다 원활한 작업 처리를 진행하기 위하여, 자원량의 70% 즉, 21개의 가상 머신과 210 기가바이트의 디스크 사용량을 최대로 사용 가능한 자원량을 설정하여 최대 자원량 필드(34)에 기록할 수 있다.
작업 처리부(250)는 키 선정부(240)로부터 하나 이상의 클라우드 API 키를 전달받으면, 이 전달받은 하나 이상의 API 키를 이용하여 상기 작업 분석부(230)에 확인한 필요 자원량에 해당하는 자원을 클라우드 컴퓨팅 시스템(300)으로부터 할당받고, 이 클라우드 컴퓨팅 시스템(300)의 자원을 이용하여 클라이언트 단말(100)이 요청한 작업을 실행시킨다. 이때, 작업 처리부(250)는 하나 이상의 클라우드 API 키를 전달받은 경우, 각각의 클라우드 API 키를 이용하여 클라우드 컴퓨팅 시스템(300)으로 자원 할당을 요청한다. 아울러, 작업 처리부(250)는 클라이언트 단말(100)로부터 수신된 작업 요청 메시지에서 작업에 필요한 정보(즉, 작업 처리 명령어, 작업 대상이 되는 데이터의 저장위치, 작업 결과물의 저장 위치 등)를 자원 할당받은 클라우드 컴퓨팅 시스템(300)로 전송하여, 이 정보를 토대로 클라우드 컴퓨팅 시스템(300)에서 상기 작업이 처리되게 유도한다.
또한, 작업 처리부(250)는 키 선정부(240)에서 선정한 하나 이상의 클라우드 API 키를 이용하여 클라우드 컴퓨팅 시스템(300)으로부터 자원을 할당받은 경우, 상기 선정된 하나 이상의 클라우드 API의 식별정보와 매핑된 할당중인 자원량 정보 및 사용 가능 자원량 정보에 대한 변동 사항이 반영되도록, 저장부(220)의 키 관리 테이블을 갱신한다. 게다가, 작업 처리부(250)는 클라우드 컴퓨팅 시스템(300)에서 작업이 완료되어 이 작업에 할당된 자원이 회수되면, 상기 회수된 자원에 대한 변동사항이 반영되도록 저장부(220)의 키 관리 테이블의 데이터를 갱신한다. 즉, 작업 처리부(250)는 상기 회수된 자원을 할당하기 위해 이용된 클라우드 API 키를 확인하고, 이 클라우드 API 키의 식별정보와 매핑된 키 관리 테이블의 사용 가능 자원량 필드(32) 및 할당중인 자원량 필드(33)의 데이터를 갱신하여, 상기 자원이 할당되기 전의 상태로 저장부(220)의 키 관리 테이블을 갱신한다.
도 4는 본 발명의 일 실시예에 따른, 자원 관리 장치에서 다수의 클라우드 API 키를 이용하여 클라이언트 단말이 요청한 작업에 자원을 할당하는 방법을 설명하는 흐름도이다.
도 4를 참조하면, 송수신부(210)는 작업 처리 명령어, 작업 대상이 되는 데이터의 저장위치, 작업 결과물의 저장 위치 등이 기록된 작업 요청 메시지를 클라이언트 단말(100)로부터 수신한다(S401).
그러면, 작업 분석부(230)는 상기 작업 요청 메시지에 기록된 정보를 토대로, 클라이언트 단말(100)로부터 요청받은 작업을 분석하여 이 작업에 필요한 클라우드 컴퓨팅 시스템(300)의 자원량을 확인한다(S403). 즉, 작업 분석부(230)는 작업 요청 메시지에 기록된 작업 처리 명령어를 분석하여, 이 작업의 유형을 확인하고 이 작업의 유형에 근거하여 상기 작업에 필요한 가상 머신 개수, 디스크 사용량, 메모리 사용량, CPU 사용량 등의 클라우드 컴퓨팅 시스템(300)의 자원량을 확인한다.
이어서, 키 선정부(240)는 키 관리 테이블에 기록된 데이터를 토대로, 상기 확인한 자원량을 하나의 클라우드 API 키를 이용하여 할당이 가능한지 여부를 판별한다(S405). 즉, 키 선정부(240)는 상기 작업의 필요 자원량 모두를 할당할 수 있는 자원량을 가지는 클라우드 API 키가 존재하는지 여부를 저장부(220)의 키 관리 테이블에서 확인한다.
다음으로, 키 선정부(240)는 상기 확인한 자원량을 하나의 클라우드 API 키를 통해 할당이 가능하면, 상기 자원량을 커버할 수 있는 하나의 클라우드 API 키를 클라이언트 단말(100)의 클라우드 API 키로 선정한다(S407).
반면에, 키 선정부(240)는 상기 확인한 자원량을 하나의 클라우드 API 키를 통해 할당이 불가능하면, 상기 자원량이 커버되도록 복수의 클라우드 API 키를 클라이언트 단말(100)의 클라우드 API 키로 선정한다(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 키로 선정한다.
이렇게, 키 선정부(240)는 클라이언트 단말(100)에 대한 클라우드 API 키의 선정이 완료되면, 작업 처리부(250)로 선정한 다수의 클라우드 API 키를 전달하여, 상기 작업 처리부(250)로 하여금 이 클라우드 API 키를 통해 작업이 처리되게 지시한다.
그러면, 작업 처리부(250)는 키 선정부(240)로부터 전달받은 하나 이상의 클라우드 API 키를 이용하여 상기 작업 분석부(230)에 확인한 자원량에 해당하는 자원을 클라우드 컴퓨팅 시스템(300)으로부터 할당받는다(S411). 즉, 작업 처리부(250)는 상기 하나 이상의 클라우드 API 키를 기반으로 클라우드 컴퓨팅 시스템(300)으로 접속하고, 상기 작업의 필요 자원량(예컨대, VM 개수, 디스크 사용량 등)을 상기 클라우드 컴퓨팅 시스템(300)으로 요청하여, 상기 클라우드 컴퓨팅 시스템(300)에서 상기 필요 자원량에 해당하는 자원이 생성되어 클라이언트 단말(100)이 요청한 작업에 할당되게 한다. 바람직하게, 작업 처리부(250)는 요청된 자원이 클라우드 컴퓨팅 시스템(300)에 의해 할당되면, 이 할당된 자원에 대한 변경사항이 반영되도록 저장부(220)의 키 관리 테이블을 갱신한다.
아울러, 작업 처리부(250)는 클라이언트 단말(100)로부터 수신된 작업 요청 메시지에서 작업처리에 필요한 정보(즉, 작업 처리 명령어, 작업 대상이 되는 데이터의 저장위치, 작업 결과물의 저장 위치 등)를 추출하여 필요 자원량을 할당한 클라우드 컴퓨팅 시스템(300)으로 전송함으로써, 클라이언트 단말(100)로부터 요청받은 작업이 상기 할당된 클라우드 컴퓨팅 시스템(300)의 자원을 통해 처리되게 한다(S413). 즉, 작업 처리부(250)는 작업처리에 필요한 정보를 클라우드 컴퓨팅 시스템(300)으로 전달하고, 클라우드 컴퓨팅 시스템(300)은 할당한 자원(예컨대, 가상 머신, CPU, 메모리, 디스크 등)을 이용하여, 작업 대상이 되는 데이터 저장위치(예컨대, URI)에서 데이터를 추출하고, 이렇게 추출한 데이터를 작업 처리 명령어를 통해 분석하고, 분석된 결과물을 작업 결과물의 저장 위치에 저장한다.
한편, 작업 처리부(250)는 클라우드 컴퓨팅 시스템(300)으로부터 작업 처리가 완료되었음을 보고받으면, 이 작업 처리 완료 메시지를 클라이언트 단말(100)로 전송하여 클라이언트 단말(100)의 사용자로 하여금 요청된 작업의 처리가 완료되었음을 인지되게 한다. 또한, 작업 처리부(250)는 클라우드 컴퓨팅 시스템(300)에서 작업 처리가 완료되어 이 작업에 할당된 자원이 회수되면, 상기 회수된 자원에 대한 변동사항이 반영되도록 저장부(220)의 키 관리 테이블의 데이터를 갱신한다.
상술한 바와 같이, 본 발명은 클라이언트 단말(100)로부터 작업이 요청되면, 이 작업에 필요한 자원량에 따라 하나 이상의 클라우드 API 키를 선정하고, 이렇게 선정된 클라우드 API 키를 토대로 상기 작업이 처리되게 함으로써, 클라우드 컴퓨팅 시스템(300)에서 자원 제한 정책이 설정되어 있더라고 대규모의 작업을 클라우드 컴퓨팅 시스템(300)을 통해 처리하게 한다. 게다가, 본 발명은 할당 가능한 자원량이 남아 있는 클라우드 API 키를 지속적으로 이용하여 클라우드 컴퓨팅 시스템(300)의 자원을 효율적으로 관리한다.
한편, 상술한 실시예에서, 자원 관리 장치(200)가 클라우드 컴퓨팅 시스템(300)과 분리된 것으로 설명하였지만, 상기 자원 관리 장치(200)와 클라우드 컴퓨팅 시스템(300)이 통합되어 구현될 수 있음을 분명히 해 둔다.
본 명세서는 많은 특징을 포함하는 반면, 그러한 특징은 본 발명의 범위 또는 특허청구범위를 제한하는 것으로 해석되어서는 안 된다. 또한, 본 명세서에서 개별적인 실시예에서 설명된 특징들은 단일 실시예에서 결합되어 구현될 수 있다. 반대로, 본 명세서에서 단일 실시예에서 설명된 다양한 특징들은 개별적으로 다양한 실시예에서 구현되거나, 적절히 결합되어 구현될 수 있다.
도면에서 동작들이 특정한 순서로 설명되었으나, 그러한 동작들이 도시된 바와 같은 특정한 순서로 수행되는 것으로, 또는 일련의 연속된 순서, 또는 원하는 결과를 얻기 위해 모든 설명된 동작이 수행되는 것으로 이해되어서는 안 된다. 특정 환경에서 멀티태스킹 및 병렬 프로세싱이 유리할 수 있다. 아울러, 상술한 실시예에서 다양한 시스템 구성요소의 구분은 모든 실시예에서 그러한 구분을 요구하지 않는 것으로 이해되어야 한다. 상술한 프로그램 구성요소 및 시스템은 일반적으로 단일 소프트웨어 제품 또는 멀티플 소프트웨어 제품에 패키지로 구현될 수 있다.
상술한 바와 같은 본 발명의 방법은 프로그램으로 구현되어 컴퓨터로 읽을 수 있는 형태로 기록매체(시디롬, 램, 롬, 플로피 디스크, 하드 디스크, 광자기 디스크 등)에 저장될 수 있다. 이러한 과정은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있으므로 더 이상 상세히 설명하지 않기로 한다.
이상에서 설명한 본 발명은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다.

Claims (9)

  1. 자원 관리 장치에서 클라우드 컴퓨팅 시스템의 자원을 할당받을 수 있는 다수의 클라우드 API(Application Programming Interface) 키(Key)를 이용하여 클라이언트 단말이 요청한 작업에 대한 자원을 할당하는 방법으로서,
    상기 클라이언트 단말로부터 작업을 요청받는 단계;
    상기 작업에 필요한 자원량을 확인하는 단계;
    상기 확인한 자원량을 할당받을 수 있는 다수의 클라우드 API 키를 선정하는 단계;
    상기 선정한 다수의 클라우드 API 키를 이용하여 상기 클라우드 컴퓨팅 시스템으로 상기 확인한 자원량에 해당하는 자원 할당을 요청하여, 상기 클라우드 컴퓨팅 시스템의 자원을 할당받는 단계; 및
    상기 할당받은 클라우드 자원을 이용하여 상기 클라이언트 단말이 요청한 작업을 실행시키는 단계;를 포함하는 자원 할당 방법.
  2. 제 1 항에 있어서,
    상기 선정하는 단계는,
    상기 클라우드 컴퓨팅 시스템으로부터 제공받은 복수의 클라우드 API 키별로 할당 가능한 자원량이 기록된 테이블을 참조하여, 상기 확인한 자원량을 할당할 수 있는 다수의 클라우드 API 키를 선정하는 것을 특징으로 하는 자원 할당 방법.
  3. 제 2 항에 있어서,
    상기 선정하는 단계는,
    상기 테이블을 참조하여, 상기 확인한 자원량을 하나의 클라우드 API 키를 통해 할당할 수 있는지 여부를 판별하는 단계; 및
    상기 판별 결과에 따라, 하나 또는 복수의 클라우드 API 키를 상기 확인한 자원량을 할당받기 위한 클라우드 API 키로서 선정하는 단계;를 포함하는 것을 특징으로 하는 자원 할당 방법.
  4. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    상기 확인하는 단계는,
    상기 작업에 필요한 자원량으로서, 가상 머신의 개수, 디스크 사용량, IP 사용 개수, 메모리 사용량, CPU 사용량 중에서 하나 이상을 확인하는 것을 특징으로 하는 자원 할당 방법.
  5. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    상기 확인하는 단계는,
    상기 작업에 유형을 분석하고, 상기 분석한 작업의 유형에 근거하여 상기 작업에 필요한 자원량을 확인하는 것을 특징으로 하는 자원 할당 방법.
  6. 클라우드 컴퓨팅 시스템으로부터 제공받은 복수의 클라우드 API(Application Programming Interface) 키(Key)별로 할당 가능한 자원량이 기록된 테이블을 저장하는 저장부;
    상기 클라이언트 단말로부터 작업을 요청받는 수신부;
    상기 작업에 필요한 자원량을 확인하는 작업 분석부;
    상기 작업 분석부에 의해 확인된 자원량을 할당받을 수 있는 다수의 클라우드 API 키를 상기 저장부의 테이블에서 확인하여, 이렇게 확인한 다수의 클라우드 API 키를 상기 확인된 자원량을 할당받기 위한 클라우드 API 키로서 선정하는 키 선정부; 및
    상기 선정한 다수의 클라우드 API 키를 이용하여 상기 확인된 자원량에 해당하는 자원을 상기 클라우드 컴퓨팅 시스템으로부터 할당받아, 이 할당받은 상기 클라우드 컴퓨팅 시스템의 자원을 이용하여 상기 클라이언트 단말이 요청한 작업을 실행시키는 작업 처리부;를 포함하는 자원 관리 장치.
  7. 제 6 항에 있어서,
    상기 키 선정부는,
    상기 테이블을 참조하여, 상기 확인된 자원량을 하나의 클라우드 API 키를 통해 할당할 수 있는지 여부를 판별하고, 상기 판별 결과에 따라, 하나 또는 복수의 클라우드 API 키를 상기 확인된 자원량을 할당받기 위한 클라우드 API 키로서 선정하는 것을 특징으로 하는 자원 관리 장치.
  8. 제 6 항 또는 제 7 항에 있어서,
    상기 작업 분석부는,
    상기 작업에 유형을 분석하고, 상기 분석한 작업의 유형에 근거하여 상기 작업에 필요한 자원량을 확인하는 것을 특징으로 하는 자원 관리 장치.
  9. 제 6 항 또는 제 7 항에 있어서,
    상기 작업 처리부는,
    상기 클라우드 컴퓨팅 시스템에서 자원이 할당되거나 할당된 자원이 회수되면, 상기 저장부의 테이블에 기록된 할당 가능한 자원량을 갱신하는 것을 특징으로 하는 자원 관리 장치.
PCT/KR2014/008777 2014-09-22 2014-09-22 클라우드 api 키를 이용한 자원 할당 방법 및 이를 위한 장치 WO2016047814A1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/KR2014/008777 WO2016047814A1 (ko) 2014-09-22 2014-09-22 클라우드 api 키를 이용한 자원 할당 방법 및 이를 위한 장치
US14/771,043 US10164902B2 (en) 2014-09-22 2014-09-22 Resource allocation method using cloud API key and apparatus therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/KR2014/008777 WO2016047814A1 (ko) 2014-09-22 2014-09-22 클라우드 api 키를 이용한 자원 할당 방법 및 이를 위한 장치

Publications (1)

Publication Number Publication Date
WO2016047814A1 true WO2016047814A1 (ko) 2016-03-31

Family

ID=55581329

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2014/008777 WO2016047814A1 (ko) 2014-09-22 2014-09-22 클라우드 api 키를 이용한 자원 할당 방법 및 이를 위한 장치

Country Status (2)

Country Link
US (1) US10164902B2 (ko)
WO (1) WO2016047814A1 (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10069869B2 (en) 2016-05-17 2018-09-04 Amazon Technologies, Inc. Versatile autoscaling
US9900302B2 (en) 2016-06-22 2018-02-20 FinancialForce.com, Inc. Seamless authentication for an application development platform
US10984359B2 (en) 2016-06-23 2021-04-20 FinancialForce.com, Inc. Combining batch and queueable technologies in a salesforce platform for large volume parallel processing
US10379773B2 (en) * 2016-08-29 2019-08-13 International Business Machines Corporation Storage unit for use in a dispersed storage network
US10496741B2 (en) 2016-09-21 2019-12-03 FinancialForce.com, Inc. Dynamic intermediate templates for richly formatted output
US10412022B1 (en) * 2016-10-19 2019-09-10 Amazon Technologies, Inc. On-premises scaling using a versatile scaling service and an application programming interface management service
US10409642B1 (en) 2016-11-22 2019-09-10 Amazon Technologies, Inc. Customer resource monitoring for versatile scaling service scaling policy recommendations
US11038689B2 (en) 2018-03-01 2021-06-15 FinancialForce.com, Inc. Efficient block chain generation
US10846481B2 (en) 2018-06-29 2020-11-24 FinancialForce.com, Inc. Method and system for bridging disparate platforms to automate a natural language interface
US11200143B2 (en) 2019-01-08 2021-12-14 FinancialForce.com, Inc. Software development framework for a cloud computing platform
US10922485B2 (en) 2019-07-10 2021-02-16 FinancialForce.com, Inc. Platform interpretation of user input converted into standardized input
CN115189999B (zh) * 2022-07-20 2023-08-22 贵州电网有限责任公司 用于对云计算服务进行管理的系统及方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005056201A (ja) * 2003-08-05 2005-03-03 Hitachi Software Eng Co Ltd 異種混合計算機接続システム及びシステムにおける処理割り当て方法及び課金方法
JP2005534116A (ja) * 2002-07-25 2005-11-10 スフェラ コーポレイション 複数の消費者をもつコンピュータシステムで資源を動的に割当てて管理する方法
KR20070088099A (ko) * 2006-02-24 2007-08-29 삼성전자주식회사 다중 자바 어플리케이션 환경에서 가상 아이디를 이용하여자원을 관리하는 장치 및 그 방법
KR20120069400A (ko) * 2010-12-20 2012-06-28 주식회사 케이티 모바일 플랫폼에서의 어플리케이션 보관 방법
KR20140117965A (ko) * 2013-03-27 2014-10-08 주식회사 케이티 클라우드 api 키를 이용한 자원 할당 방법 및 이를 위한 장치

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120210436A1 (en) * 2011-02-14 2012-08-16 Alan Rouse System and method for fingerprinting in a cloud-computing environment
US8981938B2 (en) * 2012-03-08 2015-03-17 Linquet Technologies, Inc. Comprehensive system and method of universal real-time linking of real objects to a machine, network, internet, or software service
US9027108B2 (en) * 2012-05-23 2015-05-05 Box, Inc. Systems and methods for secure file portability between mobile applications on a mobile device

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005534116A (ja) * 2002-07-25 2005-11-10 スフェラ コーポレイション 複数の消費者をもつコンピュータシステムで資源を動的に割当てて管理する方法
JP2005056201A (ja) * 2003-08-05 2005-03-03 Hitachi Software Eng Co Ltd 異種混合計算機接続システム及びシステムにおける処理割り当て方法及び課金方法
KR20070088099A (ko) * 2006-02-24 2007-08-29 삼성전자주식회사 다중 자바 어플리케이션 환경에서 가상 아이디를 이용하여자원을 관리하는 장치 및 그 방법
KR20120069400A (ko) * 2010-12-20 2012-06-28 주식회사 케이티 모바일 플랫폼에서의 어플리케이션 보관 방법
KR20140117965A (ko) * 2013-03-27 2014-10-08 주식회사 케이티 클라우드 api 키를 이용한 자원 할당 방법 및 이를 위한 장치

Also Published As

Publication number Publication date
US10164902B2 (en) 2018-12-25
US20160173411A1 (en) 2016-06-16

Similar Documents

Publication Publication Date Title
WO2016047814A1 (ko) 클라우드 api 키를 이용한 자원 할당 방법 및 이를 위한 장치
US8863138B2 (en) Application service performance in cloud computing
US8788668B2 (en) Information processing apparatus, information processing system, setting program transmission method and server setting program
US10585806B2 (en) Associating cache memory with a work process
US20190250946A1 (en) Migrating a software container taking into account resource constraints
US10678581B2 (en) Methods and apparatus to select virtualization environments during deployment
US9588787B2 (en) Runtime virtual process creation for load sharing
CN108667859A (zh) 一种实现资源调度的方法及装置
EP3706368A1 (en) Method and device for deploying virtualized network element device
WO2012121482A2 (ko) 클라우드 스토리지 시스템의 데이터 암호화 처리 장치 및 방법
US7539987B1 (en) Exporting unique operating system features to other partitions in a partitioned environment
US10896067B2 (en) Determining the cost of container-based workloads
US20100064301A1 (en) Information processing device having load sharing function
WO2014208909A1 (ko) 시뮬레이션 장치 및 분산 시뮬레이션 시스템
US9141431B1 (en) System and method for prioritizing on access scan and on demand scan tasks
US8024797B2 (en) Method, apparatus and system for performing access control and intrusion detection on encrypted data
WO2013027922A1 (ko) 클라우드 컴퓨팅 시스템의 압축 이미지 파일 관리 장치 및 방법
WO2021095943A1 (ko) 서비스 프로파일을 고려한 컨테이너의 배치 방법
US9088569B2 (en) Managing access to a shared resource using client access credentials
KR101508273B1 (ko) 클라우드 api 키를 이용한 자원 할당 방법 및 이를 위한 장치
WO2012087053A2 (ko) 무선 네트워크 연결 장치 및 방법
US10261921B2 (en) Universal secure platform virtualization system and method thereof
US20160266932A1 (en) Allocation of large scale processing job processes to host computing systems
KR101557113B1 (ko) 바이오 데이터 분석을 위한 자원 관리 방법 및 이를 위한 장치
WO2018101547A1 (ko) 자원 획득 방법

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 14771043

Country of ref document: US

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14902468

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 07/07/17)

122 Ep: pct application non-entry in european phase

Ref document number: 14902468

Country of ref document: EP

Kind code of ref document: A1